Skip to content

Commit

Permalink
Merge pull request #591 from thomyxx/vitruv-remote
Browse files Browse the repository at this point in the history
Vitruv Remote: Client-Server Implementation
  • Loading branch information
HansMartinA authored May 19, 2023
2 parents 457f249 + 91b3695 commit abe3e01
Show file tree
Hide file tree
Showing 48 changed files with 884 additions and 519 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
distribution: 'temurin'
java-version: 17
- name: Build DSLs
uses: GabrielBB/xvfb-action@v1
uses: coactions/setup-xvfb@v1
with:
working-directory: ./dsls
run: >
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
distribution: 'temurin'
java-version: 17
- name: Build and Verify Case Studies
uses: GabrielBB/xvfb-action@v1
uses: coactions/setup-xvfb@v1
with:
working-directory: ./casestudies
run: >
Expand Down Expand Up @@ -144,7 +144,7 @@ jobs:
distribution: 'temurin'
java-version: 17
- name: Build and Verify Tools Adapters
uses: GabrielBB/xvfb-action@v1
uses: coactions/setup-xvfb@v1
with:
working-directory: ./tool_adapters
run: >
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ xtend-gen/
target/
.polyglot.build.properties
.mvn/wrapper/maven-wrapper.jar
*.polyglot*

# Custom
EvaluationData

