Skip to content

Initial version of a Webprotocol based EngineAddon server #220

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

Merged
merged 50 commits into from
Apr 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
18430e0
add dap protocol 1.44.0 as testing protocol of the generators
dvojtise Oct 27, 2021
889e27a
generator from JSON RCP Schema
dvojtise Oct 27, 2021
dbe71f5
add readme for the protocol generator
dvojtise Oct 27, 2021
e0cd7e0
add java plugin project for dap and addon protocols api
dvojtise Oct 27, 2021
22264e5
improved protocol generator code
dvojtise Oct 29, 2021
8096875
improved protocol data structure management
dvojtise Oct 29, 2021
b8420d8
improved protocol data structure management
dvojtise Oct 29, 2021
6600739
fix some server generation from json schema
dvojtise Oct 29, 2021
fb753fc
fixed some reserved keyword in protocol gen
dvojtise Oct 29, 2021
a32ad65
add some more generation part
dvojtise Oct 29, 2021
dae6083
add eaop protocol to tycho build
dvojtise Nov 22, 2021
7f82266
build addon protocol plugin
dvojtise Nov 23, 2021
8204cfb
add engine_addon_protocol pomfirst build
dvojtise Nov 24, 2021
3941c73
add dsl.ecore to the resulting jar
dvojtise Nov 25, 2021
1790ac6
fixed generation path
dvojtise Dec 8, 2021
d22f600
basic impl of IEngineAddon protocol
dvojtise Dec 8, 2021
6cdcedd
fix name
dvojtise Dec 8, 2021
7398047
add websocket server extensionpoint
dvojtise Dec 8, 2021
4293c3d
add ws.server plugin
dvojtise Dec 8, 2021
628dfa7
add executionframework.addon.eaop.server to build
dvojtise Mar 10, 2022
e433d73
Merge remote-tracking branch 'origin/master' into engineaddon_protocol
dvojtise Mar 10, 2022
4caa347
remove dependency to org.eclipse.jetty.websocket.jsr356
dvojtise Mar 10, 2022
a5cd769
add missing build.properties
dvojtise Mar 10, 2022
807d068
fix pom version
dvojtise Mar 11, 2022
45f9df6
fix pom parent path
dvojtise Mar 11, 2022
a5546b7
update classpath
dvojtise Mar 11, 2022
c2d10dd
attempt to upgrade to jetty 10
dvojtise Mar 15, 2022
0f80d6c
makes sure to activate the websocket server
dvojtise Mar 15, 2022
7a7c878
use jetty 10 javax websocket server
dvojtise Mar 15, 2022
119b0db
rename thirdparties_pom_to_p2
dvojtise Mar 15, 2022
eb05c26
enforce install of apache apache.aries
dvojtise Mar 16, 2022
f799a7c
r
dvojtise Mar 17, 2022
c6d03af
remove unnecessary package dependencies
dvojtise Mar 17, 2022
86c54ca
add org.eclipse.gemoc.commons.utils
dvojtise Mar 18, 2022
5a672b6
eaop ws implem
dvojtise Mar 18, 2022
4b4e22b
use Import-Package instead of Require-Bundle
dvojtise Mar 18, 2022
088aafd
attempt to use jetty 10
dvojtise Mar 24, 2022
86d9d85
remove third party local repo
dvojtise Mar 28, 2022
e70d1cb
removing useless jetty repackaging
dvojtise Mar 28, 2022
24b2106
bump to tycho 2.7.0
dvojtise Mar 28, 2022
6a09d32
remove tycho warning
dvojtise Mar 30, 2022
c04e6b8
add websocket server and eaop protocol to studio
dvojtise Mar 30, 2022
1912503
add EAOP documentation
dvojtise Mar 31, 2022
91c1423
use DTO postfix on data of protocol
dvojtise Apr 4, 2022
7a47730
improved plantuml generator
dvojtise Apr 4, 2022
929c3e1
add mapstruct support
dvojtise Apr 7, 2022
70e8018
improved dto mapping
dvojtise Apr 8, 2022
29d29f2
improved protocol
dvojtise Apr 8, 2022
cac579f
improved plantuml rendering
dvojtise Apr 8, 2022
3403112
add initializeRequest in EAOP
dvojtise Apr 8, 2022
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
12 changes: 12 additions & 0 deletions .asciidoctorconfig.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Initial AsciiDoc editor configuration file - V1.0 +
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// Did not found any configuration files, so create this at project root level.
// If you do not like those files to be generated - you can turn it off inside Asciidoctor Editor preferences.
//
// You can define editor specific parts here.
// For example: with next line you could set imagesdir attribute to subfolder "images" relative to the folder where this config file is located.
// :imagesdir: {asciidoctorconfigdir}/images
//
// For more information please take a look at https://github.com/de-jcup/eclipse-asciidoctor-editor/wiki/Asciidoctor-configfiles
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

node_modules
bin
target
build.acceleo
Expand Down
10 changes: 5 additions & 5 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<extensions>
<extension>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pomless</artifactId>
<version>2.5.0</version>
</extension>
<extension>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-build</artifactId>
<version>2.7.0</version>
</extension>
</extensions>
7 changes: 7 additions & 0 deletions commons/plugins/org.eclipse.gemoc.commons.utils/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
28 changes: 28 additions & 0 deletions commons/plugins/org.eclipse.gemoc.commons.utils/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.eclipse.gemoc.commons.utils</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: GEMOC Commons Utils
Bundle-SymbolicName: org.eclipse.gemoc.commons.utils
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Inria
Automatic-Module-Name: org.eclipse.gemoc.commons.utils
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.gemoc.commons.utils
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
66 changes: 66 additions & 0 deletions commons/plugins/org.eclipse.gemoc.commons.utils/pomfirst/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>org.eclipse.gemoc.pomfirst</groupId>
<artifactId>org.eclipse.gemoc.commons.utils</artifactId>
<version>1.0.0-SNAPSHOT</version>

<packaging>jar</packaging>

<properties>
<tycho.scmUrl>scm:git:https://github.com/eclipse/gemoc-studio-modeldebugging.git</tycho.scmUrl>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>


<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.eclipse.gemoc.commons</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<includes>**</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
</dependencies>
<repositories>
<repository>
<id>nexus-eclipse-gemoc</id>
<name>Nexus Eclipse GEMOC</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>https://repo.eclipse.org/content/groups/gemoc/</url>
</repository>
</repositories>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*******************************************************************************
* Copyright (c) 2020 Inria and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Inria - initial API and implementation
*******************************************************************************/
package org.eclipse.gemoc.commons.utils;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.LinkedBlockingQueue;

public class ExtensibleInputStream extends InputStream {

LinkedBlockingQueue<InputStream> messages = new LinkedBlockingQueue<>();

@Override
public int read() throws IOException {

// System.out.println("[DEBUG] Read InputStream");

waitForMessage();

InputStream current = messages.peek();
int c = current.read();
if(c != -1) {
return c;
}
else {
// System.out.println("[DEBUG] End InputStream 2");
messages.poll();

waitForMessage();

current = messages.peek();
return current.read();
}
}

public void addMessage(String message) {
// System.out.println("[DEBUG] Fill InputStream");
messages.add(new ByteArrayInputStream(message.getBytes()));
synchronized (this) {
this.notify();
}
}

public void waitForMessage() {
if(messages.isEmpty()) {
try {
synchronized (this) {
this.wait();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
// System.out.println("[DEBUG] Wait");
}
}
}
Loading