Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vitruv Remote: Client-Server Implementation #591

Merged
merged 15 commits into from
May 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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