#IntelliJ
.idea/
*.iml
2 changes: 1 addition & 1 deletion .mvn/extensions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<extension>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-build</artifactId>
<version>3.0.1</version>
<version>3.0.4</version>
</extension>
</extensions>
6 changes: 3 additions & 3 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.1/apache-maven-3.9.1-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
[![Issues](https://img.shields.io/github/issues/vitruv-tools/Vitruv.svg)](https://github.com/vitruv-tools/Vitruv/issues)
[![License](https://img.shields.io/github/license/vitruv-tools/Vitruv.svg)](https://raw.githubusercontent.com/vitruv-tools/Vitruv/main/LICENSE)

[Vitruv](https://vitruv.tools) is a framework for view-based software development. It assumes different models to be used for describing a software system,
which are automatically kept consistent by the framework and its applications. For general information on Vitruv, see our [GitHub Organisation](https://github.com/vitruv-tools) and our [Wiki](https://github.com/vitruv-tools/.github/wiki).
[Vitruvius](https://vitruv.tools) is a framework for view-based software development. It assumes different models to be used for describing a software system,
which are automatically kept consistent by the framework and its applications. For general information on Vitruvius, see our [GitHub Organisation](https://github.com/vitruv-tools) and our [Wiki](https://github.com/vitruv-tools/.github/wiki).

This project contains the central definition of a V-SUM (Virtual Single Underlying Model) containing development artifacts to be kept consistent and to be accessed and modified via views.

## Installation

Vitruv can be installed in Eclipse via the [nightly update site](https://vitruv.tools/updatesite/nightly). A wiki page provides [detailed instructions for using or extending Vitruv](https://github.com/vitruv-tools/.github/wiki/Getting-Started).
Vitruvius can be installed in Eclipse via the [nightly update site](https://vitruv.tools/updatesite/nightly). A wiki page provides [detailed instructions for using or extending Vitruvius](https://github.com/vitruv-tools/.github/wiki/Getting-Started).

## Project Development

Vitruv is realized as Eclipse Plug-ins and depends on the following Eclipse tools:
Vitruvius is realized as Eclipse plug-ins and depends on the following Eclipse tools:
- Eclipse Modeling Framework (EMF) _as the modelling environment_
- Xtend _for code_
34 changes: 29 additions & 5 deletions bundles/tools.vitruv.framework.remote/.classpath
Original file line number Diff line number Diff line change
@@ -1,15 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="res"/>
<classpathentry exported="true" kind="lib" path="target/dependency/log4j.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/slf4j-log4j12.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/slf4j-api.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jackson-annotations.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jackson-core.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jackson-databind.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/javax.servlet-api.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-client.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-http.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-io.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-security.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-server.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-servlet.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-util.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-util-ajax.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-webapp.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/jetty-xml.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/spark-core.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/websocket-api.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/websocket-client.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/websocket-common.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/websocket-server.jar"/>
<classpathentry exported="true" kind="lib" path="target/dependency/websocket-servlet.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="lib" path="target/dependency/jackson-annotations.jar"/>
<classpathentry kind="lib" path="target/dependency/jackson-core.jar"/>
<classpathentry kind="lib" path="target/dependency/jackson-databind.jar"/>
<classpathentry kind="lib" path="lib/spark-core-2.9.4.jar"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
<accessrules>
<accessrule kind="accessible" pattern="tools/vitruv/framework/vsum/internal/InternalVirtualModel"/>
</accessrules>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
27 changes: 26 additions & 1 deletion bundles/tools.vitruv.framework.remote/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,37 @@ Bundle-ManifestVersion: 2
Bundle-Name: Vitruv Framework Remote
Bundle-SymbolicName: tools.vitruv.framework.remote;singleton:=true
Automatic-Module-Name: tools.vitruv.framework.remote
Bundle-ClassPath: .,
target/dependency/jackson-annotations.jar,
target/dependency/jackson-core.jar,
target/dependency/jackson-databind.jar,
target/dependency/javax.servlet-api.jar,
target/dependency/jetty-client.jar,
target/dependency/jetty-http.jar,
target/dependency/jetty-io.jar,
target/dependency/jetty-security.jar,
target/dependency/jetty-server.jar,
target/dependency/jetty-servlet.jar,
target/dependency/jetty-util.jar,
target/dependency/jetty-util-ajax.jar,
target/dependency/jetty-webapp.jar,
target/dependency/jetty-xml.jar,
target/dependency/spark-core.jar,
target/dependency/websocket-api.jar,
target/dependency/websocket-client.jar,
target/dependency/websocket-common.jar,
target/dependency/websocket-server.jar,
target/dependency/websocket-servlet.jar,
target/dependency/slf4j-api.jar,
target/dependency/log4j.jar,
target/dependency/slf4j-log4j12.jar
Bundle-Version: 3.0.1.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: tools.vitruv.framework.views,
tools.vitruv.change.composite,
tools.vitruv.framework.vsum,
org.eclipse.emf.ecore.xmi
org.eclipse.emf.ecore.xmi,
com.google.guava
Export-Package: tools.vitruv.framework.remote.client,
tools.vitruv.framework.remote.client.exception,
tools.vitruv.framework.remote.server
Expand Down
29 changes: 27 additions & 2 deletions bundles/tools.vitruv.framework.remote/build.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
source.. = src/
source.. = src/,\
res/
output.. = target/classes/
bin.includes = META-INF/,\
.
.,\
target/dependency/jackson-annotations.jar,\
target/dependency/jackson-core.jar,\
target/dependency/jackson-databind.jar,\
target/dependency/javax.servlet-api.jar,\
target/dependency/jetty-client.jar,\
target/dependency/jetty-http.jar,\
target/dependency/jetty-io.jar,\
target/dependency/jetty-security.jar,\
target/dependency/jetty-server.jar,\
target/dependency/jetty-servlet.jar,\
target/dependency/jetty-util.jar,\
target/dependency/jetty-util-ajax.jar,\
target/dependency/jetty-webapp.jar,\
target/dependency/jetty-xml.jar,\
target/dependency/spark-core.jar,\
target/dependency/websocket-api.jar,\
target/dependency/websocket-client.jar,\
target/dependency/websocket-common.jar,\
target/dependency/websocket-server.jar,\
target/dependency/websocket-servlet.jar,\
target/dependency/slf4j-api.jar,\
target/dependency/log4j.jar,\
target/dependency/slf4j-log4j12.jar

Binary file not shown.
8 changes: 8 additions & 0 deletions bundles/tools.vitruv.framework.remote/res/log4j.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Loading

0 comments on commit abe3e01

Please sign in to comment.