Winery’s Module Structure

OUTDATED

This section provides a short overview on all projects Winery consists of.

org.eclipse.winery.common

This project contains classes used by the repository and topology modeler projects. It contains constants, the id system, interface definitions for repository access and the datatype to manage Winery’s extended key/value properties.

org.eclipse.winery.highlevelrestapi

This project contains an API to communicate with REST services. It provides an abstraction layer above Apache Commons HTTPClient. It is used by projects generated by the IA generator to upload compiled implementations as implementation artifacts.

org.eclipse.winery.generators.ia

This project contains the generator which generates a NodeType implementation based on a NodeType interface.

org.eclipse.winery.model.csar.toscametafile

This project contains the model for the file “Tosca.meta”.

org.eclipse.winery.model.selfservice

This project contains the model for the self service portal.
It is used by the Vinothek [BBKL14] to display user defined data.

org.eclipse.winery.model.tosca

This project contains a JAX B generated model of the XSD of OASIS TOSCA v1.0. The XSD hat to be modified to enable proper referencing and use. An Implementation Artifactmay carry a “name” attribute. The contents of properties of Boundary Definitions are processed in “lax” mode.

org.eclipse.winery.repository

This is the heart of Winery. This project hosts the repository, where all entities of TOSCA are stored and managed. It realizes the components “Type, Template, and Artifact Management” and “Repository” (Figure 1).

org.eclipse.winery.repository.client

This project hosts a client using the REST API of the repository and offering a Java object based client to the Winery repository.

org.eclipse.winery.repository.configuration

This project contains configurations used in the repository. Example are GitHub OAuth credentials. They must be configured in order to use them locally!

org.eclipse.winery.repository.rest

This project contains the REST resources.

Project org.eclipse.winery.repository.ui

This project contains the Angular ui for the repository. Here, the whole repository can be managed and configured. The repository-ui documentation is generated during npm run build process and can be found in org.eclipse.winery.repository.ui/dist/doc/ folder.

org.eclipse.winery.topologymodeler

This part of Winery enables modeling topologies graphically. It realizes the component “Topology Modeler” (Figure 1).