diff --git a/.classpath b/.classpath
index 301167ee..b8c24bf9 100644
--- a/.classpath
+++ b/.classpath
@@ -17,7 +17,7 @@
-
+
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index cf67412b..d46e2145 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -15,23 +15,27 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 17
- uses: actions/setup-java@v3
+ - name: Set up Maven
+ uses: stCarolas/setup-maven@v4.5
+ with:
+ maven-version: 3.9.0
+ - uses: actions/checkout@v4
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: '17'
+ java-version: '21'
- name: Copy toolchain
run: |
mkdir -p ~/.m2/
- echo "jdk 17 eclipse /$JAVA_HOME " > ~/.m2/toolchains.xml
+ echo "jdk JavaSE-21 21 eclipse /$JAVA_HOME " > ~/.m2/toolchains.xml
- name: Build with Maven
run:
mvn -B clean package --file pom.xml
- name: Deploy with Maven
env:
- BT_PAT: ${{ secrets.BT_TOKEN }}
+ T: ${{ secrets.GITHUB_TOKEN }}
run: |
- echo "Authorization Bearer $BT_PAT github central https://repo1.maven.org/maven2 github https://maven.pkg.github.com/enterpriseDomain/* true github github " > ~/.m2/settings.xml
+ echo "Authorization Bearer $T github central https://repo1.maven.org/maven2 github https://maven.pkg.github.com/enterpriseDomain/* true github github " > ~/.m2/settings.xml
mvn clean deploy -s ~/.m2/settings.xml
diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml
index 582073c4..623109cd 100644
--- a/.mvn/extensions.xml
+++ b/.mvn/extensions.xml
@@ -1,8 +1,8 @@
- org.eclipse.tycho.extras
- tycho-pomless
- 0.25.0
+ org.eclipse.tycho
+ tycho-build
+ 4.0.8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 2de559db..88cb2b58 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -9,8 +9,13 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
@@ -107,4 +112,4 @@ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/.classpath b/bundles/org.enterprisedomain.classmaker.cdo.ui/.classpath
index 4a00becd..9e03abfa 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/.classpath
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/.classpath
@@ -1,11 +1,8 @@
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.enterprisedomain.classmaker.cdo.ui/.settings/org.eclipse.jdt.core.prefs
index c9545f06..d4540a53 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,10 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=17
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.cdo.ui/META-INF/MANIFEST.MF
index 5b26c6e8..dc6ffbe7 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/META-INF/MANIFEST.MF
@@ -1,17 +1,14 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ClassMaker CDO UI Support
-Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui
-Bundle-Version: 0.8.55.qualifier
+Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui;singleton:=true
+Bundle-Version: 0.8.55
Bundle-Vendor: Kyrill Zotkin
Require-Bundle: org.enterprisedomain.classmaker.cdo;bundle-version="0.0.1",
- org.eclipse.emf.cdo.ui.shared;bundle-version="4.5.0",
- org.eclipse.emf.cdo.ui;bundle-version="4.9.1",
- org.eclipse.emf.cdo.explorer.ui;bundle-version="4.7.1",
- org.eclipse.net4j.tcp;bundle-version="4.2.1",
- org.eclipse.emf.ecp.view.context;bundle-version="1.26.0",
- org.eclipse.emf.ecp.ui.view;bundle-version="1.26.0",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="1.26.0",
+ org.eclipse.emf.cdo.ui.shared;bundle-version="[4.5.0,5.0.0)",
+ org.eclipse.emf.cdo.ui;bundle-version="[4.9.1,5.0.0)",
+ org.eclipse.emf.cdo.explorer.ui;bundle-version="[4.7.1,5.0.0)",
+ org.eclipse.net4j.tcp;bundle-version="[4.2.1,5.0.0)",
org.eclipse.equinox.concurrent;bundle-version="1.2.0"
Automatic-Module-Name: org.enterprisedomain.classmaker.cdo.ui
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-21
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/build.properties b/bundles/org.enterprisedomain.classmaker.cdo.ui/build.properties
index 34d2e4d2..e9863e28 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/build.properties
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/build.properties
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ plugin.xml
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/plugin.xml b/bundles/org.enterprisedomain.classmaker.cdo.ui/plugin.xml
new file mode 100644
index 00000000..3e5c69a1
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/plugin.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/pom.xml b/bundles/org.enterprisedomain.classmaker.cdo.ui/pom.xml
index 9cac1bad..2876a518 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/pom.xml
@@ -1,10 +1,12 @@
-
+
4.0.0
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/src/org/enterprisedomain/classmaker/cdo/ui/CDOEditorOpener.java b/bundles/org.enterprisedomain.classmaker.cdo.ui/src/org/enterprisedomain/classmaker/cdo/ui/CDOEditorOpener.java
new file mode 100644
index 00000000..c1b311ee
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/src/org/enterprisedomain/classmaker/cdo/ui/CDOEditorOpener.java
@@ -0,0 +1,54 @@
+package org.enterprisedomain.classmaker.cdo.ui;
+
+import org.eclipse.emf.cdo.explorer.ui.checkouts.CDOModelEditorInput;
+import org.eclipse.emf.cdo.transaction.CDOCommitContext;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.transaction.CDOTransactionHandler2;
+import org.eclipse.emf.cdo.ui.CDOEditorUtil;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+
+public class CDOEditorOpener extends org.eclipse.emf.cdo.ui.CDOEditorOpener.Default {
+
+ public CDOEditorOpener() {
+ }
+
+ @Override
+ protected IEditorPart doOpenEditor(IWorkbenchPage page, URI uri) {
+ CDOModelEditorInput editorInput = new CDOModelEditorInput(uri) {
+
+ @Override
+ protected void configureTransaction(CDOTransaction transaction) {
+ transaction.addTransactionHandler(new CDOTransactionHandler2() {
+
+ @Override
+ public void rolledBackTransaction(CDOTransaction transaction) {
+ System.out.println("rolledBackTransaction " + transaction);
+ }
+
+ @Override
+ public void committingTransaction(CDOTransaction transaction, CDOCommitContext commitContext) {
+ System.out.println("committingTransaction " + transaction);
+ }
+
+ @Override
+ public void committedTransaction(CDOTransaction transaction, CDOCommitContext commitContext) {
+ System.out.println("committedTransaction " + transaction);
+ }
+ });
+ super.configureTransaction(transaction);
+ }
+
+ };
+ String editorID = CDOEditorUtil.getEditorID();
+ try {
+ return page.openEditor(editorInput, editorID);
+ } catch (Exception ex) {
+ ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(ex));
+ return null;
+ }
+ }
+
+}
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/MANIFEST.MF
index 115fd397..c000e1a9 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/MANIFEST.MF
@@ -1,16 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ClassMaker CDO UI Support
-Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui
-Bundle-Version: 0.8.55.202208170821
+Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui;singleton:=t
+ rue
+Bundle-Version: 0.8.55
Bundle-Vendor: Kyrill Zotkin
Require-Bundle: org.enterprisedomain.classmaker.cdo;bundle-version="0.0.
- 1",org.eclipse.emf.cdo.ui.shared;bundle-version="4.5.0",org.eclipse.emf
- .cdo.ui;bundle-version="4.9.1",org.eclipse.emf.cdo.explorer.ui;bundle-v
- ersion="4.7.1",org.eclipse.net4j.tcp;bundle-version="4.2.1",org.eclipse
- .emf.ecp.view.context;bundle-version="1.26.0",org.eclipse.emf.ecp.ui.vi
- ew;bundle-version="1.26.0",org.eclipse.emf.ecp.ui.view.swt;bundle-versi
- on="1.26.0",org.eclipse.equinox.concurrent;bundle-version="1.2.0"
+ 1",org.eclipse.emf.cdo.ui.shared;bundle-version="[4.5.0,5.0.0)",org.ecl
+ ipse.emf.cdo.ui;bundle-version="[4.9.1,5.0.0)",org.eclipse.emf.cdo.expl
+ orer.ui;bundle-version="[4.7.1,5.0.0)",org.eclipse.net4j.tcp;bundle-ver
+ sion="[4.2.1,5.0.0)",org.eclipse.equinox.concurrent;bundle-version="1.2
+ .0"
Automatic-Module-Name: org.enterprisedomain.classmaker.cdo.ui
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=21))"
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/maven-archiver/pom.properties b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/maven-archiver/pom.properties
deleted file mode 100644
index 85539f48..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-artifactId=org.enterprisedomain.classmaker.cdo.ui
-groupId=org.enterprisedomain
-version=0.8.55-SNAPSHOT
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2artifacts.xml b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2artifacts.xml
deleted file mode 100644
index a4771143..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2artifacts.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2content.xml b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2content.xml
deleted file mode 100644
index aa0bff34..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/p2content.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.enterprisedomain.classmaker.cdo.ui
-
-
-
-
-
-
-
-
-
-
- Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui
Bundle-Version: 0.8.55.202208170821
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.ui.source
Bundle-Version: 0.8.55.202208170821
-
-
-
-
-
diff --git a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties b/bundles/org.enterprisedomain.classmaker.cdo.ui/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties
deleted file mode 100644
index 090b1e5f..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo.ui/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Source Bundle Localization
-#Wed Aug 17 15:24:43 NOVT 2022
-bundleVendor=Kyrill Zotkin
-bundleName=ClassMaker CDO UI Support Source
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/.classpath b/bundles/org.enterprisedomain.classmaker.cdo/.classpath
index 3628e336..dc32e1f3 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/.classpath
+++ b/bundles/org.enterprisedomain.classmaker.cdo/.classpath
@@ -1,11 +1,12 @@
-
+
-
+
-
-
-
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.cdo/META-INF/MANIFEST.MF
index 5a491303..1b635e8d 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/META-INF/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.cdo/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ClassMaker CDO Support
Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo;singleton:=true
-Bundle-Version: 0.8.55.qualifier
+Bundle-Version: 0.8.55
Bundle-Vendor: Kyrill Zotkin
Automatic-Module-Name: org.enterprisedomain.classmaker.cdo
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-Activator: org.enterprisedomain.classmaker.cdo.Activator
-Require-Bundle: org.eclipse.osgi;bundle-version="[3.16.200,4.0.0)",
- org.enterprisedomain.classmaker;bundle-version="0.8.55",
- org.eclipse.emf.cdo;bundle-version="4.15.0";visibility:=reexport,
- org.eclipse.emf.cdo.edit;bundle-version="4.5.6";visibility:=reexport
+Require-Bundle: org.eclipse.osgi;bundle-version="[3.18.200,4.0.0)",
+ org.enterprisedomain.classmaker;bundle-version="0.8.55";visibility:=reexport,
+ org.eclipse.emf.cdo;bundle-version="[4.21.0,5.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.edit;bundle-version="[4.5.6,5.0.0)";visibility:=reexport
Export-Package: org.enterprisedomain.classmaker.cdo
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/plugin.xml b/bundles/org.enterprisedomain.classmaker.cdo/plugin.xml
index 655ceed1..ed92f485 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/plugin.xml
+++ b/bundles/org.enterprisedomain.classmaker.cdo/plugin.xml
@@ -1,13 +1,13 @@
-
-
-
-
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/pom.xml b/bundles/org.enterprisedomain.classmaker.cdo/pom.xml
index 1c7a77f3..a9715215 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker.cdo/pom.xml
@@ -1,10 +1,12 @@
-
+
4.0.0
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CDOGenerator.java b/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CDOGenerator.java
index 7d42fd61..61e7868e 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CDOGenerator.java
+++ b/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CDOGenerator.java
@@ -21,6 +21,7 @@
import org.eclipse.emf.codegen.ecore.genmodel.GenDelegationKind;
import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
import org.eclipse.emf.ecore.EPackage;
+import org.enterprisedomain.classmaker.Contribution;
import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
import org.enterprisedomain.classmaker.jobs.codegen.EcoreGenerator;
@@ -32,8 +33,11 @@ public CDOGenerator(int depth, long stateTimestamp) {
protected void setupGenModel(IPath projectPath, GenModel ecoreGenModel, Collection ePackages) {
super.setupGenModel(projectPath, ecoreGenModel, ePackages);
- ClassMakerPlugin.getClassMaker().getWorkspace().getContribution(projectPath.lastSegment()).getDependencies()
- .add("org.eclipse.emf.cdo");
+ Contribution contribution = ClassMakerPlugin.getClassMaker().getWorkspace()
+ .getContribution(projectPath.lastSegment());
+ contribution.getDependencies().add("org.eclipse.emf.cdo");
+ if (contribution.getState().isEdit())
+ contribution.getDependencies().add("org.eclipse.emf.cdo.edit");
ecoreGenModel.setSuppressInterfaces(false);
ecoreGenModel.setFeatureDelegation(GenDelegationKind.REFLECTIVE_LITERAL);
ecoreGenModel.getModelPluginVariables().add("CDO=org.eclipse.emf.cdo"); //$NON-NLS-1$
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CreateCDOGeneratorCustomizer.java b/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CreateCDOGeneratorCustomizer.java
index d989dd70..90561494 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CreateCDOGeneratorCustomizer.java
+++ b/bundles/org.enterprisedomain.classmaker.cdo/src/org/enterprisedomain/classmaker/cdo/CreateCDOGeneratorCustomizer.java
@@ -8,8 +8,8 @@ public class CreateCDOGeneratorCustomizer extends CustomizerImpl {
@Override
public Object customize(EList args) {
- CDOGenerator generator = new CDOGenerator((Integer) args.get(0), (Long) args.get(2));
- generator.setProject((IProject) args.get(1));
+ CDOGenerator generator = new CDOGenerator((Integer) args.get(0), (Long) args.get(1));
+ generator.setProject((IProject) args.get(2));
return generator;
}
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/target/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.cdo/target/MANIFEST.MF
index 7f9a84bb..634078f1 100644
--- a/bundles/org.enterprisedomain.classmaker.cdo/target/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.cdo/target/MANIFEST.MF
@@ -2,14 +2,15 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ClassMaker CDO Support
Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo;singleton:=true
-Bundle-Version: 0.8.55.202208170821
+Bundle-Version: 0.8.55
Bundle-Vendor: Kyrill Zotkin
Automatic-Module-Name: org.enterprisedomain.classmaker.cdo
-Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Activator: org.enterprisedomain.classmaker.cdo.Activator
-Require-Bundle: org.eclipse.osgi;bundle-version="[3.16.200,4.0.0)",org.e
- nterprisedomain.classmaker;bundle-version="0.8.55",org.eclipse.emf.cdo;
- bundle-version="4.15.0";visibility:=reexport,org.eclipse.emf.cdo.edit;b
- undle-version="4.5.6";visibility:=reexport
+Require-Bundle: org.eclipse.osgi;bundle-version="[3.18.200,4.0.0)",org.e
+ nterprisedomain.classmaker;bundle-version="0.8.55";visibility:=reexport
+ ,org.eclipse.emf.cdo;bundle-version="[4.21.0,5.0.0)";visibility:=reexpo
+ rt,org.eclipse.emf.cdo.edit;bundle-version="[4.5.6,5.0.0)";visibility:=
+ reexport
Export-Package: org.enterprisedomain.classmaker.cdo
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=21))"
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/target/maven-archiver/pom.properties b/bundles/org.enterprisedomain.classmaker.cdo/target/maven-archiver/pom.properties
deleted file mode 100644
index 040ce99c..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-artifactId=org.enterprisedomain.classmaker.cdo
-groupId=org.enterprisedomain
-version=0.8.55-SNAPSHOT
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/target/p2artifacts.xml b/bundles/org.enterprisedomain.classmaker.cdo/target/p2artifacts.xml
deleted file mode 100644
index 94800a5d..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo/target/p2artifacts.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/target/p2content.xml b/bundles/org.enterprisedomain.classmaker.cdo/target/p2content.xml
deleted file mode 100644
index 4a28ddd8..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo/target/p2content.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.enterprisedomain.classmaker.cdo
-
-
-
-
-
-
-
-
-
-
- Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo;singleton:=true
Bundle-Version: 0.8.55.202208170821
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Bundle-SymbolicName: org.enterprisedomain.classmaker.cdo.source
Bundle-Version: 0.8.55.202208170821
-
-
-
-
-
diff --git a/bundles/org.enterprisedomain.classmaker.cdo/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties b/bundles/org.enterprisedomain.classmaker.cdo/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties
deleted file mode 100644
index 7da4a26c..00000000
--- a/bundles/org.enterprisedomain.classmaker.cdo/target/sourcebundle-l10n-gen/OSGI-INF/l10n/bundle-src.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Source Bundle Localization
-#Wed Aug 17 15:24:42 NOVT 2022
-bundleVendor=Kyrill Zotkin
-bundleName=ClassMaker CDO Support Source
diff --git a/bundles/org.enterprisedomain.classmaker.edit/.classpath b/bundles/org.enterprisedomain.classmaker.edit/.classpath
index bc57d238..5050774b 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/.classpath
+++ b/bundles/org.enterprisedomain.classmaker.edit/.classpath
@@ -1,7 +1,21 @@
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.edit/.settings/org.eclipse.jdt.core.prefs b/bundles/org.enterprisedomain.classmaker.edit/.settings/org.eclipse.jdt.core.prefs
index 7adc0fb9..3a79233b 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.enterprisedomain.classmaker.edit/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=21
diff --git a/bundles/org.enterprisedomain.classmaker.edit/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.edit/META-INF/MANIFEST.MF
index f1fb0988..9a89f5c1 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.edit/META-INF/MANIFEST.MF
@@ -3,12 +3,12 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.enterprisedomain.classmaker.edit;singleton:=true
Automatic-Module-Name: org.enterprisedomain.classmaker.edit
-Bundle-Version: 0.8.55.qualifier
+Bundle-Version: 0.8.55
Bundle-ClassPath: .
Bundle-Activator: org.enterprisedomain.classmaker.provider.ClassMakerEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Export-Package: org.enterprisedomain.classmaker.edit.command,
org.enterprisedomain.classmaker.provider
Require-Bundle: org.eclipse.core.runtime,
@@ -16,8 +16,6 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.edit;visibility:=reexport,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.edit;visibility:=reexport,
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.19.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.19.0,2.0.0)",
org.eclipse.e4.ui.services,
org.eclipse.ui;bundle-version="3.112.0"
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.enterprisedomain.ecp.edit/icons/full/ctool16/CreateEOperationInvocation_arguments_EParameterToObjectMapEntry.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkerMapEntry.gif
similarity index 71%
rename from bundles/org.enterprisedomain.ecp.edit/icons/full/ctool16/CreateEOperationInvocation_arguments_EParameterToObjectMapEntry.gif
rename to bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkerMapEntry.gif
index b325c758..a6e5cfd3 100644
Binary files a/bundles/org.enterprisedomain.ecp.edit/icons/full/ctool16/CreateEOperationInvocation_arguments_EParameterToObjectMapEntry.gif and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkerMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkersMapEntry.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkersMapEntry.gif
new file mode 100644
index 00000000..238a342d
Binary files /dev/null and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateModels_dynamic_StageQualifierToWorkersMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkerMapEntry.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkerMapEntry.gif
new file mode 100644
index 00000000..b61a6686
Binary files /dev/null and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkerMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkersMapEntry.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkersMapEntry.gif
new file mode 100644
index 00000000..4455fd04
Binary files /dev/null and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/ctool16/CreateStrategy_workers_StageQualifierToWorkersMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EOperationInvocation.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkerMapEntry.gif
similarity index 50%
rename from bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EOperationInvocation.gif
rename to bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkerMapEntry.gif
index 59155918..ed874747 100644
Binary files a/bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EOperationInvocation.gif and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkerMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EParameterToObjectMapEntry.gif b/bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkersMapEntry.gif
similarity index 50%
rename from bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EParameterToObjectMapEntry.gif
rename to bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkersMapEntry.gif
index c673a520..f8041d22 100644
Binary files a/bundles/org.enterprisedomain.ecp.edit/icons/full/obj16/EParameterToObjectMapEntry.gif and b/bundles/org.enterprisedomain.classmaker.edit/icons/full/obj16/StageQualifierToWorkersMapEntry.gif differ
diff --git a/bundles/org.enterprisedomain.classmaker.edit/plugin.properties b/bundles/org.enterprisedomain.classmaker.edit/plugin.properties
index d17756a5..b9827a59 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/plugin.properties
+++ b/bundles/org.enterprisedomain.classmaker.edit/plugin.properties
@@ -65,7 +65,6 @@ _UI_State_timestamp_feature = Timestamp
_UI_State_deployableUnitName_feature = Deployable Unit Name
_UI_State_jobFamily_feature = Job Family
_UI_State_resource_feature = Resource
-_UI_State_commitIds_feature = Commit Ids
_UI_State_stateCustomizers_feature = State Customizers
_UI_State_projectName_feature = Project Name
_UI_Item_modelName_feature = Model Name
@@ -205,3 +204,23 @@ _UI_Models_generated_feature = Generated
_UI_Models_generatedEdit_feature = Generated Edit
_UI_Models_generatedEditor_feature = Generated Editor
_UI_Models_parent_feature = Parent
+_UI_Customizer_exclusive_feature = Exclusive
+_UI_Customizer_stage_feature = Stage
+_UI_Customizer_customized_feature = Customized
+_UI_Customizer_composite_feature = Composite
+_UI_State_nonExclusiveStateCustomizers_feature = Non Exclusive State Customizers
+_UI_Workspace_nonExclusiveCustomizers_feature = Non Exclusive Customizers
+_UI_State_excludedEPackages_feature = Excluded EPackages
+_UI_Workspace_excludedEPackages_feature = Excluded EPackages
+_UI_State_basePackage_feature = Base Package
+_UI_Workspace_classLoader_feature = Class Loader
+_UI_Project_classLoader_feature = Class Loader
+_UI_Project_resource_feature = Resource
+_UI_Item_resource_feature = Resource
+_UI_StageQualifierToWorkerMapEntry_type = Stage Qualifier To Worker Map Entry
+_UI_Strategy_workers_feature = Workers
+_UI_StageQualifierToWorkerMapEntry_key_feature = Key
+_UI_StageQualifierToWorkerMapEntry_value_feature = Value
+_UI_StageQualifierToWorkersMapEntry_type = Stage Qualifier To Workers Map Entry
+_UI_StageQualifierToWorkersMapEntry_key_feature = Key
+_UI_StageQualifierToWorkersMapEntry_value_feature = Value
diff --git a/bundles/org.enterprisedomain.classmaker.edit/pom.xml b/bundles/org.enterprisedomain.classmaker.edit/pom.xml
index 09539846..8b6d3723 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker.edit/pom.xml
@@ -1,12 +1,14 @@
-
+
4.0.0
eclipse-plugin
org.enterprisedomain.classmaker.edit
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
-
+
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ClassMakerItemProviderAdapterFactory.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ClassMakerItemProviderAdapterFactory.java
index 125a6ab2..70aef181 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ClassMakerItemProviderAdapterFactory.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ClassMakerItemProviderAdapterFactory.java
@@ -328,6 +328,29 @@ public Adapter createStageQualifierToCustomizerMapEntryAdapter() {
return stageQualifierToCustomizerMapEntryItemProvider;
}
+ /**
+ * This keeps track of the one adapter used for all {@link java.util.Map.Entry}
+ * instances.
+ *
+ * @generated
+ */
+ protected StageQualifierToWorkersMapEntryItemProvider stageQualifierToWorkersMapEntryItemProvider;
+
+ /**
+ * This creates an adapter for a {@link java.util.Map.Entry}.
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createStageQualifierToWorkersMapEntryAdapter() {
+ if (stageQualifierToWorkersMapEntryItemProvider == null) {
+ stageQualifierToWorkersMapEntryItemProvider = new StageQualifierToWorkersMapEntryItemProvider(this);
+ }
+
+ return stageQualifierToWorkersMapEntryItemProvider;
+ }
+
/**
* This keeps track of the one adapter used for all
* {@link org.enterprisedomain.classmaker.Models} instances.
+ *
+ * @generated
+ */
+ protected void addExclusivePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Customizer_exclusive_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Customizer_exclusive_feature",
+ "_UI_Customizer_type"),
+ ClassMakerPackage.Literals.CUSTOMIZER__EXCLUSIVE, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Stage feature.
+ *
+ * @generated
+ */
+ protected void addStagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Customizer_stage_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Customizer_stage_feature",
+ "_UI_Customizer_type"),
+ ClassMakerPackage.Literals.CUSTOMIZER__STAGE, true, false, false, null, null, null));
+ }
+
/**
* This returns Customizer.gif.
*
@@ -120,6 +153,8 @@ public void notifyChanged(Notification notification) {
switch (notification.getFeatureID(Customizer.class)) {
case ClassMakerPackage.CUSTOMIZER__RANK:
+ case ClassMakerPackage.CUSTOMIZER__EXCLUSIVE:
+ case ClassMakerPackage.CUSTOMIZER__STAGE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ItemItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ItemItemProvider.java
index 542324ef..56933f6e 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ItemItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ItemItemProvider.java
@@ -72,6 +72,7 @@ public List getPropertyDescriptors(Object object) {
addParentPropertyDescriptor(object);
addLocalePropertyDescriptor(object);
addProjectPropertyDescriptor(object);
+ addResourcePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -164,6 +165,20 @@ protected void addProjectPropertyDescriptor(Object object) {
ClassMakerPackage.Literals.ITEM__PROJECT, true, false, true, null, null, null));
}
+ /**
+ * This adds a property descriptor for the Resource feature.
+ *
+ * @generated
+ */
+ protected void addResourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Item_resource_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Item_resource_feature", "_UI_Item_type"),
+ ClassMakerPackage.Literals.ITEM__RESOURCE, false, false, false, null, null, null));
+ }
+
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an
* appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand},
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ModelsItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ModelsItemProvider.java
index d58eafbf..5204bddd 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ModelsItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ModelsItemProvider.java
@@ -243,6 +243,9 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors
.add(createChildParameter(ClassMakerPackage.Literals.MODELS__DYNAMIC, ClassMakerFactory.eINSTANCE
.create(ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY)));
+ newChildDescriptors.add(createChildParameter(ClassMakerPackage.Literals.MODELS__DYNAMIC,
+ ClassMakerFactory.eINSTANCE.create(ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY)));
+
newChildDescriptors.add(createChildParameter(ClassMakerPackage.Literals.MODELS__DYNAMIC,
ClassMakerFactory.eINSTANCE.createModels()));
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ProjectItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ProjectItemProvider.java
index 51e94500..1c6a052e 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ProjectItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/ProjectItemProvider.java
@@ -22,8 +22,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -74,9 +72,9 @@ public List getPropertyDescriptors(Object object) {
addParentPropertyDescriptor(object);
addLocalePropertyDescriptor(object);
addProjectPropertyDescriptor(object);
+ addResourcePropertyDescriptor(object);
addNamePropertyDescriptor(object);
addProjectNamePropertyDescriptor(object);
- addChildrenPropertyDescriptor(object);
addDirtyPropertyDescriptor(object);
addResourcePathPropertyDescriptor(object);
addNeedCompletionNotificationPropertyDescriptor(object);
@@ -87,6 +85,7 @@ public List getPropertyDescriptors(Object object) {
addSelectRevealHandlerPropertyDescriptor(object);
addVersionPropertyDescriptor(object);
addStatePropertyDescriptor(object);
+ addClassLoaderPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -210,22 +209,6 @@ protected void addProjectNamePropertyDescriptor(Object object) {
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
- /**
- * This adds a property descriptor for the Children feature.
- *
- * @generated
- */
- protected void addChildrenPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Project_children_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Project_children_feature",
- "_UI_Project_type"),
- ClassMakerPackage.Literals.PROJECT__CHILDREN, false, false, false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
- }
-
/**
* This adds a property descriptor for the Dirty feature.
@@ -384,6 +367,36 @@ protected void addStatePropertyDescriptor(Object object) {
ClassMakerPackage.Literals.PROJECT__STATE, false, false, false, null, null, null));
}
+ /**
+ * This adds a property descriptor for the Class Loader feature.
+ *
+ * @generated
+ */
+ protected void addClassLoaderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Project_classLoader_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Project_classLoader_feature",
+ "_UI_Project_type"),
+ ClassMakerPackage.Literals.PROJECT__CLASS_LOADER, false, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Resource feature.
+ *
+ * @generated
+ */
+ protected void addResourcePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Item_resource_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Item_resource_feature", "_UI_Item_type"),
+ ClassMakerPackage.Literals.ITEM__RESOURCE, false, false, false, null, null, null));
+ }
+
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an
* appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand},
@@ -398,7 +411,6 @@ public Collection extends EStructuralFeature> getChildrenFeatures(Object objec
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(ClassMakerPackage.Literals.ITEM__DOMAIN_MODEL);
- childrenFeatures.add(ClassMakerPackage.Literals.PROJECT__CHILDREN);
childrenFeatures.add(ClassMakerPackage.Literals.PROJECT__REVISIONS);
childrenFeatures.add(ClassMakerPackage.Literals.PROJECT__MODEL_RESOURCE_ADAPTER);
}
@@ -467,10 +479,10 @@ public void notifyChanged(Notification notification) {
case ClassMakerPackage.PROJECT__SAVING_RESOURCE:
case ClassMakerPackage.PROJECT__PROJECT_VERSION:
case ClassMakerPackage.PROJECT__VERSION:
+ case ClassMakerPackage.PROJECT__CLASS_LOADER:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case ClassMakerPackage.PROJECT__DOMAIN_MODEL:
- case ClassMakerPackage.PROJECT__CHILDREN:
case ClassMakerPackage.PROJECT__REVISIONS:
case ClassMakerPackage.PROJECT__MODEL_RESOURCE_ADAPTER:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
@@ -494,12 +506,6 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors
.add(createChildParameter(ClassMakerPackage.Literals.ITEM__CUSTOMIZERS, ClassMakerFactory.eINSTANCE
.create(ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY)));
- newChildDescriptors.add(createChildParameter(ClassMakerPackage.Literals.PROJECT__CHILDREN,
- EcoreFactory.eINSTANCE.createFromString(EcorePackage.Literals.EJAVA_OBJECT, null))); // TODO: ensure
- // this is a
- // valid literal
- // value
-
newChildDescriptors.add(createChildParameter(ClassMakerPackage.Literals.PROJECT__REVISIONS,
ClassMakerFactory.eINSTANCE.create(ClassMakerPackage.Literals.VERSION_TO_REVISION_MAP_ENTRY)));
}
diff --git a/bundles/org.enterprisedomain.ecp.edit/src/org/enterprisedomain/ecp/provider/EOperationInvocationItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StageQualifierToWorkersMapEntryItemProvider.java
similarity index 55%
rename from bundles/org.enterprisedomain.ecp.edit/src/org/enterprisedomain/ecp/provider/EOperationInvocationItemProvider.java
rename to bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StageQualifierToWorkersMapEntryItemProvider.java
index c2fe49db..a3b0efec 100644
--- a/bundles/org.enterprisedomain.ecp.edit/src/org/enterprisedomain/ecp/provider/EOperationInvocationItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StageQualifierToWorkersMapEntryItemProvider.java
@@ -1,9 +1,23 @@
/**
+ * Copyright 2023 Kyrill Zotkin
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 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.
*/
-package org.enterprisedomain.ecp.provider;
+package org.enterprisedomain.classmaker.provider;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
@@ -16,29 +30,26 @@
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-import org.enterprisedomain.ecp.ECPFactory;
-import org.enterprisedomain.ecp.ECPPackage;
-import org.enterprisedomain.ecp.EOperationInvocation;
+import org.enterprisedomain.classmaker.ClassMakerPackage;
/**
- * This is the item provider adapter for a
- * {@link org.enterprisedomain.ecp.EOperationInvocation} object.
+ * This is the item provider adapter for a {@link java.util.Map.Entry} object.
+ *
*
* @generated
*/
-public class EOperationInvocationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
- IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+public class StageQualifierToWorkersMapEntryItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider,
+ IItemLabelProvider, IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
*
* @generated
*/
- public EOperationInvocationItemProvider(AdapterFactory adapterFactory) {
+ public StageQualifierToWorkersMapEntryItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
@@ -53,41 +64,25 @@ public List getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
- addEOperationPropertyDescriptor(object);
- addResultPropertyDescriptor(object);
+ addKeyPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the EOperation feature.
- *
- * @generated
- */
- protected void addEOperationPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_EOperationInvocation_eOperation_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_EOperationInvocation_eOperation_feature",
- "_UI_EOperationInvocation_type"),
- ECPPackage.Literals.EOPERATION_INVOCATION__EOPERATION, true, false, true, null, null, null));
- }
-
- /**
- * This adds a property descriptor for the Result feature.
+ * This adds a property descriptor for the Key feature.
+ *
*
* @generated
*/
- protected void addResultPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_EOperationInvocation_result_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_EOperationInvocation_result_feature",
- "_UI_EOperationInvocation_type"),
- ECPPackage.Literals.EOPERATION_INVOCATION__RESULT, true, false, false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ protected void addKeyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_StageQualifierToWorkersMapEntry_key_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_StageQualifierToWorkersMapEntry_key_feature",
+ "_UI_StageQualifierToWorkersMapEntry_type"),
+ ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY, true, false, true, null, null,
+ null));
}
/**
@@ -103,7 +98,7 @@ protected void addResultPropertyDescriptor(Object object) {
public Collection extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
- childrenFeatures.add(ECPPackage.Literals.EOPERATION_INVOCATION__ARGUMENTS);
+ childrenFeatures.add(ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE);
}
return childrenFeatures;
}
@@ -123,14 +118,14 @@ protected EStructuralFeature getChildFeature(Object object, Object child) {
}
/**
- * This returns EOperationInvocation.gif.
+ * This returns StageQualifierToWorkersMapEntry.gif.
+ *
*
* @generated
*/
@Override
public Object getImage(Object object) {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/EOperationInvocation"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StageQualifierToWorkersMapEntry"));
}
/**
@@ -141,10 +136,8 @@ public Object getImage(Object object) {
*/
@Override
public String getText(Object object) {
- Object labelValue = ((EOperationInvocation) object).getResult();
- String label = labelValue == null ? null : labelValue.toString();
- return label == null || label.length() == 0 ? getString("_UI_EOperationInvocation_type")
- : getString("_UI_EOperationInvocation_type") + " " + label;
+ Map.Entry, ?> stageQualifierToWorkersMapEntry = (Map.Entry, ?>) object;
+ return "" + stageQualifierToWorkersMapEntry.getKey() + " -> " + stageQualifierToWorkersMapEntry.getValue();
}
/**
@@ -158,11 +151,8 @@ public String getText(Object object) {
public void notifyChanged(Notification notification) {
updateChildren(notification);
- switch (notification.getFeatureID(EOperationInvocation.class)) {
- case ECPPackage.EOPERATION_INVOCATION__RESULT:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- case ECPPackage.EOPERATION_INVOCATION__ARGUMENTS:
+ switch (notification.getFeatureID(Map.Entry.class)) {
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -179,9 +169,6 @@ public void notifyChanged(Notification notification) {
@Override
protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
-
- newChildDescriptors.add(createChildParameter(ECPPackage.Literals.EOPERATION_INVOCATION__ARGUMENTS,
- ECPFactory.eINSTANCE.create(ECPPackage.Literals.EPARAMETER_TO_OBJECT_MAP_ENTRY)));
}
/**
@@ -192,7 +179,7 @@ protected void collectNewChildDescriptors(Collection newChildDescriptors
*/
@Override
public ResourceLocator getResourceLocator() {
- return ECPEditPlugin.INSTANCE;
+ return ClassMakerEditPlugin.INSTANCE;
}
}
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StateItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StateItemProvider.java
index 623e2a90..d5eb123c 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StateItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StateItemProvider.java
@@ -68,14 +68,14 @@ public List getPropertyDescriptors(Object object) {
addEditDeployableUnitNamePropertyDescriptor(object);
addEditorDeployableUnitNamePropertyDescriptor(object);
addJobFamilyPropertyDescriptor(object);
- addResourcePropertyDescriptor(object);
- addCommitIdsPropertyDescriptor(object);
addCommitIdPropertyDescriptor(object);
+ addNonExclusiveStateCustomizersPropertyDescriptor(object);
addProjectNamePropertyDescriptor(object);
addMakingPropertyDescriptor(object);
addEditPropertyDescriptor(object);
addEditorPropertyDescriptor(object);
addStrategyPropertyDescriptor(object);
+ addBasePackagePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -239,48 +239,34 @@ protected void addJobFamilyPropertyDescriptor(Object object) {
}
/**
- * This adds a property descriptor for the Resource feature.
- *
- * @generated
- */
- protected void addResourcePropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_State_resource_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_State_resource_feature", "_UI_State_type"),
- ClassMakerPackage.Literals.STATE__RESOURCE, true, false, true, null, null, null));
- }
-
- /**
- * This adds a property descriptor for the Commit Ids feature.
*
* @generated
*/
- protected void addCommitIdsPropertyDescriptor(Object object) {
+ protected void addCommitIdPropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_State_commitIds_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_State_commitIds_feature",
- "_UI_State_type"),
- ClassMakerPackage.Literals.STATE__COMMIT_IDS, true, false, false,
+ getResourceLocator(), getString("_UI_State_commitId_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_State_commitId_feature", "_UI_State_type"),
+ ClassMakerPackage.Literals.STATE__COMMIT_ID, true, false, false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
/**
- * This adds a property descriptor for the Commit Id feature.
+ * This adds a property descriptor for the Non Exclusive State Customizers
+ * feature.
*
* @generated
*/
- protected void addCommitIdPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_State_commitId_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_State_commitId_feature", "_UI_State_type"),
- ClassMakerPackage.Literals.STATE__COMMIT_ID, true, false, false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ protected void addNonExclusiveStateCustomizersPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_State_nonExclusiveStateCustomizers_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_State_nonExclusiveStateCustomizers_feature",
+ "_UI_State_type"),
+ ClassMakerPackage.Literals.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS, true, false, true, null, null,
+ null));
}
/**
@@ -358,6 +344,22 @@ protected void addStrategyPropertyDescriptor(Object object) {
ClassMakerPackage.Literals.STATE__STRATEGY, true, false, true, null, null, null));
}
+ /**
+ * This adds a property descriptor for the Base Package feature.
+ *
+ * @generated
+ */
+ protected void addBasePackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_State_basePackage_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_State_basePackage_feature",
+ "_UI_State_type"),
+ ClassMakerPackage.Literals.STATE__BASE_PACKAGE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an
* appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand},
@@ -433,12 +435,12 @@ public void notifyChanged(Notification notification) {
case ClassMakerPackage.STATE__EDIT_DEPLOYABLE_UNIT_NAME:
case ClassMakerPackage.STATE__EDITOR_DEPLOYABLE_UNIT_NAME:
case ClassMakerPackage.STATE__JOB_FAMILY:
- case ClassMakerPackage.STATE__COMMIT_IDS:
case ClassMakerPackage.STATE__COMMIT_ID:
case ClassMakerPackage.STATE__PROJECT_NAME:
case ClassMakerPackage.STATE__MAKING:
case ClassMakerPackage.STATE__EDIT:
case ClassMakerPackage.STATE__EDITOR:
+ case ClassMakerPackage.STATE__BASE_PACKAGE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StrategyItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StrategyItemProvider.java
index c1c32176..c7a2254f 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StrategyItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/StrategyItemProvider.java
@@ -21,6 +21,7 @@
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -29,7 +30,10 @@
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.enterprisedomain.classmaker.ClassMakerFactory;
import org.enterprisedomain.classmaker.ClassMakerPackage;
+import org.enterprisedomain.classmaker.Strategy;
/**
* This is the item provider adapter for a
@@ -61,88 +65,56 @@ public List getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
- addGeneratorsPropertyDescriptor(object);
- addExportersPropertyDescriptor(object);
- addInstallersPropertyDescriptor(object);
- addLoadersPropertyDescriptor(object);
addStatePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the Generators feature.
+ * This adds a property descriptor for the State feature.
*
* @generated
*/
- protected void addGeneratorsPropertyDescriptor(Object object) {
+ protected void addStatePropertyDescriptor(Object object) {
itemPropertyDescriptors
.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Strategy_generators_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Strategy_generators_feature",
+ getResourceLocator(), getString("_UI_Strategy_state_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Strategy_state_feature",
"_UI_Strategy_type"),
- ClassMakerPackage.Literals.STRATEGY__GENERATORS, true, false, true, null, null, null));
+ ClassMakerPackage.Literals.STRATEGY__STATE, true, false, true, null, null, null));
}
/**
- * This adds a property descriptor for the Exporters feature.
+ * This specifies how to implement {@link #getChildren} and is used to deduce an
+ * appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ *
*
* @generated
*/
- protected void addExportersPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Strategy_exporters_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Strategy_exporters_feature",
- "_UI_Strategy_type"),
- ClassMakerPackage.Literals.STRATEGY__EXPORTERS, true, false, true, null, null, null));
+ @Override
+ public Collection extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ClassMakerPackage.Literals.STRATEGY__WORKERS);
+ }
+ return childrenFeatures;
}
/**
- * This adds a property descriptor for the Installers feature.
+ *
*
* @generated
*/
- protected void addInstallersPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Strategy_installers_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Strategy_installers_feature",
- "_UI_Strategy_type"),
- ClassMakerPackage.Literals.STRATEGY__INSTALLERS, true, false, true, null, null, null));
- }
-
- /**
- * This adds a property descriptor for the Loaders feature.
- *
- * @generated
- */
- protected void addLoadersPropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Strategy_loaders_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Strategy_loaders_feature",
- "_UI_Strategy_type"),
- ClassMakerPackage.Literals.STRATEGY__LOADERS, true, false, true, null, null, null));
- }
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to
+ // use for
+ // adding (see {@link AddCommand}) it as a child.
- /**
- * This adds a property descriptor for the State feature.
- *
- * @generated
- */
- protected void addStatePropertyDescriptor(Object object) {
- itemPropertyDescriptors
- .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
- getResourceLocator(), getString("_UI_Strategy_state_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Strategy_state_feature",
- "_UI_Strategy_type"),
- ClassMakerPackage.Literals.STRATEGY__STATE, true, false, true, null, null, null));
+ return super.getChildFeature(object, child);
}
/**
@@ -176,6 +148,12 @@ public String getText(Object object) {
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
+
+ switch (notification.getFeatureID(Strategy.class)) {
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
super.notifyChanged(notification);
}
@@ -189,6 +167,9 @@ public void notifyChanged(Notification notification) {
@Override
protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ClassMakerPackage.Literals.STRATEGY__WORKERS,
+ ClassMakerFactory.eINSTANCE.create(ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY)));
}
/**
diff --git a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/WorkspaceItemProvider.java b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/WorkspaceItemProvider.java
index 7c7f03d1..9d5e82a8 100644
--- a/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/WorkspaceItemProvider.java
+++ b/bundles/org.enterprisedomain.classmaker.edit/src/org/enterprisedomain/classmaker/provider/WorkspaceItemProvider.java
@@ -68,7 +68,9 @@ public List getPropertyDescriptors(Object object) {
super.getPropertyDescriptors(object);
addResourceSetPropertyDescriptor(object);
+ addNonExclusiveCustomizersPropertyDescriptor(object);
addSCMRegistryPropertyDescriptor(object);
+ addExcludedEPackagesPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -89,6 +91,22 @@ protected void addResourceSetPropertyDescriptor(Object object) {
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
}
+ /**
+ * This adds a property descriptor for the Non Exclusive Customizers feature.
+ *
+ *
+ * @generated
+ */
+ protected void addNonExclusiveCustomizersPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Workspace_nonExclusiveCustomizers_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Workspace_nonExclusiveCustomizers_feature",
+ "_UI_Workspace_type"),
+ ClassMakerPackage.Literals.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS, true, false, true, null, null,
+ null));
+ }
+
/**
* This adds a property descriptor for the SCM Registry feature.
@@ -104,6 +122,21 @@ protected void addSCMRegistryPropertyDescriptor(Object object) {
ClassMakerPackage.Literals.WORKSPACE__SCM_REGISTRY, false, false, false, null, null, null));
}
+ /**
+ * This adds a property descriptor for the Excluded EPackages feature.
+ *
+ * @generated
+ */
+ protected void addExcludedEPackagesPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_Workspace_excludedEPackages_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Workspace_excludedEPackages_feature",
+ "_UI_Workspace_type"),
+ ClassMakerPackage.Literals.WORKSPACE__EXCLUDED_EPACKAGES, true, false, true, null, null, null));
+ }
+
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an
* appropriate feature for an {@link org.eclipse.emf.edit.command.AddCommand},
diff --git a/bundles/org.enterprisedomain.classmaker.images.ui/src/org/enterprisedomain/classmaker/images/ui/ImageViewer.java b/bundles/org.enterprisedomain.classmaker.images.ui/src/org/enterprisedomain/classmaker/images/ui/ImageViewer.java
new file mode 100644
index 00000000..f38fd492
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.images.ui/src/org/enterprisedomain/classmaker/images/ui/ImageViewer.java
@@ -0,0 +1,456 @@
+package org.enterprisedomain.classmaker.images.ui;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.eclipse.core.filesystem.EFS;
+import org.eclipse.core.filesystem.IFileStore;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseMoveListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.ScrollBar;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IURIEditorInput;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.EditorPart;
+import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+import org.enterprisedomain.classmaker.imagesUI.Measurement;
+
+public class ImageViewer extends EditorPart {
+
+ public static final String ID = "org.enterprisedomain.classmaker.images.ui.imageViewer";
+
+ private Canvas canvas;
+ private Image sourceImage;
+ private Image screenImage;
+ private AffineTransform transform;
+ private ImageData data;
+ private List measurementPoints;
+ private List measurements;
+ private EObject targetObject;
+ private Point lastPoint;
+ private double rate = 1.0;
+ private KeyListener keyListener = new KeyListener() {
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ }
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+ if (e.character == '+')
+ zoom(1.1);
+ if (e.character == '-')
+ zoom(0.9);
+// if (e.character == 27) {
+// canvas.getHorizontalBar().setSelection(canvas.getHorizontalBar().getSelection() - 10);
+// scrollHorizontally(canvas.getHorizontalBar());
+// }
+// if (e.character == 26) {
+// canvas.getHorizontalBar().setSelection(canvas.getHorizontalBar().getSelection() + 10);
+// scrollHorizontally(canvas.getHorizontalBar());
+// }
+// if (e.character == 24) {
+// canvas.getVerticalBar().setSelection(canvas.getVerticalBar().getSelection() - 10);
+// scrollVertically(canvas.getVerticalBar());
+// }
+// if (e.character == 25) {
+// canvas.getVerticalBar().setSelection(canvas.getVerticalBar().getSelection() + 10);
+// scrollVertically(canvas.getVerticalBar());
+// }
+ }
+ };
+
+ private double srcY;
+
+ private double srcX;
+
+ private double destWidth;
+
+ private double destHeight;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ canvas = new Canvas(parent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.NO_BACKGROUND);
+ canvas.addControlListener(new ControlAdapter() {
+ public void controlResized(ControlEvent event) {
+ syncScrollBars();
+ }
+ });
+ canvas.addPaintListener(e -> paint(e.gc));
+ canvas.addKeyListener(keyListener);
+ initScrollBars();
+ sourceImage = new Image(parent.getDisplay(), data);
+ transform = new AffineTransform();
+ syncScrollBars();
+ }
+
+ private void initScrollBars() {
+ ScrollBar horizontal = canvas.getHorizontalBar();
+ horizontal.setEnabled(false);
+ horizontal.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent event) {
+ scrollHorizontally((ScrollBar) event.widget);
+ }
+ });
+ ScrollBar vertical = canvas.getVerticalBar();
+ vertical.setEnabled(false);
+ vertical.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent event) {
+ scrollVertically((ScrollBar) event.widget);
+ }
+ });
+ }
+
+ public void syncScrollBars() {
+ if (sourceImage == null) {
+ canvas.redraw();
+ return;
+ }
+
+ AffineTransform af = transform;
+ double sx = af.getScaleX(), sy = af.getScaleY();
+ double tx = af.getTranslateX(), ty = af.getTranslateY();
+ if (tx > 0)
+ tx = 0;
+ if (ty > 0)
+ ty = 0;
+
+ ScrollBar horizontal = canvas.getHorizontalBar();
+ horizontal.setIncrement((int) (canvas.getClientArea().width / 100));
+ horizontal.setPageIncrement(canvas.getClientArea().width);
+ Rectangle imageBound = sourceImage.getBounds();
+ int cw = canvas.getClientArea().width, ch = canvas.getClientArea().height;
+ if (imageBound.width * sx > cw) {
+ horizontal.setMaximum((int) (imageBound.width * sx));
+ horizontal.setEnabled(true);
+ if (((int) -tx) > horizontal.getMaximum() - cw)
+ tx = -horizontal.getMaximum() + cw;
+ } else {
+ horizontal.setEnabled(false);
+ tx = (cw - imageBound.width * sx) / 2;
+ }
+ horizontal.setSelection((int) (-tx));
+ horizontal.setThumb((int) (canvas.getClientArea().width));
+
+ ScrollBar vertical = canvas.getVerticalBar();
+ vertical.setIncrement((int) (canvas.getClientArea().height / 100));
+ vertical.setPageIncrement((int) (canvas.getClientArea().height));
+ if (imageBound.height * sy > ch) {
+ vertical.setMaximum((int) (imageBound.height * sy));
+ vertical.setEnabled(true);
+ if (((int) -ty) > vertical.getMaximum() - ch)
+ ty = -vertical.getMaximum() + ch;
+ } else {
+ vertical.setEnabled(false);
+ ty = (ch - imageBound.height * sy) / 2;
+ }
+ vertical.setSelection((int) (-ty));
+ vertical.setThumb((int) (canvas.getClientArea().height));
+
+ af = AffineTransform.getScaleInstance(sx, sy);
+ af.preConcatenate(AffineTransform.getTranslateInstance(tx, ty));
+ transform = af;
+
+ canvas.redraw();
+ }
+
+ private void scrollHorizontally(ScrollBar scrollBar) {
+ if (sourceImage == null)
+ return;
+
+ AffineTransform af = transform;
+ double tx = af.getTranslateX();
+ double select = -scrollBar.getSelection();
+ af.preConcatenate(AffineTransform.getTranslateInstance(select - tx, 0));
+ transform = af;
+ syncScrollBars();
+ }
+
+ private void scrollVertically(ScrollBar scrollBar) {
+ if (sourceImage == null)
+ return;
+
+ AffineTransform af = transform;
+ double ty = af.getTranslateY();
+ double select = -scrollBar.getSelection();
+ af.preConcatenate(AffineTransform.getTranslateInstance(0, select - ty));
+ transform = af;
+ syncScrollBars();
+ }
+
+ public void addMouseListener(MouseListener listener) {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.addMouseListener(listener);
+ }
+
+ public void removeMouseListener(MouseListener listener) {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.removeMouseListener(listener);
+ }
+
+ public void addMouseMoveListener(MouseMoveListener listener) {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.addMouseMoveListener(listener);
+ }
+
+ public void removeMouseMoveListener(MouseMoveListener listener) {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.removeMouseMoveListener(listener);
+ }
+
+ private void paint(GC gc) {
+ Rectangle clientRect = canvas.getClientArea();
+ if (sourceImage != null) {
+ Rectangle imageRect = inverseTransformRect(transform, clientRect);
+ int gap = 2;
+ imageRect.x -= gap;
+ imageRect.y -= gap;
+ imageRect.width += 2 * gap;
+ imageRect.height += 2 * gap;
+
+ Rectangle imageBound = sourceImage.getBounds();
+ imageRect = imageRect.intersection(imageBound);
+ Rectangle destRect = transformRect(transform, imageRect);
+
+ if (screenImage != null)
+ screenImage.dispose();
+ screenImage = new Image(canvas.getDisplay(), clientRect.width, clientRect.height);
+ GC newGC = new GC(screenImage);
+ newGC.setClipping(clientRect);
+ newGC.drawImage(sourceImage, imageRect.x, imageRect.y, imageRect.width, imageRect.height, destRect.x,
+ destRect.y, destRect.width, destRect.height);
+ newGC.dispose();
+
+ gc.drawImage(screenImage, 0, 0);
+
+ Rectangle pointRect = transformRect(transform, sourceImage.getBounds());
+
+ if (measurements != null)
+ for (Measurement m : measurements) {
+ gc.setForeground(canvas.getDisplay().getSystemColor(SWT.COLOR_BLACK));
+ gc.drawLine((int) Math.floor(doubleX((m.getFrom().x) * this.rate, srcX, destRect.width)),
+ (int) Math.floor(doubleY((m.getFrom().y) * this.rate, destRect.y, destRect.height)),
+ (int) Math.floor(doubleX((m.getTo().x) * this.rate, srcX, destRect.width)),
+ (int) Math.floor(doubleY((m.getTo().y) * this.rate, destRect.y, destRect.height)));
+ }
+ if (measurementPoints != null)
+ for (Point m : measurementPoints) {
+ gc.setBackground(canvas.getDisplay().getSystemColor(SWT.COLOR_GREEN));
+ gc.fillOval((int) Math.floor(doubleX((m.x) * this.rate, srcX, destRect.width)) - 8,
+ (int) Math.floor(doubleY((m.y) * this.rate, destRect.y, destRect.height)) - 8, 16, 16);
+ }
+ } else {
+ gc.setClipping(clientRect);
+ gc.fillRectangle(clientRect);
+ initScrollBars();
+ }
+ }
+
+ private double doubleX(double srcX, double destX, double destWidth) {
+ double center = destX + destWidth / 2;
+ if (srcX <= center)
+ return srcX;
+ else
+ return doubleX(srcX, center, destWidth * this.rate);
+ }
+
+ private double doubleY(double srcY, double destY, double destHeight) {
+ double center = destY + destHeight / 2;
+ if (srcY <= center)
+ return srcY;
+ else
+ return doubleY(srcY, center, destHeight * this.rate);
+ }
+
+ public void redraw() {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.redraw();
+ }
+
+ public void centerZoom(double dx, double dy, double scale, AffineTransform af) {
+ af.preConcatenate(AffineTransform.getTranslateInstance(-dx, -dy));
+ af.preConcatenate(AffineTransform.getScaleInstance(scale, scale));
+ af.preConcatenate(AffineTransform.getTranslateInstance(dx, dy));
+ transform = af;
+ syncScrollBars();
+ }
+
+ public void zoom(double rate) {
+ if (sourceImage == null)
+ return;
+ Rectangle rect = canvas.getClientArea();
+ int w = rect.width, h = rect.height;
+ double dx = ((double) w) / 2;
+ double dy = ((double) h) / 2;
+ setRate(rate);
+ centerZoom(dx, dy, rate, transform);
+ }
+
+ private void setRate(double rate) {
+ this.rate *= rate;
+ }
+
+ public static Rectangle transformRect(AffineTransform af, Rectangle src) {
+ Rectangle dest = new Rectangle(0, 0, 0, 0);
+ src = absRect(src);
+ Point p1 = new Point(src.x, src.y);
+ p1 = transformPoint(af, p1);
+ dest.x = p1.x;
+ dest.y = p1.y;
+ dest.width = (int) (src.width * af.getScaleX());
+ dest.height = (int) (src.height * af.getScaleY());
+ return dest;
+ }
+
+ public static Rectangle inverseTransformRect(AffineTransform af, Rectangle src) {
+ Rectangle dest = new Rectangle(0, 0, 0, 0);
+ src = absRect(src);
+ Point p1 = new Point(src.x, src.y);
+ p1 = inverseTransformPoint(af, p1);
+ dest.x = p1.x;
+ dest.y = p1.y;
+ dest.width = (int) (src.width / af.getScaleX());
+ dest.height = (int) (src.height / af.getScaleY());
+ return dest;
+ }
+
+ public static Point transformPoint(AffineTransform af, Point pt) {
+ Point2D src = new Point2D.Float(pt.x, pt.y);
+ Point2D dest = af.transform(src, null);
+ Point point = new Point((int) Math.floor(dest.getX()), (int) Math.floor(dest.getY()));
+ return point;
+ }
+
+ public static Point inverseTransformPoint(AffineTransform af, Point pt) {
+ Point2D src = new Point2D.Float(pt.x, pt.y);
+ try {
+ Point2D dest = af.inverseTransform(src, null);
+ return new Point((int) Math.floor(dest.getX()), (int) Math.floor(dest.getY()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new Point(0, 0);
+ }
+ }
+
+ public static Rectangle absRect(Rectangle src) {
+ Rectangle dest = new Rectangle(0, 0, 0, 0);
+ if (src.width < 0) {
+ dest.x = src.x + src.width + 1;
+ dest.width = -src.width;
+ } else {
+ dest.x = src.x;
+ dest.width = src.width;
+ }
+ if (src.height < 0) {
+ dest.y = src.y + src.height + 1;
+ dest.height = -src.height;
+ } else {
+ dest.y = src.y;
+ dest.height = src.height;
+ }
+ return dest;
+ }
+
+ @Override
+ public void setFocus() {
+ if (canvas != null && !canvas.isDisposed())
+ canvas.setFocus();
+ }
+
+ public void dispose() {
+ if (screenImage != null && !screenImage.isDisposed())
+ screenImage.dispose();
+ if (canvas != null && !canvas.isDisposed())
+ canvas.dispose();
+ if (sourceImage != null && !sourceImage.isDisposed())
+ sourceImage.dispose();
+ super.dispose();
+ }
+
+ @Override
+ public void doSave(IProgressMonitor monitor) {
+ }
+
+ @Override
+ public void doSaveAs() {
+ }
+
+ @Override
+ public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+ try {
+ IFileStore file = EFS.getLocalFileSystem().getStore(((IURIEditorInput) input).getURI());
+ data = new ImageData(file.openInputStream(EFS.NONE, ClassMakerPlugin.getProgressMonitor()));
+ } catch (CoreException e) {
+ throw new PartInitException(e.getStatus());
+ }
+ setInput(input);
+ setSite(site);
+ }
+
+ @Override
+ public boolean isDirty() {
+ return false;
+ }
+
+ @Override
+ public boolean isSaveAsAllowed() {
+ return false;
+ }
+
+ public void setMeasurementPoints(List measurementPoints) {
+ this.measurementPoints = measurementPoints;
+ }
+
+ public List getMeasurements() {
+ if (targetObject != null) {
+ return (EList) targetObject.eGet(targetObject.eClass().getEStructuralFeature("measurements"));
+ }
+ return measurements;
+ }
+
+ public void setMeasurements(List measurements) {
+ if (targetObject != null) {
+ EList ms = (EList) targetObject
+ .eGet(targetObject.eClass().getEStructuralFeature("measurements"));
+ ms.clear();
+ if (measurements != null)
+ ms.addAll(measurements);
+ }
+ this.measurements = measurements;
+ }
+
+ public Point getLastPoint() {
+ return lastPoint;
+ }
+
+ public void setLastPoint(Point lastPoint) {
+ this.lastPoint = lastPoint;
+ }
+
+ public void setTargetObject(EObject targetObject) {
+ this.targetObject = targetObject;
+ }
+
+}
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/.classpath b/bundles/org.enterprisedomain.classmaker.libraries/.classpath
new file mode 100644
index 00000000..34094e47
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/.classpath
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/.gitignore b/bundles/org.enterprisedomain.classmaker.libraries/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/.polyglot.META-INF b/bundles/org.enterprisedomain.classmaker.libraries/.polyglot.META-INF
new file mode 100644
index 00000000..e69de29b
diff --git a/features/org.enterprisedomain.classmaker.ecp.feature/.project b/bundles/org.enterprisedomain.classmaker.libraries/.project
similarity index 61%
rename from features/org.enterprisedomain.classmaker.ecp.feature/.project
rename to bundles/org.enterprisedomain.classmaker.libraries/.project
index 94383faf..313a14dd 100644
--- a/features/org.enterprisedomain.classmaker.ecp.feature/.project
+++ b/bundles/org.enterprisedomain.classmaker.libraries/.project
@@ -1,34 +1,28 @@
- org.enterprisedomain.classmaker.ecp.feature
+ org.enterprisedomain.classmaker.libraries
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
+ org.eclipse.jdt.core.javabuilder
- org.eclipse.pde.FeatureBuilder
+ org.eclipse.pde.ManifestBuilder
- org.eclipse.m2e.core.maven2Builder
+ org.eclipse.pde.SchemaBuilder
- org.eclipse.m2e.core.maven2Nature
org.eclipse.pde.PluginNature
- org.eclipse.pde.FeatureNature
+ org.eclipse.jdt.core.javanature
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.libraries/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..2d95216b
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: ClassMaker Libraries
+Bundle-SymbolicName: org.enterprisedomain.classmaker.libraries;singleton:=true
+Bundle-Version: 0.8.55
+Require-Bundle: org.eclipse.osgi,
+ org.eclipse.core.runtime;bundle-version="3.26.0",
+ org.enterprisedomain.classmaker;bundle-version="0.8.55",
+ org.eclipse.jface
+Bundle-Vendor: Kyrill Zotkin
+Automatic-Module-Name: org.enterprisedomain.classmaker.libraries
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.enterprisedomain.classmaker.libraries.LibrariesPlugin
+Bundle-RequiredExecutionEnvironment: JavaSE-21
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/build.properties b/bundles/org.enterprisedomain.classmaker.libraries/build.properties
new file mode 100644
index 00000000..ded7b23f
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/build.properties
@@ -0,0 +1,7 @@
+bin.includes = plugin.xml,\
+ .,\
+ META-INF/,\
+ schema/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/plugin.xml b/bundles/org.enterprisedomain.classmaker.libraries/plugin.xml
new file mode 100644
index 00000000..770722e4
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/plugin.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/schema/libraries.exsd b/bundles/org.enterprisedomain.classmaker.libraries/schema/libraries.exsd
new file mode 100644
index 00000000..97148a87
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/schema/libraries.exsd
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+ Pre-defines ClassMaker Contributions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Enter the first release in which this extension point appears.]
+
+
+
+
+
+
+
+
+ [Enter extension point usage example here.]
+
+
+
+
+
+
+
+
+ [Enter API information here.]
+
+
+
+
+
+
+
+
+ [Enter information about supplied implementation of this extension
+ point.]
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LibrariesPlugin.java b/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LibrariesPlugin.java
new file mode 100644
index 00000000..2a284c1a
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LibrariesPlugin.java
@@ -0,0 +1,80 @@
+package org.enterprisedomain.classmaker.libraries;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class LibrariesPlugin extends Plugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.enterprisedomain.classmaker.libraries"; //$NON-NLS-1$
+
+ // The shared instance
+ private static LibrariesPlugin plugin;
+
+ /**
+ * The constructor
+ */
+ public LibrariesPlugin() {
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static LibrariesPlugin getDefault() {
+ return plugin;
+ }
+
+ public static String getPluginDir(String pluginId) {
+ /* get bundle with the specified id */
+ Bundle bundle = Platform.getBundle(pluginId);
+ if (bundle == null)
+ throw new RuntimeException("Could not resolve plugin: " + pluginId + "\r\n"
+ + "Probably the plugin has not been correctly installed.\r\n"
+ + "Running eclipse from shell with -clean option may rectify installation.");
+
+ /* resolve Bundle::getEntry to local URL */
+ URL pluginURL = null;
+ try {
+ pluginURL = FileLocator.resolve(bundle.getEntry("/"));
+ } catch (IOException e) {
+ throw new RuntimeException("Could not get installation directory of the plugin: " + pluginId);
+ }
+ String pluginInstallDir = pluginURL.getPath().trim();
+ if (pluginInstallDir.length() == 0)
+ throw new RuntimeException("Could not get installation directory of the plugin: " + pluginId);
+
+ /*
+ * since path returned by URL::getPath starts with a forward slash, that is not
+ * suitable to run commandlines on Windows-OS, but for Unix-based OSes it is
+ * needed. So strip one character for windows. There seems to be no other clean
+ * way of doing this.
+ */
+ if (Platform.getOS().compareTo(Platform.OS_WIN32) == 0)
+ pluginInstallDir = pluginInstallDir.substring(1);
+
+ return pluginInstallDir;
+ }
+}
diff --git a/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LoadLibrariesCustomizer.java b/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LoadLibrariesCustomizer.java
new file mode 100644
index 00000000..936fd96e
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.libraries/src/org/enterprisedomain/classmaker/libraries/LoadLibrariesCustomizer.java
@@ -0,0 +1,94 @@
+package org.enterprisedomain.classmaker.libraries;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.DirectoryNotEmptyException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.codegen.util.CodeGenUtil;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.enterprisedomain.classmaker.Customizer;
+import org.enterprisedomain.classmaker.Workspace;
+import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+import org.enterprisedomain.classmaker.impl.CustomizerImpl;
+
+public class LoadLibrariesCustomizer extends CustomizerImpl implements Customizer {
+
+ private String contributionName;
+
+ public LoadLibrariesCustomizer() {
+ }
+
+ @Override
+ public Object customize(EList args) {
+ Workspace workspace = (Workspace) args.get(0);
+ IConfigurationElement[] ces = Platform.getExtensionRegistry()
+ .getConfigurationElementsFor("org.enterprisedomain.classmaker.libraries.libraries");
+ for (IConfigurationElement ce : ces) {
+ String p = LibrariesPlugin.getPluginDir(ce.getContributor().getName());
+ contributionName = ce.getAttribute("contributionName");
+ p = p + "contribs/" + contributionName;
+ File f = new File(p);
+ if (f.exists()) {
+ try {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(contributionName);
+ if (!project.exists()) {
+ EObject ePackage = workspace.getResourceSet()
+ .getResource(URI.createFileURI(
+ p + "/model/" + CodeGenUtil.capName(contributionName) + ".ecore"), true)
+ .getContents().get(0);
+ workspace.createContribution(EcoreUtil.copy(ePackage), ClassMakerPlugin.getProgressMonitor());
+ copyFiles(f, null);
+ }
+ project.refreshLocal(IResource.DEPTH_INFINITE, ClassMakerPlugin.getProgressMonitor());
+ project.open(ClassMakerPlugin.getProgressMonitor());
+ } catch (CoreException e) {
+ ClassMakerPlugin.getInstance().getLog().log(e.getStatus());
+ }
+ }
+ }
+ return super.customize(args);
+ }
+
+ private void copyFiles(File source, String target) {
+ if (target == null)
+ target = ResourcesPlugin.getWorkspace().getRoot().getRawLocation().toString() + File.separator
+ + contributionName;
+ if (source.isDirectory())
+ for (String f : source.list()) {
+ File file = new File(source.getPath() + File.separator + f);
+ if (file.isDirectory()) {
+ copyFile(file, target, f);
+ copyFiles(file, target + File.separator + f);
+ } else {
+ copyFile(file, target, f);
+ }
+ }
+ }
+
+ private void copyFile(File source, String target, String fileName) {
+ try {
+ Path t = Paths.get(target + File.separator + fileName);
+ File c = t.toFile();
+ if (source.isDirectory())
+ c.mkdirs();
+ Files.copy(Path.of(source.getPath()), t, StandardCopyOption.REPLACE_EXISTING);
+ } catch (DirectoryNotEmptyException e) {
+ } catch (IOException e) {
+ ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
+ }
+ }
+
+}
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.classpath b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.classpath
index bc57d238..7931ec26 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.classpath
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.classpath
@@ -1,7 +1,21 @@
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.settings/org.eclipse.jdt.core.prefs b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.settings/org.eclipse.jdt.core.prefs
index a58ebdca..1e0cb16b 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -12,4 +12,4 @@ org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=21
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/META-INF/MANIFEST.MF
index 0563d83c..40dd3d67 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/META-INF/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ClassMaker OSGi System Extension
Bundle-SymbolicName: org.enterprisedomain.classmaker.osgi.systemextension
-Bundle-Version: 0.8.55.qualifier
+Bundle-Version: 0.8.55
Bundle-Vendor: Kyrill Zotkin
-Fragment-Host: org.eclipse.osgi;bundle-version="[3.16.200.v20210226-1447,4.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Fragment-Host: org.eclipse.osgi;bundle-version="[3.23.0.v20250228-0640,4.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Export-Package: org.enterprisedomain.classmaker.osgi.systemextension
ExtensionBundle-Activator: org.enterprisedomain.classmaker.osgi.systemextension.Activator
Automatic-Module-Name: org.enterprisedomain.classmaker.osgi.systemextension
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/pom.xml b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/pom.xml
index dd29a6a8..5886e012 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/pom.xml
@@ -1,13 +1,16 @@
-
+
4.0.0
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
org.enterprisedomain.classmaker.osgi.systemextension
+ 0.8.55
eclipse-plugin
\ No newline at end of file
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/Activator.java b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/Activator.java
index 0d288f2d..af1395c0 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/Activator.java
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/Activator.java
@@ -7,6 +7,8 @@
public class Activator implements BundleActivator {
+ private static BundleContext bundleContext;
+
private ServiceRegistration reg;
public Activator() {
@@ -14,6 +16,7 @@ public Activator() {
@Override
public void start(BundleContext context) throws Exception {
+ bundleContext = context;
reg = context.registerService(ResolverHookFactory.class, new ResolverHook(), null);
}
@@ -23,6 +26,11 @@ public void stop(BundleContext context) throws Exception {
reg.unregister();
reg = null;
}
+ bundleContext = null;
+ }
+
+ public static BundleContext getContext() {
+ return bundleContext;
}
}
diff --git a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/ResolverHook.java b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/ResolverHook.java
index a6410d79..e47cff6f 100644
--- a/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/ResolverHook.java
+++ b/bundles/org.enterprisedomain.classmaker.osgi.systemextension/src/org/enterprisedomain/classmaker/osgi/systemextension/ResolverHook.java
@@ -1,9 +1,8 @@
package org.enterprisedomain.classmaker.osgi.systemextension;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.List;
+import org.osgi.framework.Version;
import org.osgi.framework.hooks.resolver.ResolverHookFactory;
import org.osgi.framework.wiring.BundleCapability;
import org.osgi.framework.wiring.BundleRequirement;
@@ -18,26 +17,24 @@ public org.osgi.framework.hooks.resolver.ResolverHook begin(Collection collisionCandidates) {
- List toRemove = new ArrayList();
- for (BundleCapability candidate : collisionCandidates)
- if (!candidate.equals(singleton))
- toRemove.add(candidate);
- collisionCandidates.removeAll(toRemove);
+ String projectName = singleton.getRevision().getSymbolicName();
+ Version version = singleton.getRevision().getVersion();
+ collisionCandidates.removeIf(candidate -> {
+ return !(candidate.getRevision().getSymbolicName().equals(projectName)
+ && candidate.getRevision().getVersion().equals(version));
+ });
}
@Override
public void filterResolvable(Collection candidates) {
-
}
@Override
public void filterMatches(BundleRequirement requirement, Collection candidates) {
-
}
@Override
public void end() {
-
}
};
}
diff --git a/bundles/org.enterprisedomain.ecp.edit/.classpath b/bundles/org.enterprisedomain.classmaker.ui/.classpath
similarity index 77%
rename from bundles/org.enterprisedomain.ecp.edit/.classpath
rename to bundles/org.enterprisedomain.classmaker.ui/.classpath
index 065ac06e..375961e4 100644
--- a/bundles/org.enterprisedomain.ecp.edit/.classpath
+++ b/bundles/org.enterprisedomain.classmaker.ui/.classpath
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/bundles/org.enterprisedomain.classmaker.ui/.gitignore b/bundles/org.enterprisedomain.classmaker.ui/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/org.enterprisedomain.classmaker.ui/.polyglot.META-INF b/bundles/org.enterprisedomain.classmaker.ui/.polyglot.META-INF
new file mode 100644
index 00000000..e69de29b
diff --git a/bundles/org.enterprisedomain.ecp.edit/.project b/bundles/org.enterprisedomain.classmaker.ui/.project
similarity index 92%
rename from bundles/org.enterprisedomain.ecp.edit/.project
rename to bundles/org.enterprisedomain.classmaker.ui/.project
index b779bbe7..dfcad2a5 100644
--- a/bundles/org.enterprisedomain.ecp.edit/.project
+++ b/bundles/org.enterprisedomain.classmaker.ui/.project
@@ -1,6 +1,6 @@
- org.enterprisedomain.ecp.edit
+ org.enterprisedomain.classmaker.ui
@@ -22,7 +22,7 @@
- org.eclipse.jdt.core.javanature
org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
diff --git a/bundles/org.enterprisedomain.ecp.filter/.settings/org.eclipse.core.resources.prefs b/bundles/org.enterprisedomain.classmaker.ui/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from bundles/org.enterprisedomain.ecp.filter/.settings/org.eclipse.core.resources.prefs
rename to bundles/org.enterprisedomain.classmaker.ui/.settings/org.eclipse.core.resources.prefs
diff --git a/bundles/org.enterprisedomain.ecp.filter/.settings/org.eclipse.jdt.core.prefs b/bundles/org.enterprisedomain.classmaker.ui/.settings/org.eclipse.jdt.core.prefs
similarity index 62%
rename from bundles/org.enterprisedomain.ecp.filter/.settings/org.eclipse.jdt.core.prefs
rename to bundles/org.enterprisedomain.classmaker.ui/.settings/org.eclipse.jdt.core.prefs
index 7adc0fb9..23fa13b1 100644
--- a/bundles/org.enterprisedomain.ecp.filter/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.enterprisedomain.classmaker.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,9 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=21
diff --git a/bundles/org.enterprisedomain.classmaker.ui/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ce7c90d9
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: enterpriseDomain ClassMaker UI
+Bundle-SymbolicName: org.enterprisedomain.classmaker.ui;singleton:=true
+Bundle-Version: 0.8.55
+Require-Bundle: org.eclipse.ui;bundle-version="3.206.100",
+ org.eclipse.swt,
+ org.enterprisedomain.classmaker;bundle-version="0.8.55"
+Bundle-Vendor: Kyrill Zotkin
+Automatic-Module-Name: org.enterprisedomain.classmaker.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-21
diff --git a/bundles/org.enterprisedomain.ecp.filter/build.properties b/bundles/org.enterprisedomain.classmaker.ui/build.properties
old mode 100755
new mode 100644
similarity index 84%
rename from bundles/org.enterprisedomain.ecp.filter/build.properties
rename to bundles/org.enterprisedomain.classmaker.ui/build.properties
index cc91072e..e9863e28
--- a/bundles/org.enterprisedomain.ecp.filter/build.properties
+++ b/bundles/org.enterprisedomain.classmaker.ui/build.properties
@@ -1,4 +1,5 @@
source.. = src/
+output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml
diff --git a/bundles/org.enterprisedomain.classmaker.ui/plugin.xml b/bundles/org.enterprisedomain.classmaker.ui/plugin.xml
new file mode 100644
index 00000000..ac2e855d
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/plugin.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.ecp.edit/pom.xml b/bundles/org.enterprisedomain.classmaker.ui/pom.xml
similarity index 82%
rename from bundles/org.enterprisedomain.ecp.edit/pom.xml
rename to bundles/org.enterprisedomain.classmaker.ui/pom.xml
index 66ef3009..ba4653c4 100644
--- a/bundles/org.enterprisedomain.ecp.edit/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker.ui/pom.xml
@@ -6,11 +6,10 @@
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
- org.enterprisedomain.ecp.edit
-
+ org.enterprisedomain.classmaker.ui
eclipse-plugin
-
\ No newline at end of file
+
diff --git a/bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/ContributionPropertyPage.java b/bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/ContributionPropertyPage.java
new file mode 100644
index 00000000..e89a3b33
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/ContributionPropertyPage.java
@@ -0,0 +1,25 @@
+package org.enterprisedomain.classmaker.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.IWorkbenchPropertyPage;
+import org.eclipse.ui.dialogs.PropertyPage;
+
+public class ContributionPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
+
+ public ContributionPropertyPage() {
+ }
+
+ @Override
+ protected Control createContents(Composite parent) {
+ parent.setLayout(new FillLayout());
+ Label l = new Label(parent, SWT.HORIZONTAL);
+ l.setText("help");
+ setControl(parent);
+ return parent;
+ }
+
+}
diff --git a/bundles/org.enterprisedomain.workbench/src/org/enterprisedomain/workbench/handler/MakeHandler.java b/bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/MakeHandler.java
similarity index 89%
rename from bundles/org.enterprisedomain.workbench/src/org/enterprisedomain/workbench/handler/MakeHandler.java
rename to bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/MakeHandler.java
index d42b6137..31e747e2 100644
--- a/bundles/org.enterprisedomain.workbench/src/org/enterprisedomain/workbench/handler/MakeHandler.java
+++ b/bundles/org.enterprisedomain.classmaker.ui/src/org/enterprisedomain/classmaker/ui/MakeHandler.java
@@ -1,4 +1,4 @@
-package org.enterprisedomain.workbench.handler;
+package org.enterprisedomain.classmaker.ui;
import java.lang.reflect.InvocationTargetException;
@@ -9,12 +9,10 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
-import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.ClassMakerService;
import org.enterprisedomain.classmaker.Project;
import org.enterprisedomain.classmaker.Revision;
@@ -33,9 +31,7 @@ public Object execute(ExecutionEvent event) throws ExecutionException {
final Object eProject = ((IStructuredSelection) selection).getFirstElement();
if (eProject instanceof IProject)
- doMake((String) ((IProject) eProject).getName());
- else if (eProject instanceof ECPProject)
- doMake((String) ((ECPProject) eProject).getName());
+ doMake((String) ((IProject) eProject).getName());
}
return null;
}
diff --git a/bundles/org.enterprisedomain.classmaker.ui/target/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker.ui/target/MANIFEST.MF
new file mode 100644
index 00000000..76637c7a
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/target/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: enterpriseDomain ClassMaker UI
+Bundle-SymbolicName: org.enterprisedomain.classmaker.ui;singleton:=true
+Bundle-Version: 0.8.55
+Require-Bundle: org.eclipse.ui;bundle-version="3.206.100",org.eclipse.sw
+ t,org.enterprisedomain.classmaker;bundle-version="0.8.55"
+Bundle-Vendor: Kyrill Zotkin
+Automatic-Module-Name: org.enterprisedomain.classmaker.ui
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=21))"
+
diff --git a/bundles/org.enterprisedomain.classmaker.ui/target/local-artifacts.properties b/bundles/org.enterprisedomain.classmaker.ui/target/local-artifacts.properties
new file mode 100644
index 00000000..86fbad23
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker.ui/target/local-artifacts.properties
@@ -0,0 +1,4 @@
+#Sun Mar 23 20:03:48 KRAT 2025
+artifact.attached.p2artifacts=/home/kyrill/Documents/devel/git/ClassMaker/bundles/org.enterprisedomain.classmaker.ui/target/p2artifacts.xml
+artifact.attached.p2metadata=/home/kyrill/Documents/devel/git/ClassMaker/bundles/org.enterprisedomain.classmaker.ui/target/p2content.xml
+artifact.main=/home/kyrill/Documents/devel/git/ClassMaker/bundles/org.enterprisedomain.classmaker.ui/target/org.enterprisedomain.classmaker.ui_0.8.55.jar
diff --git a/bundles/org.enterprisedomain.classmaker/.classpath b/bundles/org.enterprisedomain.classmaker/.classpath
index 8d861214..d86d12fd 100644
--- a/bundles/org.enterprisedomain.classmaker/.classpath
+++ b/bundles/org.enterprisedomain.classmaker/.classpath
@@ -1,7 +1,22 @@
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker/.settings/org.eclipse.jdt.core.prefs b/bundles/org.enterprisedomain.classmaker/.settings/org.eclipse.jdt.core.prefs
index d4540a53..3a79233b 100644
--- a/bundles/org.enterprisedomain.classmaker/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.enterprisedomain.classmaker/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/bundles/org.enterprisedomain.classmaker/META-INF/MANIFEST.MF b/bundles/org.enterprisedomain.classmaker/META-INF/MANIFEST.MF
index e30c1d3d..47ae89f7 100644
--- a/bundles/org.enterprisedomain.classmaker/META-INF/MANIFEST.MF
+++ b/bundles/org.enterprisedomain.classmaker/META-INF/MANIFEST.MF
@@ -3,11 +3,11 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.enterprisedomain.classmaker;singleton:=true
Automatic-Module-Name: org.enterprisedomain.classmaker
-Bundle-Version: 0.8.55.qualifier
+Bundle-Version: 0.8.55
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-17
+Bundle-RequiredExecutionEnvironment: JavaSE-21
Export-Package: org.enterprisedomain.classmaker,
org.enterprisedomain.classmaker.core,
org.enterprisedomain.classmaker.impl,
@@ -18,18 +18,18 @@ Export-Package: org.enterprisedomain.classmaker,
org.enterprisedomain.classmaker.jobs.load,
org.enterprisedomain.classmaker.scm,
org.enterprisedomain.classmaker.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.25.0,4.0.0)";visibility:=reexport,
- org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.26.100,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.34.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.codegen.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
- org.eclipse.osgi;bundle-version="[3.11.1,4.0.0)";visibility:=reexport,
- org.eclipse.osgi.services;bundle-version="[3.5.100,4.0.0)";visibility:=reexport,
+ org.eclipse.osgi;bundle-version="[3.21.0,4.0.0)";visibility:=reexport,
+ org.eclipse.osgi.services;bundle-version="[3.11.100,4.0.0)";visibility:=reexport,
org.eclipse.e4.core.contexts;bundle-version="[1.5.0,2.0.0)";visibility:=reexport,
org.eclipse.e4.core.di;bundle-version="[1.6.1,2.0.0)";visibility:=reexport,
org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)";visibility:=reexport,
org.eclipse.pde.core;bundle-version="[3.11.0,4.0.0)",
org.apache.ant;bundle-version="[1.10.9,2.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.12.1,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.34.0,4.0.0)",
org.eclipse.pde.launching;bundle-version="[3.6.400,4.0.0)";visibility:=reexport,
org.eclipse.equinox.launcher;bundle-version="[1.3.200,2.0.0)",
org.eclipse.pde.api.tools;bundle-version="[1.1.1,2.0.0)",
@@ -58,16 +58,17 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.25.0,4.0.0)";visibil
org.eclipse.swt;bundle-version="[3.110.0,4.0.0)",
org.eclipse.jface;bundle-version="[3.13.1,4.0.0)",
org.eclipse.core.jobs;bundle-version="[3.9.1,4.0.0)",
- javax.annotation;bundle-version="[1.3.5,2.0.0)",
org.eclipse.pde.ds.core;bundle-version="1.1.500",
org.eclipse.emf.edit;bundle-version="2.16.0",
org.eclipse.emf.edit.ui;bundle-version="2.16.0",
org.apache.felix.gogo.command;bundle-version="1.1.2",
org.apache.felix.gogo.runtime;bundle-version="1.1.4",
org.apache.felix.gogo.shell;bundle-version="1.1.4",
- org.eclipse.equinox.common,
- org.eclipse.emf.query;bundle-version="1.7.0";visibility:=reexport
+ org.eclipse.equinox.common;bundle-version="[3.17.0,4.0.0)",
+ org.eclipse.emf.query;bundle-version="1.7.0";visibility:=reexport,
+ org.eclipse.jdt.annotation;bundle-version="2.2.700",
+ org.eclipse.jdt.core.manipulation;bundle-version="1.20.0",
+ jakarta.annotation-api;bundle-version="2.1.1"
Service-Component: OSGI-INF/component.xml
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.enterprisedomain.classmaker.core.ClassMakerPlugin
-Import-Package: org.enterprisedomain.classmaker.jobs.export
diff --git a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.aird b/bundles/org.enterprisedomain.classmaker/model/ClassMaker.aird
deleted file mode 100644
index d7439626..00000000
--- a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.aird
+++ /dev/null
@@ -1,2682 +0,0 @@
-
-
-
- ClassMaker.ecore
- http://www.eclipse.org/emf/2002/Ecore
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- KEEP_LOCATION
- KEEP_SIZE
- KEEP_RATIO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- KEEP_LOCATION
- KEEP_SIZE
- KEEP_RATIO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- KEEP_LOCATION
- KEEP_SIZE
- KEEP_RATIO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.ecore b/bundles/org.enterprisedomain.classmaker/model/ClassMaker.ecore
index cbca1403..5d5576b9 100644
--- a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.ecore
+++ b/bundles/org.enterprisedomain.classmaker/model/ClassMaker.ecore
@@ -49,6 +49,9 @@
+
+
+
@@ -176,18 +179,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -199,6 +190,8 @@
+
@@ -215,12 +208,9 @@
+
-
-
-
-
@@ -229,16 +219,14 @@
-
-
-
-
+
+
+
+
+
@@ -255,9 +243,7 @@
-
-
-
+
@@ -309,6 +295,8 @@
+
@@ -435,6 +423,8 @@
+
@@ -445,7 +435,10 @@
+
+
@@ -573,16 +566,25 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -621,6 +623,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -774,7 +789,6 @@
-
@@ -849,9 +863,6 @@
-
@@ -918,6 +929,8 @@
+
diff --git a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.genmodel b/bundles/org.enterprisedomain.classmaker/model/ClassMaker.genmodel
index d88fb067..5f035998 100644
--- a/bundles/org.enterprisedomain.classmaker/model/ClassMaker.genmodel
+++ b/bundles/org.enterprisedomain.classmaker/model/ClassMaker.genmodel
@@ -1,14 +1,14 @@
+ interfaceNamePattern="" runtimePlatform="RCP" pluginKey="ClassMaker" eclipsePlatformVersion="2023-12">
ClassMaker.ecore
+
@@ -67,6 +68,9 @@
+
+
+
@@ -88,15 +92,15 @@
-
-
+
+
@@ -119,15 +123,8 @@
-
-
-
-
-
-
-
-
+
@@ -136,6 +133,10 @@
+
+
+
+
@@ -146,6 +147,7 @@
+
@@ -156,9 +158,7 @@
-
-
-
+
@@ -168,8 +168,10 @@
+
+
@@ -244,9 +246,14 @@
+
+
+
+
+
@@ -256,6 +263,10 @@
+
+
+
+
@@ -327,7 +338,6 @@
-
@@ -342,6 +352,7 @@
+
@@ -363,9 +374,7 @@
-
-
-
+
diff --git a/bundles/org.enterprisedomain.classmaker/plugin.xml b/bundles/org.enterprisedomain.classmaker/plugin.xml
index 706cdf08..204526e4 100644
--- a/bundles/org.enterprisedomain.classmaker/plugin.xml
+++ b/bundles/org.enterprisedomain.classmaker/plugin.xml
@@ -9,41 +9,44 @@
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ class="org.enterprisedomain.classmaker.ClassMakerPackage"
+ genModel="model/ClassMaker.genmodel"/>
@@ -52,92 +55,92 @@
type="domainmodel"
class="org.enterprisedomain.classmaker.util.ClassMakerResourceFactoryImpl"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.enterprisedomain.classmaker/pom.xml b/bundles/org.enterprisedomain.classmaker/pom.xml
index ed2b578b..02b85b01 100644
--- a/bundles/org.enterprisedomain.classmaker/pom.xml
+++ b/bundles/org.enterprisedomain.classmaker/pom.xml
@@ -7,7 +7,7 @@
org.enterprisedomain
org.enterprisedomain.root
- 0.8.55-SNAPSHOT
+ 0.8.55
../../
eclipse-plugin
diff --git a/bundles/org.enterprisedomain.classmaker/schema/customizers.exsd b/bundles/org.enterprisedomain.classmaker/schema/customizers.exsd
index b499e550..d305d7c8 100644
--- a/bundles/org.enterprisedomain.classmaker/schema/customizers.exsd
+++ b/bundles/org.enterprisedomain.classmaker/schema/customizers.exsd
@@ -59,36 +59,15 @@
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -100,6 +79,13 @@
+
+
+
+
+
+
+
@@ -135,7 +121,8 @@
- [Enter information about supplied implementation of this extension point.]
+ [Enter information about supplied implementation of this extension
+ point.]
diff --git a/bundles/org.enterprisedomain.classmaker/schema/stages.exsd b/bundles/org.enterprisedomain.classmaker/schema/stages.exsd
index 9621200e..8260a446 100644
--- a/bundles/org.enterprisedomain.classmaker/schema/stages.exsd
+++ b/bundles/org.enterprisedomain.classmaker/schema/stages.exsd
@@ -1,129 +1,132 @@
-
-
-
-
-
-
- [Enter description of this extension point.]
-
-
+
+
+
+
+
+
+ [Enter description of this extension point.]
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
- [Enter the first release in which this extension point appears.]
-
-
+
+
+
+
+
+
-
-
-
-
-
- [Enter extension point usage example here.]
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
- [Enter API information here.]
-
-
+
+
+
+
+
-
-
-
-
-
- [Enter information about supplied implementation of this extension point.]
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [Enter the first release in which this extension point appears.]
+
+
+
+
+
+
+
+
+ [Enter extension point usage example here.]
+
+
+
+
+
+
+
+
+ [Enter API information here.]
+
+
+
+
+
+
+
+
+ [Enter information about supplied implementation of this extension
+ point.]
+
+
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Blueprint.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Blueprint.java
index da3a0505..f1dc3ade 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Blueprint.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Blueprint.java
@@ -23,23 +23,19 @@
* A representation of the model object
* 'Blueprint '.
*
- * Model object wrapper and input specification for
- * {@link #make() making}.
+ *
+ * Model object wrapper and input specification for {@link #make() making}.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel
- * Dynamic Model }
- * {@link org.enterprisedomain.classmaker.Blueprint#getDependencies
- * Dependencies }
- * {@link org.enterprisedomain.classmaker.Blueprint#getCompletionListeners
- * Completion Listeners }
- * {@link org.enterprisedomain.classmaker.Blueprint#isEdit
- * Edit }
- * {@link org.enterprisedomain.classmaker.Blueprint#isEditor
- * Editor }
+ * {@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel Dynamic Model }
+ * {@link org.enterprisedomain.classmaker.Blueprint#getDependencies Dependencies }
+ * {@link org.enterprisedomain.classmaker.Blueprint#getCompletionListeners Completion Listeners }
+ * {@link org.enterprisedomain.classmaker.Blueprint#isEdit Edit }
+ * {@link org.enterprisedomain.classmaker.Blueprint#isEditor Editor }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getBlueprint()
@@ -62,10 +58,8 @@ public interface Blueprint extends EObject {
EObject getDynamicModel();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel Dynamic
- * Model }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel Dynamic Model }' reference.
+ *
* @param value the new value of the 'Dynamic Model ' reference.
* @see #getDynamicModel()
* @generated
@@ -116,10 +110,8 @@ public interface Blueprint extends EObject {
boolean isEdit();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Blueprint#isEdit Edit }'
- * attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Blueprint#isEdit Edit }' attribute.
+ *
* @param value the new value of the 'Edit ' attribute.
* @see #isEdit()
* @generated
@@ -139,10 +131,8 @@ public interface Blueprint extends EObject {
boolean isEditor();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Blueprint#isEditor Editor }'
- * attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Blueprint#isEditor Editor }' attribute.
+ *
* @param value the new value of the 'Editor ' attribute.
* @see #isEditor()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerFactory.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerFactory.java
index 588bc2f9..961d97fa 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerFactory.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerFactory.java
@@ -20,104 +20,103 @@
/**
* The Factory for the model. It provides a
* create method for each non-abstract class of the model.
- *
* @see org.enterprisedomain.classmaker.ClassMakerPackage
* @generated
*/
public interface ClassMakerFactory extends EFactory {
/**
- * The singleton instance of the factory.
- *
* @generated
*/
ClassMakerFactory eINSTANCE = org.enterprisedomain.classmaker.impl.ClassMakerFactoryImpl.init();
/**
- * Returns a new object of class 'Contribution '.
- *
* @return a new object of class 'Contribution '.
* @generated
*/
Contribution createContribution();
/**
- * Returns a new object of class 'Revision '.
+ * Returns a new object of class 'Revision '.
+ *
*
- *
* @return a new object of class 'Revision '.
* @generated
*/
Revision createRevision();
/**
- * Returns a new object of class 'State '.
- *
* @return a new object of class 'State '.
* @generated
*/
State createState();
/**
- * Returns a new object of class 'Strategy '.
+ * Returns a new object of class 'Strategy '.
+ *
*
- *
* @return a new object of class 'Strategy '.
* @generated
*/
Strategy createStrategy();
/**
- * Returns a new object of class 'Workspace '.
+ * Returns a new object of class 'Workspace '.
+ *
*
- *
* @return a new object of class 'Workspace '.
* @generated
*/
Workspace createWorkspace();
/**
- * Returns a new object of class 'Customizer '.
+ * Returns a new object of class 'Customizer '.
+ *
*
- *
* @return a new object of class 'Customizer '.
* @generated
*/
Customizer createCustomizer();
/**
- * Returns a new object of class 'Stage Qualifier '.
- *
* @return a new object of class 'Stage Qualifier '.
* @generated
*/
StageQualifier createStageQualifier();
/**
- * Returns a new object of class 'Models '.
- *
* @return a new object of class 'Models '.
* @generated
*/
Models createModels();
/**
- * Returns a new object of class 'Project '.
+ * Returns a new object of class 'Project '.
+ *
*
- *
* @return a new object of class 'Project '.
* @generated
*/
Project createProject();
/**
- * Returns a new object of class 'SCM Registry '.
- *
* @return a new object of class 'SCM Registry '.
* @generated
*/
@@ -142,18 +141,18 @@ public interface ClassMakerFactory extends EFactory {
ResourceAdapter createResourceAdapter();
/**
- * Returns a new object of class 'Service '.
+ * Returns a new object of class 'Service '.
+ *
*
- *
* @return a new object of class 'Service '.
* @generated
*/
ClassMakerService createClassMakerService();
/**
- * Returns a new object of class 'Blueprint '.
+ * Returns a new object of class 'Blueprint '.
+ *
*
- *
* @return a new object of class 'Blueprint '.
* @generated
*/
@@ -162,7 +161,6 @@ public interface ClassMakerFactory extends EFactory {
/**
* Returns a new object of class 'Completion Notification Adapter '.
*
- *
* @return a new object of class 'Completion Notification Adapter '.
* @generated
*/
@@ -178,9 +176,9 @@ public interface ClassMakerFactory extends EFactory {
SelectRevealHandler createSelectRevealHandler();
/**
- * Returns the package supported by this factory.
- *
* @return the package supported by this factory.
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerPackage.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerPackage.java
index c6c2a133..b8e12144 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerPackage.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerPackage.java
@@ -32,46 +32,43 @@
* and each data type
*
*
- *
* @see org.enterprisedomain.classmaker.ClassMakerFactory
* @model kind="package"
* @generated
*/
public interface ClassMakerPackage extends EPackage {
/**
- * The package name.
- *
+ * The package name.
+ *
* @generated
*/
String eNAME = "classmaker";
/**
- * The package namespace URI.
- *
+ * The package namespace URI.
+ *
* @generated
*/
String eNS_URI = "http://org/enterprisedomain/ClassMaker/0.8.55";
/**
- * The package namespace name.
- *
+ * The package namespace name.
+ *
* @generated
*/
String eNS_PREFIX = "ClassMaker";
/**
- * The singleton instance of the package.
- *
* @generated
*/
ClassMakerPackage eINSTANCE = org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl.init();
/**
- * The meta object id for the
- * '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling
- * Rule }' class.
- *
+ * The meta object id for the '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling Rule }' class.
+ *
* @see org.eclipse.core.runtime.jobs.ISchedulingRule
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getISchedulingRule()
* @generated
@@ -81,22 +78,19 @@ public interface ClassMakerPackage extends EPackage {
/**
* The number of structural features of the 'IScheduling Rule ' class.
*
- *
* @generated
* @ordered
*/
int ISCHEDULING_RULE_FEATURE_COUNT = 0;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ProjectImpl Project }'
- * class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ProjectImpl Project }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ProjectImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getProject()
* @generated
*/
- int PROJECT = 19;
+ int PROJECT = 20;
/**
* The feature id for the 'Model Name ' attribute.
- *
* @generated
* @ordered
*/
@@ -128,16 +122,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Domain Model ' containment reference.
*
- *
* @generated
* @ordered
*/
int PROJECT__DOMAIN_MODEL = ISCHEDULING_RULE_FEATURE_COUNT + 3;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
@@ -171,36 +164,36 @@ public interface ClassMakerPackage extends EPackage {
int PROJECT__PROJECT = ISCHEDULING_RULE_FEATURE_COUNT + 7;
/**
- * The feature id for the 'Name ' attribute.
+ * The feature id for the 'Resource ' reference.
*
* @generated
* @ordered
*/
- int PROJECT__NAME = ISCHEDULING_RULE_FEATURE_COUNT + 8;
+ int PROJECT__RESOURCE = ISCHEDULING_RULE_FEATURE_COUNT + 8;
/**
- * The feature id for the 'Project Name ' attribute.
- *
+ * The feature id for the 'Name ' attribute.
+ *
* @generated
* @ordered
*/
- int PROJECT__PROJECT_NAME = ISCHEDULING_RULE_FEATURE_COUNT + 9;
+ int PROJECT__NAME = ISCHEDULING_RULE_FEATURE_COUNT + 9;
/**
- * The feature id for the 'Children ' reference list.
*
* @generated
* @ordered
*/
- int PROJECT__CHILDREN = ISCHEDULING_RULE_FEATURE_COUNT + 10;
+ int PROJECT__PROJECT_NAME = ISCHEDULING_RULE_FEATURE_COUNT + 10;
/**
- * The feature id for the 'Dirty ' attribute.
- *
* @generated
* @ordered
*/
@@ -225,18 +218,16 @@ public interface ClassMakerPackage extends EPackage {
int PROJECT__RESOURCE_PATH = ISCHEDULING_RULE_FEATURE_COUNT + 13;
/**
- * The feature id for the 'Need Completion Notification '
- * attribute.
- *
+ * The feature id for the 'Need Completion Notification ' attribute.
+ *
* @generated
* @ordered
*/
int PROJECT__NEED_COMPLETION_NOTIFICATION = ISCHEDULING_RULE_FEATURE_COUNT + 14;
/**
- * The feature id for the 'Completion Notification Adapter '
- * reference.
- *
+ * The feature id for the 'Completion Notification Adapter ' reference.
+ *
* @generated
* @ordered
*/
@@ -245,7 +236,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Resource Reload Listener ' reference.
*
- *
* @generated
* @ordered
*/
@@ -270,9 +260,9 @@ public interface ClassMakerPackage extends EPackage {
int PROJECT__REVISION = ISCHEDULING_RULE_FEATURE_COUNT + 18;
/**
- * The feature id for the 'Revisions ' map.
- *
* @generated
* @ordered
*/
@@ -290,7 +280,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Select Reveal Handler ' reference.
*
- *
* @generated
* @ordered
*/
@@ -306,37 +295,43 @@ public interface ClassMakerPackage extends EPackage {
int PROJECT__VERSION = ISCHEDULING_RULE_FEATURE_COUNT + 22;
/**
- * The feature id for the 'State ' reference.
- *
* @generated
* @ordered
*/
int PROJECT__STATE = ISCHEDULING_RULE_FEATURE_COUNT + 23;
/**
- * The feature id for the 'Model Resource Adapter ' containment
- * reference.
- *
+ * The feature id for the 'Model Resource Adapter ' containment reference.
+ *
* @generated
* @ordered
*/
int PROJECT__MODEL_RESOURCE_ADAPTER = ISCHEDULING_RULE_FEATURE_COUNT + 24;
/**
- * The number of structural features of the 'Project ' class.
*
* @generated
* @ordered
*/
- int PROJECT_FEATURE_COUNT = ISCHEDULING_RULE_FEATURE_COUNT + 25;
+ int PROJECT__CLASS_LOADER = ISCHEDULING_RULE_FEATURE_COUNT + 25;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ContributionImpl
- * Contribution }' class.
+ * The number of structural features of the 'Project ' class.
*
+ * @generated
+ * @ordered
+ */
+ int PROJECT_FEATURE_COUNT = ISCHEDULING_RULE_FEATURE_COUNT + 26;
+
+ /**
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ContributionImpl Contribution }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ContributionImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getContribution()
* @generated
@@ -353,9 +348,9 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION__MODEL_NAME = PROJECT__MODEL_NAME;
/**
- * The feature id for the 'Phase ' attribute.
- *
* @generated
* @ordered
*/
@@ -373,16 +368,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Domain Model ' containment reference.
*
- *
* @generated
* @ordered
*/
int CONTRIBUTION__DOMAIN_MODEL = PROJECT__DOMAIN_MODEL;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
@@ -416,36 +410,36 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION__PROJECT = PROJECT__PROJECT;
/**
- * The feature id for the 'Name ' attribute.
+ * The feature id for the 'Resource ' reference.
*
* @generated
* @ordered
*/
- int CONTRIBUTION__NAME = PROJECT__NAME;
+ int CONTRIBUTION__RESOURCE = PROJECT__RESOURCE;
/**
- * The feature id for the 'Project Name ' attribute.
- *
+ * The feature id for the 'Name ' attribute.
+ *
* @generated
* @ordered
*/
- int CONTRIBUTION__PROJECT_NAME = PROJECT__PROJECT_NAME;
+ int CONTRIBUTION__NAME = PROJECT__NAME;
/**
- * The feature id for the 'Children ' reference list.
*
* @generated
* @ordered
*/
- int CONTRIBUTION__CHILDREN = PROJECT__CHILDREN;
+ int CONTRIBUTION__PROJECT_NAME = PROJECT__PROJECT_NAME;
/**
- * The feature id for the 'Dirty ' attribute.
- *
* @generated
* @ordered
*/
@@ -470,18 +464,16 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION__RESOURCE_PATH = PROJECT__RESOURCE_PATH;
/**
- * The feature id for the 'Need Completion Notification '
- * attribute.
- *
+ * The feature id for the 'Need Completion Notification ' attribute.
+ *
* @generated
* @ordered
*/
int CONTRIBUTION__NEED_COMPLETION_NOTIFICATION = PROJECT__NEED_COMPLETION_NOTIFICATION;
/**
- * The feature id for the 'Completion Notification Adapter '
- * reference.
- *
+ * The feature id for the 'Completion Notification Adapter ' reference.
+ *
* @generated
* @ordered
*/
@@ -490,7 +482,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Resource Reload Listener ' reference.
*
- *
* @generated
* @ordered
*/
@@ -515,9 +506,9 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION__REVISION = PROJECT__REVISION;
/**
- * The feature id for the 'Revisions ' map.
- *
* @generated
* @ordered
*/
@@ -535,7 +526,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Select Reveal Handler ' reference.
*
- *
* @generated
* @ordered
*/
@@ -551,23 +541,31 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION__VERSION = PROJECT__VERSION;
/**
- * The feature id for the 'State ' reference.
- *
* @generated
* @ordered
*/
int CONTRIBUTION__STATE = PROJECT__STATE;
/**
- * The feature id for the 'Model Resource Adapter ' containment
- * reference.
- *
+ * The feature id for the 'Model Resource Adapter ' containment reference.
+ *
* @generated
* @ordered
*/
int CONTRIBUTION__MODEL_RESOURCE_ADAPTER = PROJECT__MODEL_RESOURCE_ADAPTER;
+ /**
+ * The feature id for the 'Class Loader ' attribute.
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTION__CLASS_LOADER = PROJECT__CLASS_LOADER;
+
/**
* The feature id for the 'Dependencies ' attribute list.
@@ -596,10 +594,8 @@ public interface ClassMakerPackage extends EPackage {
int CONTRIBUTION_FEATURE_COUNT = PROJECT_FEATURE_COUNT + 2;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ItemImpl Item }' class.
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ItemImpl Item }' class.
*
- *
* @see org.enterprisedomain.classmaker.impl.ItemImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getItem()
* @generated
@@ -616,9 +612,9 @@ public interface ClassMakerPackage extends EPackage {
int ITEM__MODEL_NAME = 0;
/**
- * The feature id for the 'Phase ' attribute.
- *
* @generated
* @ordered
*/
@@ -636,16 +632,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Domain Model ' containment reference.
*
- *
* @generated
* @ordered
*/
int ITEM__DOMAIN_MODEL = 3;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
@@ -679,19 +674,26 @@ public interface ClassMakerPackage extends EPackage {
int ITEM__PROJECT = 7;
/**
- * The number of structural features of the 'Item ' class.
*
* @generated
* @ordered
*/
- int ITEM_FEATURE_COUNT = 8;
+ int ITEM__RESOURCE = 8;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.RevisionImpl Revision }'
- * class.
+ * The number of structural features of the 'Item ' class.
*
+ * @generated
+ * @ordered
+ */
+ int ITEM_FEATURE_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.RevisionImpl Revision }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.RevisionImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getRevision()
* @generated
@@ -708,9 +710,9 @@ public interface ClassMakerPackage extends EPackage {
int REVISION__MODEL_NAME = ITEM__MODEL_NAME;
/**
- * The feature id for the 'Phase ' attribute.
- *
* @generated
* @ordered
*/
@@ -728,16 +730,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Domain Model ' containment reference.
*
- *
* @generated
* @ordered
*/
int REVISION__DOMAIN_MODEL = ITEM__DOMAIN_MODEL;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
@@ -771,12 +772,21 @@ public interface ClassMakerPackage extends EPackage {
int REVISION__PROJECT = ITEM__PROJECT;
/**
- * The feature id for the 'State ' reference.
+ * The feature id for the 'Resource ' reference.
*
* @generated
* @ordered
*/
+ int REVISION__RESOURCE = ITEM__RESOURCE;
+
+ /**
+ * The feature id for the 'State ' reference.
+ *
+ * @generated
+ * @ordered
+ */
int REVISION__STATE = ITEM_FEATURE_COUNT + 0;
/**
@@ -825,10 +835,8 @@ public interface ClassMakerPackage extends EPackage {
int REVISION_FEATURE_COUNT = ITEM_FEATURE_COUNT + 5;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.StateImpl State }'
- * class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.StateImpl State }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.StateImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getState()
* @generated
@@ -845,9 +853,9 @@ public interface ClassMakerPackage extends EPackage {
int STATE__MODEL_NAME = ITEM__MODEL_NAME;
/**
- * The feature id for the 'Phase ' attribute.
- *
* @generated
* @ordered
*/
@@ -865,16 +873,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Domain Model ' containment reference.
*
- *
* @generated
* @ordered
*/
int STATE__DOMAIN_MODEL = ITEM__DOMAIN_MODEL;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
@@ -907,6 +914,15 @@ public interface ClassMakerPackage extends EPackage {
*/
int STATE__PROJECT = ITEM__PROJECT;
+ /**
+ * The feature id for the 'Resource ' reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int STATE__RESOURCE = ITEM__RESOURCE;
+
/**
* The feature id for the 'Package Class Name ' attribute.
@@ -919,7 +935,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Edit Plugin Class Name ' attribute.
*
- *
* @generated
* @ordered
*/
@@ -928,7 +943,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Editor Plugin Class Name ' attribute.
*
- *
* @generated
* @ordered
*/
@@ -937,7 +951,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Required Plugins ' attribute list.
*
- *
* @generated
* @ordered
*/
@@ -973,16 +986,14 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Edit Deployable Unit Name ' attribute.
*
- *
* @generated
* @ordered
*/
int STATE__EDIT_DEPLOYABLE_UNIT_NAME = ITEM_FEATURE_COUNT + 7;
/**
- * The feature id for the 'Editor Deployable Unit Name '
- * attribute.
- *
+ * The feature id for the 'Editor Deployable Unit Name ' attribute.
+ *
* @generated
* @ordered
*/
@@ -998,40 +1009,30 @@ public interface ClassMakerPackage extends EPackage {
int STATE__JOB_FAMILY = ITEM_FEATURE_COUNT + 9;
/**
- * The feature id for the 'Resource ' reference.
- *
- * @generated
- * @ordered
- */
- int STATE__RESOURCE = ITEM_FEATURE_COUNT + 10;
-
- /**
- * The feature id for the 'Commit Ids ' attribute list.
*
* @generated
* @ordered
*/
- int STATE__COMMIT_IDS = ITEM_FEATURE_COUNT + 11;
+ int STATE__COMMIT_ID = ITEM_FEATURE_COUNT + 10;
/**
- * The feature id for the 'Commit Id ' attribute.
*
* @generated
* @ordered
*/
- int STATE__COMMIT_ID = ITEM_FEATURE_COUNT + 12;
+ int STATE__STATE_CUSTOMIZERS = ITEM_FEATURE_COUNT + 11;
/**
- * The feature id for the 'State Customizers ' map.
- *
+ * The feature id for the 'Non Exclusive State Customizers ' map.
+ *
* @generated
* @ordered
*/
- int STATE__STATE_CUSTOMIZERS = ITEM_FEATURE_COUNT + 13;
+ int STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS = ITEM_FEATURE_COUNT + 12;
/**
* The feature id for the 'Project Name ' attribute.
- *
* @generated
* @ordered
*/
- int STATE__EDIT = ITEM_FEATURE_COUNT + 16;
+ int STATE__EDIT = ITEM_FEATURE_COUNT + 15;
/**
* The feature id for the 'Editor ' attribute.
- *
- * @generated
- * @ordered
- */
- int STATE_FEATURE_COUNT = ITEM_FEATURE_COUNT + 19;
-
- /**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.StrategyImpl Strategy }'
- * class.
- *
- * @see org.enterprisedomain.classmaker.impl.StrategyImpl
- * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStrategy()
- * @generated
- */
- int STRATEGY = 3;
+ int STATE__STRATEGY = ITEM_FEATURE_COUNT + 17;
/**
- * The feature id for the 'Generators ' reference list.
*
* @generated
* @ordered
*/
- int STRATEGY__GENERATORS = 0;
+ int STATE__BASE_PACKAGE = ITEM_FEATURE_COUNT + 18;
/**
- * The feature id for the 'Exporters ' reference list.
*
* @generated
* @ordered
*/
- int STRATEGY__EXPORTERS = 1;
+ int STATE_FEATURE_COUNT = ITEM_FEATURE_COUNT + 19;
/**
- * The feature id for the 'Installers ' reference list.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.StrategyImpl Strategy }' class.
+ *
+ * @see org.enterprisedomain.classmaker.impl.StrategyImpl
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStrategy()
* @generated
- * @ordered
*/
- int STRATEGY__INSTALLERS = 2;
+ int STRATEGY = 3;
/**
- * The feature id for the 'Loaders ' reference list.
- *
+ * The feature id for the 'State ' reference.
+ *
* @generated
* @ordered
*/
- int STRATEGY__LOADERS = 3;
+ int STRATEGY__STATE = 0;
/**
- * The feature id for the 'State ' reference.
- *
+ * The feature id for the 'Workers ' map.
+ *
+ *
* @generated
* @ordered
*/
- int STRATEGY__STATE = 4;
+ int STRATEGY__WORKERS = 1;
/**
* The number of structural features of the 'Strategy ' class.
- *
+ * The meta object id for the '{@link org.eclipse.emf.common.notify.Adapter Adapter }' class.
+ *
* @see org.eclipse.emf.common.notify.Adapter
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getAdapter()
* @generated
@@ -1172,10 +1152,8 @@ public interface ClassMakerPackage extends EPackage {
int ADAPTER_FEATURE_COUNT = 0;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.WorkspaceImpl
- * Workspace }' class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.WorkspaceImpl Workspace }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.WorkspaceImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getWorkspace()
* @generated
@@ -1185,7 +1163,6 @@ public interface ClassMakerPackage extends EPackage {
/**
* The feature id for the 'Projects ' containment reference list.
*
- *
* @generated
* @ordered
*/
@@ -1201,14 +1178,23 @@ public interface ClassMakerPackage extends EPackage {
int WORKSPACE__RESOURCE_SET = ISCHEDULING_RULE_FEATURE_COUNT + 1;
/**
- * The feature id for the 'Customizers ' map.
- *
* @generated
* @ordered
*/
int WORKSPACE__CUSTOMIZERS = ISCHEDULING_RULE_FEATURE_COUNT + 2;
+ /**
+ * The feature id for the 'Non Exclusive Customizers ' map.
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS = ISCHEDULING_RULE_FEATURE_COUNT + 3;
+
/**
* The feature id for the 'Service ' container reference.
@@ -1216,7 +1202,7 @@ public interface ClassMakerPackage extends EPackage {
* @generated
* @ordered
*/
- int WORKSPACE__SERVICE = ISCHEDULING_RULE_FEATURE_COUNT + 3;
+ int WORKSPACE__SERVICE = ISCHEDULING_RULE_FEATURE_COUNT + 4;
/**
* The feature id for the 'SCM Registry ' reference.
+ * @generated
+ * @ordered
+ */
+ int WORKSPACE__EXCLUDED_EPACKAGES = ISCHEDULING_RULE_FEATURE_COUNT + 6;
/**
* The number of structural features of the 'Workspace ' class.
- *
* @generated
* @ordered
*/
@@ -1267,20 +1261,17 @@ public interface ClassMakerPackage extends EPackage {
int LONG_TO_STATE_MAP_ENTRY__VALUE = 1;
/**
- * The number of structural features of the 'Long To State Map Entry '
- * class.
- *
+ * The number of structural features of the 'Long To State Map Entry ' class.
+ *
* @generated
* @ordered
*/
int LONG_TO_STATE_MAP_ENTRY_FEATURE_COUNT = 2;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl
- * Version To Revision Map Entry }' class.
- *
* @see org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getVersionToRevisionMapEntry()
* @generated
@@ -1288,9 +1279,9 @@ public interface ClassMakerPackage extends EPackage {
int VERSION_TO_REVISION_MAP_ENTRY = 8;
/**
- * The feature id for the 'Key ' attribute.
- *
* @generated
* @ordered
*/
@@ -1306,18 +1297,16 @@ public interface ClassMakerPackage extends EPackage {
int VERSION_TO_REVISION_MAP_ENTRY__VALUE = 1;
/**
- * The number of structural features of the 'Version To Revision Map
- * Entry ' class.
- *
+ * The number of structural features of the 'Version To Revision Map Entry ' class.
+ *
* @generated
* @ordered
*/
int VERSION_TO_REVISION_MAP_ENTRY_FEATURE_COUNT = 2;
/**
- * The meta object id for the '{@link java.util.concurrent.Executor
- * Executor }' class.
- *
+ * The meta object id for the '{@link java.util.concurrent.Executor Executor }' class.
+ *
* @see java.util.concurrent.Executor
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getExecutor()
* @generated
@@ -1334,9 +1323,8 @@ public interface ClassMakerPackage extends EPackage {
int EXECUTOR_FEATURE_COUNT = 0;
/**
- * The meta object id for the '{@link java.util.concurrent.Future
- * Future }' class.
- *
+ * The meta object id for the '{@link java.util.concurrent.Future Future }' class.
+ *
* @see java.util.concurrent.Future
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getFuture()
* @generated
@@ -1366,17 +1354,14 @@ public interface ClassMakerPackage extends EPackage {
/**
* The number of structural features of the 'IAdapter Factory ' class.
*
- *
* @generated
* @ordered
*/
int IADAPTER_FACTORY_FEATURE_COUNT = 0;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.CustomizerImpl
- * Customizer }' class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.CustomizerImpl Customizer }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.CustomizerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCustomizer()
* @generated
@@ -1384,28 +1369,44 @@ public interface ClassMakerPackage extends EPackage {
int CUSTOMIZER = 13;
/**
- * The feature id for the 'Rank ' attribute.
- *
* @generated
* @ordered
*/
int CUSTOMIZER__RANK = 0;
/**
- * The number of structural features of the 'Customizer ' class.
*
* @generated
* @ordered
*/
- int CUSTOMIZER_FEATURE_COUNT = 1;
+ int CUSTOMIZER__EXCLUSIVE = 1;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.StageQualifierImpl Stage
- * Qualifier }' class.
+ * The feature id for the 'Stage ' reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int CUSTOMIZER__STAGE = 2;
+
+ /**
+ * The number of structural features of the 'Customizer ' class.
*
+ * @generated
+ * @ordered
+ */
+ int CUSTOMIZER_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.StageQualifierImpl Stage Qualifier }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.StageQualifierImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifier()
* @generated
@@ -1413,18 +1414,18 @@ public interface ClassMakerPackage extends EPackage {
int STAGE_QUALIFIER = 14;
/**
- * The feature id for the 'Stage ' attribute.
- *
* @generated
* @ordered
*/
int STAGE_QUALIFIER__STAGE = 0;
/**
- * The feature id for the 'Step ' attribute.
- *
* @generated
* @ordered
*/
@@ -1433,18 +1434,15 @@ public interface ClassMakerPackage extends EPackage {
/**
* The number of structural features of the 'Stage Qualifier ' class.
*
- *
* @generated
* @ordered
*/
int STAGE_QUALIFIER_FEATURE_COUNT = 2;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl
- * Stage Qualifier To Customizer Map Entry }' class.
- *
* @see org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifierToCustomizerMapEntry()
* @generated
@@ -1452,9 +1450,9 @@ public interface ClassMakerPackage extends EPackage {
int STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY = 15;
/**
- * The feature id for the 'Key ' reference.
- *
* @generated
* @ordered
*/
@@ -1470,47 +1468,79 @@ public interface ClassMakerPackage extends EPackage {
int STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY__VALUE = 1;
/**
- * The number of structural features of the 'Stage Qualifier To Customizer
- * Map Entry ' class.
- *
+ * The number of structural features of the 'Stage Qualifier To Customizer Map Entry ' class.
+ *
* @generated
* @ordered
*/
int STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY_FEATURE_COUNT = 2;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ModelsImpl Models }'
- * class.
- *
- * @see org.enterprisedomain.classmaker.impl.ModelsImpl
- * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getModels()
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl Stage Qualifier To Workers Map Entry }' class.
+ *
+ * @see org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifierToWorkersMapEntry()
* @generated
*/
- int MODELS = 16;
+ int STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY = 16;
/**
- * The feature id for the 'Dynamic ' containment reference.
- *
+ * The feature id for the 'Key ' reference.
+ *
* @generated
* @ordered
*/
- int MODELS__DYNAMIC = 0;
+ int STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY = 0;
/**
- * The feature id for the 'Generated ' reference.
- *
+ * The feature id for the 'Value ' reference list.
+ *
* @generated
* @ordered
*/
- int MODELS__GENERATED = 1;
+ int STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE = 1;
/**
- * The feature id for the 'Generated Edit ' reference.
- *
+ * The number of structural features of the 'Stage Qualifier To Workers Map Entry ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ModelsImpl Models }' class.
+ *
+ * @see org.enterprisedomain.classmaker.impl.ModelsImpl
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getModels()
+ * @generated
+ */
+ int MODELS = 17;
+
+ /**
+ * The feature id for the 'Dynamic ' containment reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELS__DYNAMIC = 0;
+
+ /**
+ * The feature id for the 'Generated ' reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int MODELS__GENERATED = 1;
+
+ /**
+ * The feature id for the 'Generated Edit ' reference.
+ *
* @generated
* @ordered
*/
@@ -1551,18 +1581,16 @@ public interface ClassMakerPackage extends EPackage {
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getEMFPlugin()
* @generated
*/
- int EMF_PLUGIN = 40;
+ int EMF_PLUGIN = 42;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl SCM
- * Operator }' class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl SCM Operator }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.SCMOperatorImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSCMOperator()
* @generated
*/
- int SCM_OPERATOR = 17;
+ int SCM_OPERATOR = 18;
/**
* The feature id for the 'Project Name ' attribute.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.SCMRegistryImpl SCM Registry }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.SCMRegistryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSCMRegistry()
* @generated
*/
- int SCM_REGISTRY = 18;
+ int SCM_REGISTRY = 19;
/**
* The number of structural features of the 'SCM Registry ' class.
- *
+ * The meta object id for the '{@link org.eclipse.emf.ecore.resource.Resource Resource }' class.
+ *
* @see org.eclipse.emf.ecore.resource.Resource
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResource()
* @generated
*/
- int RESOURCE = 20;
+ int RESOURCE = 21;
/**
* The number of structural features of the 'Resource ' class.
- *
* @see org.enterprisedomain.classmaker.impl.ResourceChangeListenerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResourceChangeListener()
* @generated
*/
- int RESOURCE_CHANGE_LISTENER = 21;
+ int RESOURCE_CHANGE_LISTENER = 22;
/**
- * The number of structural features of the 'Resource Change Listener '
- * class.
- *
+ * The number of structural features of the 'Resource Change Listener ' class.
+ *
* @generated
* @ordered
*/
int RESOURCE_CHANGE_LISTENER_FEATURE_COUNT = 0;
/**
- * The meta object id for the '{@link org.eclipse.emf.common.notify.Notification
- * Notification }' class.
- *
+ * The meta object id for the '{@link org.eclipse.emf.common.notify.Notification Notification }' class.
+ *
* @see org.eclipse.emf.common.notify.Notification
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getNotification()
* @generated
*/
- int NOTIFICATION = 22;
+ int NOTIFICATION = 23;
/**
* The number of structural features of the 'Notification ' class.
- *
+ * The meta object id for the '{@link org.eclipse.emf.common.notify.Notifier Notifier }' class.
+ *
* @see org.eclipse.emf.common.notify.Notifier
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getNotifier()
* @generated
*/
- int NOTIFIER = 23;
+ int NOTIFIER = 24;
/**
* The number of structural features of the 'Notifier ' class.
- *
* @see org.enterprisedomain.classmaker.impl.CompletionListenerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCompletionListener()
* @generated
*/
- int COMPLETION_LISTENER = 24;
+ int COMPLETION_LISTENER = 25;
/**
- * The number of structural features of the 'Completion Listener '
- * class.
- *
+ * The number of structural features of the 'Completion Listener ' class.
+ *
* @generated
* @ordered
*/
int COMPLETION_LISTENER_FEATURE_COUNT = 0;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.jobs.Worker Worker }' class.
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.jobs.Worker Worker }' class.
*
- *
* @see org.enterprisedomain.classmaker.jobs.Worker
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getWorker()
* @generated
*/
- int WORKER = 29;
+ int WORKER = 30;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl Resource
- * Adapter }' class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl Resource Adapter }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ResourceAdapterImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResourceAdapter()
* @generated
*/
- int RESOURCE_ADAPTER = 25;
+ int RESOURCE_ADAPTER = 26;
/**
* The feature id for the 'Resource ' reference.
- *
* @generated
* @ordered
*/
int RESOURCE_ADAPTER_FEATURE_COUNT = ADAPTER_FEATURE_COUNT + 3;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl
- * Service }' class.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl Service }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getClassMakerService()
* @generated
*/
- int CLASS_MAKER_SERVICE = 26;
+ int CLASS_MAKER_SERVICE = 27;
/**
* The feature id for the 'Workspace ' reference.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.BlueprintImpl Blueprint }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.BlueprintImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getBlueprint()
* @generated
*/
- int BLUEPRINT = 27;
+ int BLUEPRINT = 28;
/**
* The feature id for the 'Dynamic Model ' reference.
- *
* @generated
* @ordered
*/
int BLUEPRINT__COMPLETION_LISTENERS = 2;
/**
- * The feature id for the 'Edit ' attribute.
- *
* @generated
* @ordered
*/
@@ -1863,21 +1870,19 @@ public interface ClassMakerPackage extends EPackage {
int BLUEPRINT_FEATURE_COUNT = 5;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl
- * Completion Notification Adapter }' class.
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl Completion Notification Adapter }' class.
+ *
*
- *
* @see org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCompletionNotificationAdapter()
* @generated
*/
- int COMPLETION_NOTIFICATION_ADAPTER = 28;
+ int COMPLETION_NOTIFICATION_ADAPTER = 29;
/**
- * The feature id for the 'Error ' attribute.
- *
* @generated
* @ordered
*/
@@ -1893,9 +1898,8 @@ public interface ClassMakerPackage extends EPackage {
int COMPLETION_NOTIFICATION_ADAPTER__PROJECT = ADAPTER_FEATURE_COUNT + 1;
/**
- * The number of structural features of the 'Completion Notification
- * Adapter ' class.
- *
+ * The number of structural features of the 'Completion Notification Adapter ' class.
+ *
* @generated
* @ordered
*/
@@ -1911,45 +1915,51 @@ public interface ClassMakerPackage extends EPackage {
int WORKER_FEATURE_COUNT = 0;
/**
- * The meta object id for the
- * '{@link org.enterprisedomain.classmaker.impl.SelectRevealHandlerImpl
- * Select Reveal Handler }' class.
- *
* @see org.enterprisedomain.classmaker.impl.SelectRevealHandlerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSelectRevealHandler()
* @generated
*/
- int SELECT_REVEAL_HANDLER = 30;
+ int SELECT_REVEAL_HANDLER = 31;
/**
- * The number of structural features of the 'Select Reveal Handler '
- * class.
- *
+ * The number of structural features of the 'Select Reveal Handler ' class.
+ *
* @generated
* @ordered
*/
int SELECT_REVEAL_HANDLER_FEATURE_COUNT = 0;
/**
- * The meta object id for the 'Locale ' data type.
- *
* @see java.util.Locale
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getLocale()
* @generated
*/
- int LOCALE = 43;
+ int LOCALE = 45;
/**
- * The meta object id for the '{@link org.enterprisedomain.classmaker.Stage
- * Stage }' enum.
- *
+ * The meta object id for the '{@link org.enterprisedomain.classmaker.Stage Stage }' enum.
+ *
* @see org.enterprisedomain.classmaker.Stage
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStage()
* @generated
*/
- int STAGE = 31;
+ int STAGE = 32;
+
+ /**
+ * The meta object id for the 'Class Loader ' data type.
+ *
+ * @see java.lang.ClassLoader
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getClassLoader()
+ * @generated
+ */
+ int CLASS_LOADER = 33;
/**
* The meta object id for the 'Properties ' data type.
- *
* @see java.lang.reflect.InvocationTargetException
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getInvocationTargetException()
* @generated
*/
- int INVOCATION_TARGET_EXCEPTION = 37;
+ int INVOCATION_TARGET_EXCEPTION = 39;
/**
- * The meta object id for the 'IStatus ' data type.
- *
* @see org.eclipse.core.runtime.IStatus
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getIStatus()
* @generated
*/
- int ISTATUS = 38;
+ int ISTATUS = 40;
/**
- * The meta object id for the 'URI ' data type.
+ * The meta object id for the 'URI ' data type.
+ *
*
- *
* @see org.eclipse.emf.common.util.URI
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getURI()
* @generated
*/
- int URI = 39;
+ int URI = 41;
/**
- * The meta object id for the 'Name ' data type.
+ * The meta object id for the 'Name ' data type.
+ *
*
- *
* @see java.lang.String
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getName_()
* @generated
*/
- int NAME = 41;
+ int NAME = 43;
/**
* The meta object id for the 'Exception ' data type.
- *
* @return the meta object for class 'Contribution '.
* @see org.enterprisedomain.classmaker.Contribution
* @generated
@@ -2063,10 +2070,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getContribution();
/**
- * Returns the meta object for the attribute list
- * '{@link org.enterprisedomain.classmaker.Contribution#getDependencies
- * Dependencies }'.
- *
+ * Returns the meta object for the attribute list '{@link org.enterprisedomain.classmaker.Contribution#getDependencies Dependencies }'.
+ *
* @return the meta object for the attribute list 'Dependencies '.
* @see org.enterprisedomain.classmaker.Contribution#getDependencies()
* @see #getContribution()
@@ -2075,10 +2080,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getContribution_Dependencies();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Contribution#getLatestVersion
- * Latest Version }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Contribution#getLatestVersion Latest Version }'.
+ *
* @return the meta object for the attribute 'Latest Version '.
* @see org.enterprisedomain.classmaker.Contribution#getLatestVersion()
* @see #getContribution()
@@ -2098,10 +2101,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getRevision();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Revision#getState State }'.
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Revision#getState State }'.
*
- *
* @return the meta object for the reference 'State '.
* @see org.enterprisedomain.classmaker.Revision#getState()
* @see #getRevision()
@@ -2110,10 +2111,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getRevision_State();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Revision#getTimestamp
- * Timestamp }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Revision#getTimestamp Timestamp }'.
+ *
* @return the meta object for the attribute 'Timestamp '.
* @see org.enterprisedomain.classmaker.Revision#getTimestamp()
* @see #getRevision()
@@ -2122,10 +2121,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getRevision_Timestamp();
/**
- * Returns the meta object for the map
- * '{@link org.enterprisedomain.classmaker.Revision#getStateHistory State
- * History }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Revision#getStateHistory State History }'.
+ *
* @return the meta object for the map 'State History '.
* @see org.enterprisedomain.classmaker.Revision#getStateHistory()
* @see #getRevision()
@@ -2134,10 +2131,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getRevision_StateHistory();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Revision#getLatestTimestamp
- * Latest Timestamp }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Revision#getLatestTimestamp Latest Timestamp }'.
+ *
* @return the meta object for the attribute 'Latest Timestamp '.
* @see org.enterprisedomain.classmaker.Revision#getLatestTimestamp()
* @see #getRevision()
@@ -2146,10 +2141,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getRevision_LatestTimestamp();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Revision#getVersion
- * Version }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Revision#getVersion Version }'.
+ *
* @return the meta object for the attribute 'Version '.
* @see org.enterprisedomain.classmaker.Revision#getVersion()
* @see #getRevision()
@@ -2169,10 +2162,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getState();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getPackageClassName Package
- * Class Name }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getPackageClassName Package Class Name }'.
+ *
* @return the meta object for the attribute 'Package Class Name '.
* @see org.enterprisedomain.classmaker.State#getPackageClassName()
* @see #getState()
@@ -2181,10 +2172,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_PackageClassName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getEditPluginClassName Edit
- * Plugin Class Name }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getEditPluginClassName Edit Plugin Class Name }'.
+ *
* @return the meta object for the attribute 'Edit Plugin Class Name '.
* @see org.enterprisedomain.classmaker.State#getEditPluginClassName()
* @see #getState()
@@ -2193,13 +2182,10 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_EditPluginClassName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getEditorPluginClassName
- * Editor Plugin Class Name }'.
- *
- * @return the meta object for the attribute 'Editor Plugin Class
- * Name '.
+ * @return the meta object for the attribute 'Editor Plugin Class Name '.
* @see org.enterprisedomain.classmaker.State#getEditorPluginClassName()
* @see #getState()
* @generated
@@ -2207,10 +2193,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_EditorPluginClassName();
/**
- * Returns the meta object for the attribute list
- * '{@link org.enterprisedomain.classmaker.State#getRequiredPlugins Required
- * Plugins }'.
- *
+ * Returns the meta object for the attribute list '{@link org.enterprisedomain.classmaker.State#getRequiredPlugins Required Plugins }'.
+ *
* @return the meta object for the attribute list 'Required Plugins '.
* @see org.enterprisedomain.classmaker.State#getRequiredPlugins()
* @see #getState()
@@ -2219,10 +2203,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_RequiredPlugins();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.State#getRevision
- * Revision }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.State#getRevision Revision }'.
+ *
* @return the meta object for the reference 'Revision '.
* @see org.enterprisedomain.classmaker.State#getRevision()
* @see #getState()
@@ -2231,10 +2213,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getState_Revision();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getTimestamp
- * Timestamp }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getTimestamp Timestamp }'.
+ *
* @return the meta object for the attribute 'Timestamp '.
* @see org.enterprisedomain.classmaker.State#getTimestamp()
* @see #getState()
@@ -2256,13 +2236,10 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_DeployableUnitName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getEditDeployableUnitName
- * Edit Deployable Unit Name }'.
- *
- * @return the meta object for the attribute 'Edit Deployable Unit
- * Name '.
+ * @return the meta object for the attribute 'Edit Deployable Unit Name '.
* @see org.enterprisedomain.classmaker.State#getEditDeployableUnitName()
* @see #getState()
* @generated
@@ -2270,13 +2247,10 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_EditDeployableUnitName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getEditorDeployableUnitName
- * Editor Deployable Unit Name }'.
- *
- * @return the meta object for the attribute 'Editor Deployable Unit
- * Name '.
+ * @return the meta object for the attribute 'Editor Deployable Unit Name '.
* @see org.enterprisedomain.classmaker.State#getEditorDeployableUnitName()
* @see #getState()
* @generated
@@ -2284,10 +2258,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_EditorDeployableUnitName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getJobFamily Job
- * Family }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getJobFamily Job Family }'.
+ *
* @return the meta object for the attribute 'Job Family '.
* @see org.enterprisedomain.classmaker.State#getJobFamily()
* @see #getState()
@@ -2296,34 +2268,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_JobFamily();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.State#getResource
- * Resource }'.
- *
- * @return the meta object for the reference 'Resource '.
- * @see org.enterprisedomain.classmaker.State#getResource()
- * @see #getState()
- * @generated
- */
- EReference getState_Resource();
-
- /**
- * Returns the meta object for the attribute list
- * '{@link org.enterprisedomain.classmaker.State#getCommitIds Commit
- * Ids }'.
- *
- * @return the meta object for the attribute list 'Commit Ids '.
- * @see org.enterprisedomain.classmaker.State#getCommitIds()
- * @see #getState()
- * @generated
- */
- EAttribute getState_CommitIds();
-
- /**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getCommitId Commit
- * Id }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getCommitId Commit Id }'.
+ *
* @return the meta object for the attribute 'Commit Id '.
* @see org.enterprisedomain.classmaker.State#getCommitId()
* @see #getState()
@@ -2332,10 +2278,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_CommitId();
/**
- * Returns the meta object for the map
- * '{@link org.enterprisedomain.classmaker.State#getStateCustomizers State
- * Customizers }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.State#getStateCustomizers State Customizers }'.
+ *
* @return the meta object for the map 'State Customizers '.
* @see org.enterprisedomain.classmaker.State#getStateCustomizers()
* @see #getState()
@@ -2344,10 +2288,19 @@ public interface ClassMakerPackage extends EPackage {
EReference getState_StateCustomizers();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#getProjectName Project
- * Name }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.State#getNonExclusiveStateCustomizers Non Exclusive State Customizers }'.
+ *
+ * @return the meta object for the map 'Non Exclusive State Customizers '.
+ * @see org.enterprisedomain.classmaker.State#getNonExclusiveStateCustomizers()
+ * @see #getState()
+ * @generated
+ */
+ EReference getState_NonExclusiveStateCustomizers();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getProjectName Project Name }'.
+ *
* @return the meta object for the attribute 'Project Name '.
* @see org.enterprisedomain.classmaker.State#getProjectName()
* @see #getState()
@@ -2356,10 +2309,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_ProjectName();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#isMaking Making }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#isMaking Making }'.
*
- *
* @return the meta object for the attribute 'Making '.
* @see org.enterprisedomain.classmaker.State#isMaking()
* @see #getState()
@@ -2380,10 +2331,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_Edit();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.State#isEditor Editor }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#isEditor Editor }'.
*
- *
* @return the meta object for the attribute 'Editor '.
* @see org.enterprisedomain.classmaker.State#isEditor()
* @see #getState()
@@ -2392,10 +2341,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getState_Editor();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.State#getStrategy
- * Strategy }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.State#getStrategy Strategy }'.
+ *
* @return the meta object for the reference 'Strategy '.
* @see org.enterprisedomain.classmaker.State#getStrategy()
* @see #getState()
@@ -2403,6 +2350,16 @@ public interface ClassMakerPackage extends EPackage {
*/
EReference getState_Strategy();
+ /**
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.State#getBasePackage Base Package }'.
+ *
+ * @return the meta object for the attribute 'Base Package '.
+ * @see org.enterprisedomain.classmaker.State#getBasePackage()
+ * @see #getState()
+ * @generated
+ */
+ EAttribute getState_BasePackage();
+
/**
* Returns the meta object for class
* '{@link org.enterprisedomain.classmaker.Strategy Strategy }'.
- *
- * @return the meta object for the reference list 'Generators '.
- * @see org.enterprisedomain.classmaker.Strategy#getGenerators()
- * @see #getStrategy()
- * @generated
- */
- EReference getStrategy_Generators();
-
- /**
- * Returns the meta object for the reference list
- * '{@link org.enterprisedomain.classmaker.Strategy#getExporters
- * Exporters }'.
- *
- * @return the meta object for the reference list 'Exporters '.
- * @see org.enterprisedomain.classmaker.Strategy#getExporters()
- * @see #getStrategy()
- * @generated
- */
- EReference getStrategy_Exporters();
-
- /**
- * Returns the meta object for the reference list
- * '{@link org.enterprisedomain.classmaker.Strategy#getInstallers
- * Installers }'.
- *
- * @return the meta object for the reference list 'Installers '.
- * @see org.enterprisedomain.classmaker.Strategy#getInstallers()
- * @see #getStrategy()
- * @generated
- */
- EReference getStrategy_Installers();
-
- /**
- * Returns the meta object for the reference list
- * '{@link org.enterprisedomain.classmaker.Strategy#getLoaders
- * Loaders }'.
- *
- * @return the meta object for the reference list 'Loaders '.
- * @see org.enterprisedomain.classmaker.Strategy#getLoaders()
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Strategy#getState State }'.
+ *
+ * @return the meta object for the reference 'State '.
+ * @see org.enterprisedomain.classmaker.Strategy#getState()
* @see #getStrategy()
* @generated
*/
- EReference getStrategy_Loaders();
+ EReference getStrategy_State();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Strategy#getState State }'.
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Strategy#getWorkers Workers }'.
*
- *
- * @return the meta object for the reference 'State '.
- * @see org.enterprisedomain.classmaker.Strategy#getState()
+ * @return the meta object for the map 'Workers '.
+ * @see org.enterprisedomain.classmaker.Strategy#getWorkers()
* @see #getStrategy()
* @generated
*/
- EReference getStrategy_State();
+ EReference getStrategy_Workers();
/**
* Returns the meta object for class
@@ -2486,10 +2403,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getItem();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Item#getModelName Model
- * Name }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Item#getModelName Model Name }'.
+ *
* @return the meta object for the attribute 'Model Name '.
* @see org.enterprisedomain.classmaker.Item#getModelName()
* @see #getItem()
@@ -2510,10 +2425,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getItem_Phase();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Item#getLanguage Language }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Item#getLanguage Language }'.
*
- *
* @return the meta object for the attribute 'Language '.
* @see org.enterprisedomain.classmaker.Item#getLanguage()
* @see #getItem()
@@ -2522,12 +2435,9 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getItem_Language();
/**
- * Returns the meta object for the containment reference
- * '{@link org.enterprisedomain.classmaker.Item#getDomainModel Domain
- * Model }'.
- *
- * @return the meta object for the containment reference 'Domain
- * Model '.
+ * Returns the meta object for the containment reference '{@link org.enterprisedomain.classmaker.Item#getDomainModel Domain Model }'.
+ *
+ * @return the meta object for the containment reference 'Domain Model '.
* @see org.enterprisedomain.classmaker.Item#getDomainModel()
* @see #getItem()
* @generated
@@ -2535,10 +2445,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getItem_DomainModel();
/**
- * Returns the meta object for the map
- * '{@link org.enterprisedomain.classmaker.Item#getCustomizers
- * Customizers }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Item#getCustomizers Customizers }'.
+ *
* @return the meta object for the map 'Customizers '.
* @see org.enterprisedomain.classmaker.Item#getCustomizers()
* @see #getItem()
@@ -2547,10 +2455,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getItem_Customizers();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Item#getParent Parent }'.
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Item#getParent Parent }'.
*
- *
* @return the meta object for the reference 'Parent '.
* @see org.enterprisedomain.classmaker.Item#getParent()
* @see #getItem()
@@ -2559,10 +2465,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getItem_Parent();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Item#getLocale Locale }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Item#getLocale Locale }'.
*
- *
* @return the meta object for the attribute 'Locale '.
* @see org.enterprisedomain.classmaker.Item#getLocale()
* @see #getItem()
@@ -2571,10 +2475,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getItem_Locale();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Item#getProject Project }'.
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Item#getProject Project }'.
*
- *
* @return the meta object for the reference 'Project '.
* @see org.enterprisedomain.classmaker.Item#getProject()
* @see #getItem()
@@ -2582,6 +2484,16 @@ public interface ClassMakerPackage extends EPackage {
*/
EReference getItem_Project();
+ /**
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Item#getResource Resource }'.
+ *
+ * @return the meta object for the reference 'Resource '.
+ * @see org.enterprisedomain.classmaker.Item#getResource()
+ * @see #getItem()
+ * @generated
+ */
+ EReference getItem_Resource();
+
/**
* Returns the meta object for class
* '{@link org.eclipse.emf.common.notify.Adapter Adapter }'.
- *
- * @return the meta object for the containment reference list
- * 'Projects '.
+ * Returns the meta object for the containment reference list '{@link org.enterprisedomain.classmaker.Workspace#getProjects Projects }'.
+ *
+ * @return the meta object for the containment reference list 'Projects '.
* @see org.enterprisedomain.classmaker.Workspace#getProjects()
* @see #getWorkspace()
* @generated
@@ -2619,10 +2528,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getWorkspace_Projects();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Workspace#getResourceSet Resource
- * Set }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Workspace#getResourceSet Resource Set }'.
+ *
* @return the meta object for the attribute 'Resource Set '.
* @see org.enterprisedomain.classmaker.Workspace#getResourceSet()
* @see #getWorkspace()
@@ -2631,10 +2538,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getWorkspace_ResourceSet();
/**
- * Returns the meta object for the map
- * '{@link org.enterprisedomain.classmaker.Workspace#getCustomizers
- * Customizers }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Workspace#getCustomizers Customizers }'.
+ *
* @return the meta object for the map 'Customizers '.
* @see org.enterprisedomain.classmaker.Workspace#getCustomizers()
* @see #getWorkspace()
@@ -2643,10 +2548,19 @@ public interface ClassMakerPackage extends EPackage {
EReference getWorkspace_Customizers();
/**
- * Returns the meta object for the container reference
- * '{@link org.enterprisedomain.classmaker.Workspace#getService
- * Service }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Workspace#getNonExclusiveCustomizers Non Exclusive Customizers }'.
+ *
+ * @return the meta object for the map 'Non Exclusive Customizers '.
+ * @see org.enterprisedomain.classmaker.Workspace#getNonExclusiveCustomizers()
+ * @see #getWorkspace()
+ * @generated
+ */
+ EReference getWorkspace_NonExclusiveCustomizers();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.enterprisedomain.classmaker.Workspace#getService Service }'.
+ *
* @return the meta object for the container reference 'Service '.
* @see org.enterprisedomain.classmaker.Workspace#getService()
* @see #getWorkspace()
@@ -2655,10 +2569,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getWorkspace_Service();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Workspace#getSCMRegistry SCM
- * Registry }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Workspace#getSCMRegistry SCM Registry }'.
+ *
* @return the meta object for the reference 'SCM Registry '.
* @see org.enterprisedomain.classmaker.Workspace#getSCMRegistry()
* @see #getWorkspace()
@@ -2667,22 +2579,29 @@ public interface ClassMakerPackage extends EPackage {
EReference getWorkspace_SCMRegistry();
/**
- * Returns the meta object for class '{@link java.util.Map.Entry Long To
- * State Map Entry }'.
- *
+ * Returns the meta object for the reference list '{@link org.enterprisedomain.classmaker.Workspace#getExcludedEPackages Excluded EPackages }'.
+ *
+ * @return the meta object for the reference list 'Excluded EPackages '.
+ * @see org.enterprisedomain.classmaker.Workspace#getExcludedEPackages()
+ * @see #getWorkspace()
+ * @generated
+ */
+ EReference getWorkspace_ExcludedEPackages();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry Long To State Map Entry }'.
+ *
* @return the meta object for class 'Long To State Map Entry '.
* @see java.util.Map.Entry
* @model keyDataType="org.eclipse.emf.ecore.ELongObject"
- * valueType="org.enterprisedomain.classmaker.State"
- * valueContainment="true"
+ * valueType="org.enterprisedomain.classmaker.State" valueContainment="true"
* @generated
*/
EClass getLongToStateMapEntry();
/**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry
- * Key }'.
- *
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry Key }'.
+ *
* @return the meta object for the attribute 'Key '.
* @see java.util.Map.Entry
* @see #getLongToStateMapEntry()
@@ -2691,10 +2610,9 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getLongToStateMapEntry_Key();
/**
- * Returns the meta object for the containment reference
- * '{@link java.util.Map.Entry Value }'.
- *
* @return the meta object for the containment reference 'Value '.
* @see java.util.Map.Entry
* @see #getLongToStateMapEntry()
@@ -2703,22 +2621,19 @@ public interface ClassMakerPackage extends EPackage {
EReference getLongToStateMapEntry_Value();
/**
- * Returns the meta object for class '{@link java.util.Map.Entry Version To
- * Revision Map Entry }'.
- *
+ * Returns the meta object for class '{@link java.util.Map.Entry Version To Revision Map Entry }'.
+ *
* @return the meta object for class 'Version To Revision Map Entry '.
* @see java.util.Map.Entry
* @model keyDataType="org.enterprisedomain.classmaker.OSGiVersion"
- * valueType="org.enterprisedomain.classmaker.Revision"
- * valueContainment="true"
+ * valueType="org.enterprisedomain.classmaker.Revision" valueContainment="true"
* @generated
*/
EClass getVersionToRevisionMapEntry();
/**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry
- * Key }'.
- *
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry Key }'.
+ *
* @return the meta object for the attribute 'Key '.
* @see java.util.Map.Entry
* @see #getVersionToRevisionMapEntry()
@@ -2727,10 +2642,9 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getVersionToRevisionMapEntry_Key();
/**
- * Returns the meta object for the containment reference
- * '{@link java.util.Map.Entry Value }'.
- *
* @return the meta object for the containment reference 'Value '.
* @see java.util.Map.Entry
* @see #getVersionToRevisionMapEntry()
@@ -2739,10 +2653,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getVersionToRevisionMapEntry_Value();
/**
- * Returns the meta object for class
- * '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling
- * Rule }'.
- *
+ * Returns the meta object for class '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling Rule }'.
+ *
* @return the meta object for class 'IScheduling Rule '.
* @see org.eclipse.core.runtime.jobs.ISchedulingRule
* @model instanceClass="org.eclipse.core.runtime.jobs.ISchedulingRule"
@@ -2751,9 +2663,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getISchedulingRule();
/**
- * Returns the meta object for class '{@link java.util.concurrent.Executor
- * Executor }'.
- *
+ * Returns the meta object for class '{@link java.util.concurrent.Executor Executor }'.
+ *
* @return the meta object for class 'Executor '.
* @see java.util.concurrent.Executor
* @model instanceClass="java.util.concurrent.Executor"
@@ -2762,9 +2673,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getExecutor();
/**
- * Returns the meta object for class '{@link java.util.concurrent.Future
- * Future }'.
- *
+ * Returns the meta object for class '{@link java.util.concurrent.Future Future }'.
+ *
* @return the meta object for class 'Future '.
* @see java.util.concurrent.Future
* @model instanceClass="java.util.concurrent.Future" typeParameters="V"
@@ -2773,10 +2683,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getFuture();
/**
- * Returns the meta object for class
- * '{@link org.eclipse.core.runtime.IAdapterFactory IAdapter Factory }'.
+ * Returns the meta object for class '{@link org.eclipse.core.runtime.IAdapterFactory IAdapter Factory }'.
*
- *
* @return the meta object for class 'IAdapter Factory '.
* @see org.eclipse.core.runtime.IAdapterFactory
* @model instanceClass="org.eclipse.core.runtime.IAdapterFactory"
@@ -2785,10 +2693,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getIAdapterFactory();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.Customizer Customizer }'.
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.Customizer Customizer }'.
*
- *
* @return the meta object for class 'Customizer '.
* @see org.enterprisedomain.classmaker.Customizer
* @generated
@@ -2796,10 +2702,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getCustomizer();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Customizer#getRank Rank }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Customizer#getRank Rank }'.
*
- *
* @return the meta object for the attribute 'Rank '.
* @see org.enterprisedomain.classmaker.Customizer#getRank()
* @see #getCustomizer()
@@ -2808,10 +2712,28 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getCustomizer_Rank();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.StageQualifier Stage
- * Qualifier }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Customizer#isExclusive Exclusive }'.
+ *
+ * @return the meta object for the attribute 'Exclusive '.
+ * @see org.enterprisedomain.classmaker.Customizer#isExclusive()
+ * @see #getCustomizer()
+ * @generated
+ */
+ EAttribute getCustomizer_Exclusive();
+
+ /**
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Customizer#getStage Stage }'.
+ *
+ * @return the meta object for the reference 'Stage '.
+ * @see org.enterprisedomain.classmaker.Customizer#getStage()
+ * @see #getCustomizer()
+ * @generated
+ */
+ EReference getCustomizer_Stage();
+
+ /**
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.StageQualifier Stage Qualifier }'.
+ *
* @return the meta object for class 'Stage Qualifier '.
* @see org.enterprisedomain.classmaker.StageQualifier
* @generated
@@ -2819,10 +2741,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getStageQualifier();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.StageQualifier#getStage
- * Stage }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.StageQualifier#getStage Stage }'.
+ *
* @return the meta object for the attribute 'Stage '.
* @see org.enterprisedomain.classmaker.StageQualifier#getStage()
* @see #getStageQualifier()
@@ -2831,10 +2751,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getStageQualifier_Stage();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.StageQualifier#getStep
- * Step }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.StageQualifier#getStep Step }'.
+ *
* @return the meta object for the attribute 'Step '.
* @see org.enterprisedomain.classmaker.StageQualifier#getStep()
* @see #getStageQualifier()
@@ -2843,24 +2761,20 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getStageQualifier_Step();
/**
- * Returns the meta object for class '{@link java.util.Map.Entry Stage
- * Qualifier To Customizer Map Entry }'.
- *
- * @return the meta object for class 'Stage Qualifier To Customizer Map
- * Entry '.
+ * @return the meta object for class 'Stage Qualifier To Customizer Map Entry '.
* @see java.util.Map.Entry
* @model keyType="org.enterprisedomain.classmaker.StageQualifier"
- * valueType="org.enterprisedomain.classmaker.Customizer"
- * valueContainment="true"
+ * valueType="org.enterprisedomain.classmaker.Customizer" valueContainment="true"
* @generated
*/
EClass getStageQualifierToCustomizerMapEntry();
/**
- * Returns the meta object for the reference '{@link java.util.Map.Entry
- * Key }'.
- *
+ * Returns the meta object for the reference '{@link java.util.Map.Entry Key }'.
+ *
* @return the meta object for the reference 'Key '.
* @see java.util.Map.Entry
* @see #getStageQualifierToCustomizerMapEntry()
@@ -2869,10 +2783,9 @@ public interface ClassMakerPackage extends EPackage {
EReference getStageQualifierToCustomizerMapEntry_Key();
/**
- * Returns the meta object for the containment reference
- * '{@link java.util.Map.Entry Value }'.
- *
* @return the meta object for the containment reference 'Value '.
* @see java.util.Map.Entry
* @see #getStageQualifierToCustomizerMapEntry()
@@ -2880,6 +2793,39 @@ public interface ClassMakerPackage extends EPackage {
*/
EReference getStageQualifierToCustomizerMapEntry_Value();
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry Stage Qualifier To Workers Map Entry }'.
+ *
+ * @return the meta object for class 'Stage Qualifier To Workers Map Entry '.
+ * @see java.util.Map.Entry
+ * @model keyType="org.enterprisedomain.classmaker.StageQualifier"
+ * valueType="org.enterprisedomain.classmaker.Worker" valueResolveProxies="false" valueMany="true"
+ * @generated
+ */
+ EClass getStageQualifierToWorkersMapEntry();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry Key }'.
+ *
+ * @return the meta object for the reference 'Key '.
+ * @see java.util.Map.Entry
+ * @see #getStageQualifierToWorkersMapEntry()
+ * @generated
+ */
+ EReference getStageQualifierToWorkersMapEntry_Key();
+
+ /**
+ * Returns the meta object for the reference list '{@link java.util.Map.Entry Value }'.
+ *
+ * @return the meta object for the reference list 'Value '.
+ * @see java.util.Map.Entry
+ * @see #getStageQualifierToWorkersMapEntry()
+ * @generated
+ */
+ EReference getStageQualifierToWorkersMapEntry_Value();
+
/**
* Returns the meta object for class
* '{@link org.enterprisedomain.classmaker.Models Models }'.
- *
* @return the meta object for the containment reference 'Dynamic '.
* @see org.enterprisedomain.classmaker.Models#getDynamic()
* @see #getModels()
@@ -2904,10 +2848,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getModels_Dynamic();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Models#getGenerated
- * Generated }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Models#getGenerated Generated }'.
+ *
* @return the meta object for the reference 'Generated '.
* @see org.enterprisedomain.classmaker.Models#getGenerated()
* @see #getModels()
@@ -2916,10 +2858,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getModels_Generated();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Models#getGeneratedEdit Generated
- * Edit }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Models#getGeneratedEdit Generated Edit }'.
+ *
* @return the meta object for the attribute 'Generated Edit '.
* @see org.enterprisedomain.classmaker.Models#getGeneratedEdit()
* @see #getModels()
@@ -2928,10 +2868,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getModels_GeneratedEdit();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Models#getGeneratedEditor
- * Generated Editor }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Models#getGeneratedEditor Generated Editor }'.
+ *
* @return the meta object for the attribute 'Generated Editor '.
* @see org.enterprisedomain.classmaker.Models#getGeneratedEditor()
* @see #getModels()
@@ -2940,10 +2878,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getModels_GeneratedEditor();
/**
- * Returns the meta object for the container reference
- * '{@link org.enterprisedomain.classmaker.Models#getParent Parent }'.
+ * Returns the meta object for the container reference '{@link org.enterprisedomain.classmaker.Models#getParent Parent }'.
*
- *
* @return the meta object for the container reference 'Parent '.
* @see org.enterprisedomain.classmaker.Models#getParent()
* @see #getModels()
@@ -2987,10 +2923,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_Name();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#getProjectName Project
- * Name }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#getProjectName Project Name }'.
+ *
* @return the meta object for the attribute 'Project Name '.
* @see org.enterprisedomain.classmaker.Project#getProjectName()
* @see #getProject()
@@ -2999,22 +2933,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_ProjectName();
/**
- * Returns the meta object for the attribute list
- * '{@link org.enterprisedomain.classmaker.Project#getChildren
- * Children }'.
- *
- * @return the meta object for the attribute list 'Children '.
- * @see org.enterprisedomain.classmaker.Project#getChildren()
- * @see #getProject()
- * @generated
- */
- EAttribute getProject_Children();
-
- /**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#isDirty Dirty }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#isDirty Dirty }'.
*
- *
* @return the meta object for the attribute 'Dirty '.
* @see org.enterprisedomain.classmaker.Project#isDirty()
* @see #getProject()
@@ -3023,10 +2943,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_Dirty();
/**
- * Returns the meta object for the container reference
- * '{@link org.enterprisedomain.classmaker.Project#getWorkspace
- * Workspace }'.
- *
+ * Returns the meta object for the container reference '{@link org.enterprisedomain.classmaker.Project#getWorkspace Workspace }'.
+ *
* @return the meta object for the container reference 'Workspace '.
* @see org.enterprisedomain.classmaker.Project#getWorkspace()
* @see #getProject()
@@ -3035,10 +2953,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_Workspace();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#getResourcePath Resource
- * Path }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#getResourcePath Resource Path }'.
+ *
* @return the meta object for the attribute 'Resource Path '.
* @see org.enterprisedomain.classmaker.Project#getResourcePath()
* @see #getProject()
@@ -3047,13 +2963,10 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_ResourcePath();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#isNeedCompletionNotification
- * Need Completion Notification }'.
- *
- * @return the meta object for the attribute 'Need Completion
- * Notification '.
+ * @return the meta object for the attribute 'Need Completion Notification '.
* @see org.enterprisedomain.classmaker.Project#isNeedCompletionNotification()
* @see #getProject()
* @generated
@@ -3061,13 +2974,10 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_NeedCompletionNotification();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Project#getCompletionNotificationAdapter
- * Completion Notification Adapter }'.
- *
- * @return the meta object for the reference 'Completion Notification
- * Adapter '.
+ * @return the meta object for the reference 'Completion Notification Adapter '.
* @see org.enterprisedomain.classmaker.Project#getCompletionNotificationAdapter()
* @see #getProject()
* @generated
@@ -3075,13 +2985,10 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_CompletionNotificationAdapter();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Project#getResourceReloadListener
- * Resource Reload Listener }'.
- *
- * @return the meta object for the reference 'Resource Reload
- * Listener '.
+ * @return the meta object for the reference 'Resource Reload Listener '.
* @see org.enterprisedomain.classmaker.Project#getResourceReloadListener()
* @see #getProject()
* @generated
@@ -3089,10 +2996,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_ResourceReloadListener();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#isSavingResource Saving
- * Resource }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#isSavingResource Saving Resource }'.
+ *
* @return the meta object for the attribute 'Saving Resource '.
* @see org.enterprisedomain.classmaker.Project#isSavingResource()
* @see #getProject()
@@ -3101,10 +3006,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_SavingResource();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Project#getRevision
- * Revision }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Project#getRevision Revision }'.
+ *
* @return the meta object for the reference 'Revision '.
* @see org.enterprisedomain.classmaker.Project#getRevision()
* @see #getProject()
@@ -3113,10 +3016,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_Revision();
/**
- * Returns the meta object for the map
- * '{@link org.enterprisedomain.classmaker.Project#getRevisions
- * Revisions }'.
- *
+ * Returns the meta object for the map '{@link org.enterprisedomain.classmaker.Project#getRevisions Revisions }'.
+ *
* @return the meta object for the map 'Revisions '.
* @see org.enterprisedomain.classmaker.Project#getRevisions()
* @see #getProject()
@@ -3125,10 +3026,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_Revisions();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#getProjectVersion Project
- * Version }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#getProjectVersion Project Version }'.
+ *
* @return the meta object for the attribute 'Project Version '.
* @see org.enterprisedomain.classmaker.Project#getProjectVersion()
* @see #getProject()
@@ -3150,10 +3049,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_SelectRevealHandler();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Project#getVersion
- * Version }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#getVersion Version }'.
+ *
* @return the meta object for the attribute 'Version '.
* @see org.enterprisedomain.classmaker.Project#getVersion()
* @see #getProject()
@@ -3162,10 +3059,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getProject_Version();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Project#getState State }'.
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Project#getState State }'.
*
- *
* @return the meta object for the reference 'State '.
* @see org.enterprisedomain.classmaker.Project#getState()
* @see #getProject()
@@ -3188,10 +3083,18 @@ public interface ClassMakerPackage extends EPackage {
EReference getProject_ModelResourceAdapter();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.SCMOperator SCM Operator }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Project#getClassLoader Class Loader }'.
+ *
+ * @return the meta object for the attribute 'Class Loader '.
+ * @see org.enterprisedomain.classmaker.Project#getClassLoader()
+ * @see #getProject()
+ * @generated
+ */
+ EAttribute getProject_ClassLoader();
+
+ /**
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.SCMOperator SCM Operator }'.
*
- *
* @return the meta object for class 'SCM Operator '.
* @see org.enterprisedomain.classmaker.SCMOperator
* @generated
@@ -3199,10 +3102,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getSCMOperator();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.SCMOperator#getProjectName
- * Project Name }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.SCMOperator#getProjectName Project Name }'.
+ *
* @return the meta object for the attribute 'Project Name '.
* @see org.enterprisedomain.classmaker.SCMOperator#getProjectName()
* @see #getSCMOperator()
@@ -3211,10 +3112,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getSCMOperator_ProjectName();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.SCMOperator#getRegistry
- * Registry }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.SCMOperator#getRegistry Registry }'.
+ *
* @return the meta object for the reference 'Registry '.
* @see org.enterprisedomain.classmaker.SCMOperator#getRegistry()
* @see #getSCMOperator()
@@ -3223,10 +3122,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getSCMOperator_Registry();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.SCMRegistry SCM Registry }'.
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.SCMRegistry SCM Registry }'.
*
- *
* @return the meta object for class 'SCM Registry '.
* @see org.enterprisedomain.classmaker.SCMRegistry
* @generated
@@ -3246,10 +3143,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getResource();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.ResourceChangeListener Resource
- * Change Listener }'.
- *
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.ResourceChangeListener Resource Change Listener }'.
+ *
* @return the meta object for class 'Resource Change Listener '.
* @see org.enterprisedomain.classmaker.ResourceChangeListener
* @generated
@@ -3257,10 +3152,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getResourceChangeListener();
/**
- * Returns the meta object for class
- * '{@link org.eclipse.emf.common.notify.Notification Notification }'.
+ * Returns the meta object for class '{@link org.eclipse.emf.common.notify.Notification Notification }'.
*
- *
* @return the meta object for class 'Notification '.
* @see org.eclipse.emf.common.notify.Notification
* @model instanceClass="org.eclipse.emf.common.notify.Notification"
@@ -3281,10 +3174,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getNotifier();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.CompletionListener Completion
- * Listener }'.
- *
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.CompletionListener Completion Listener }'.
+ *
* @return the meta object for class 'Completion Listener '.
* @see org.enterprisedomain.classmaker.CompletionListener
* @generated
@@ -3304,10 +3195,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getWorker();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.SelectRevealHandler Select Reveal
- * Handler }'.
- *
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.SelectRevealHandler Select Reveal Handler }'.
+ *
* @return the meta object for class 'Select Reveal Handler '.
* @see org.enterprisedomain.classmaker.SelectRevealHandler
* @generated
@@ -3315,10 +3204,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getSelectRevealHandler();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter Resource
- * Adapter }'.
- *
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.ResourceAdapter Resource Adapter }'.
+ *
* @return the meta object for class 'Resource Adapter '.
* @see org.enterprisedomain.classmaker.ResourceAdapter
* @generated
@@ -3326,10 +3213,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getResourceAdapter();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter#getResource
- * Resource }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.ResourceAdapter#getResource Resource }'.
+ *
* @return the meta object for the reference 'Resource '.
* @see org.enterprisedomain.classmaker.ResourceAdapter#getResource()
* @see #getResourceAdapter()
@@ -3338,10 +3223,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getResourceAdapter_Resource();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter#getFilename
- * Filename }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.ResourceAdapter#getFilename Filename }'.
+ *
* @return the meta object for the attribute 'Filename '.
* @see org.enterprisedomain.classmaker.ResourceAdapter#getFilename()
* @see #getResourceAdapter()
@@ -3350,10 +3233,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getResourceAdapter_Filename();
/**
- * Returns the meta object for the container reference
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter#getProject
- * Project }'.
- *
+ * Returns the meta object for the container reference '{@link org.enterprisedomain.classmaker.ResourceAdapter#getProject Project }'.
+ *
* @return the meta object for the container reference 'Project '.
* @see org.enterprisedomain.classmaker.ResourceAdapter#getProject()
* @see #getResourceAdapter()
@@ -3362,10 +3243,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getResourceAdapter_Project();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.ClassMakerService Service }'.
+ * Returns the meta object for class '{@link org.enterprisedomain.classmaker.ClassMakerService Service }'.
*
- *
* @return the meta object for class 'Service '.
* @see org.enterprisedomain.classmaker.ClassMakerService
* @generated
@@ -3373,10 +3252,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getClassMakerService();
/**
- * Returns the meta object for the containment reference
- * '{@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace
- * Workspace }'.
- *
+ * Returns the meta object for the containment reference '{@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace Workspace }'.
+ *
* @return the meta object for the containment reference 'Workspace '.
* @see org.enterprisedomain.classmaker.ClassMakerService#getWorkspace()
* @see #getClassMakerService()
@@ -3396,10 +3273,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getBlueprint();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel Dynamic
- * Model }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.Blueprint#getDynamicModel Dynamic Model }'.
+ *
* @return the meta object for the reference 'Dynamic Model '.
* @see org.enterprisedomain.classmaker.Blueprint#getDynamicModel()
* @see #getBlueprint()
@@ -3408,10 +3283,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getBlueprint_DynamicModel();
/**
- * Returns the meta object for the attribute list
- * '{@link org.enterprisedomain.classmaker.Blueprint#getDependencies
- * Dependencies }'.
- *
+ * Returns the meta object for the attribute list '{@link org.enterprisedomain.classmaker.Blueprint#getDependencies Dependencies }'.
+ *
* @return the meta object for the attribute list 'Dependencies '.
* @see org.enterprisedomain.classmaker.Blueprint#getDependencies()
* @see #getBlueprint()
@@ -3434,10 +3307,8 @@ public interface ClassMakerPackage extends EPackage {
EReference getBlueprint_CompletionListeners();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Blueprint#isEdit Edit }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Blueprint#isEdit Edit }'.
*
- *
* @return the meta object for the attribute 'Edit '.
* @see org.enterprisedomain.classmaker.Blueprint#isEdit()
* @see #getBlueprint()
@@ -3446,10 +3317,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getBlueprint_Edit();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.Blueprint#isEditor Editor }'.
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.Blueprint#isEditor Editor }'.
*
- *
* @return the meta object for the attribute 'Editor '.
* @see org.enterprisedomain.classmaker.Blueprint#isEditor()
* @see #getBlueprint()
@@ -3458,11 +3327,9 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getBlueprint_Editor();
/**
- * Returns the meta object for class
- * '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter
- * Completion Notification Adapter }'.
- *
* @return the meta object for class 'Completion Notification Adapter '.
* @see org.enterprisedomain.classmaker.CompletionNotificationAdapter
* @generated
@@ -3470,10 +3337,8 @@ public interface ClassMakerPackage extends EPackage {
EClass getCompletionNotificationAdapter();
/**
- * Returns the meta object for the attribute
- * '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getError
- * Error }'.
- *
+ * Returns the meta object for the attribute '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getError Error }'.
+ *
* @return the meta object for the attribute 'Error '.
* @see org.enterprisedomain.classmaker.CompletionNotificationAdapter#getError()
* @see #getCompletionNotificationAdapter()
@@ -3482,10 +3347,8 @@ public interface ClassMakerPackage extends EPackage {
EAttribute getCompletionNotificationAdapter_Error();
/**
- * Returns the meta object for the reference
- * '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject
- * Project }'.
- *
+ * Returns the meta object for the reference '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject Project }'.
+ *
* @return the meta object for the reference 'Project '.
* @see org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject()
* @see #getCompletionNotificationAdapter()
@@ -3517,6 +3380,16 @@ public interface ClassMakerPackage extends EPackage {
*/
EEnum getStage();
+ /**
+ * Returns the meta object for data type '{@link java.lang.ClassLoader Class Loader }'.
+ *
+ * @return the meta object for data type 'Class Loader '.
+ * @see java.lang.ClassLoader
+ * @model instanceClass="java.lang.ClassLoader"
+ * @generated
+ */
+ EDataType getClassLoader();
+
/**
* Returns the meta object for data type '{@link java.util.Properties
* Properties }'.
- *
+ * Returns the meta object for data type '{@link java.lang.String Name }'.
+ *
* @return the meta object for data type 'Name '.
* @see java.lang.String
* @model instanceClass="java.lang.String"
@@ -3666,15 +3538,12 @@ public interface ClassMakerPackage extends EPackage {
* and each data type
*
*
- *
* @generated
*/
interface Literals {
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ContributionImpl
- * Contribution }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ContributionImpl Contribution }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ContributionImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getContribution()
* @generated
@@ -3682,26 +3551,22 @@ interface Literals {
EClass CONTRIBUTION = eINSTANCE.getContribution();
/**
- * The meta object literal for the 'Dependencies ' attribute list
- * feature.
- *
+ * The meta object literal for the 'Dependencies ' attribute list feature.
+ *
* @generated
*/
EAttribute CONTRIBUTION__DEPENDENCIES = eINSTANCE.getContribution_Dependencies();
/**
- * The meta object literal for the 'Latest Version ' attribute
- * feature.
- *
+ * The meta object literal for the 'Latest Version ' attribute feature.
+ *
* @generated
*/
EAttribute CONTRIBUTION__LATEST_VERSION = eINSTANCE.getContribution_LatestVersion();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.RevisionImpl Revision }'
- * class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.RevisionImpl Revision }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.RevisionImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getRevision()
* @generated
@@ -3711,15 +3576,13 @@ interface Literals {
/**
* The meta object literal for the 'State ' reference feature.
*
- *
* @generated
*/
EReference REVISION__STATE = eINSTANCE.getRevision_State();
/**
- * The meta object literal for the 'Timestamp ' attribute
- * feature.
- *
+ * The meta object literal for the 'Timestamp ' attribute feature.
+ *
* @generated
*/
EAttribute REVISION__TIMESTAMP = eINSTANCE.getRevision_Timestamp();
@@ -3727,15 +3590,13 @@ interface Literals {
/**
* The meta object literal for the 'State History ' map feature.
*
- *
* @generated
*/
EReference REVISION__STATE_HISTORY = eINSTANCE.getRevision_StateHistory();
/**
- * The meta object literal for the 'Latest Timestamp ' attribute
- * feature.
- *
+ * The meta object literal for the 'Latest Timestamp ' attribute feature.
+ *
* @generated
*/
EAttribute REVISION__LATEST_TIMESTAMP = eINSTANCE.getRevision_LatestTimestamp();
@@ -3743,16 +3604,13 @@ interface Literals {
/**
* The meta object literal for the 'Version ' attribute feature.
*
- *
* @generated
*/
EAttribute REVISION__VERSION = eINSTANCE.getRevision_Version();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.StateImpl State }'
- * class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.StateImpl State }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.StateImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getState()
* @generated
@@ -3760,33 +3618,29 @@ interface Literals {
EClass STATE = eINSTANCE.getState();
/**
- * The meta object literal for the 'Package Class Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Package Class Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__PACKAGE_CLASS_NAME = eINSTANCE.getState_PackageClassName();
/**
- * The meta object literal for the 'Edit Plugin Class Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Edit Plugin Class Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__EDIT_PLUGIN_CLASS_NAME = eINSTANCE.getState_EditPluginClassName();
/**
- * The meta object literal for the 'Editor Plugin Class Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Editor Plugin Class Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__EDITOR_PLUGIN_CLASS_NAME = eINSTANCE.getState_EditorPluginClassName();
/**
- * The meta object literal for the 'Required Plugins ' attribute
- * list feature.
- *
+ * The meta object literal for the 'Required Plugins ' attribute list feature.
+ *
* @generated
*/
EAttribute STATE__REQUIRED_PLUGINS = eINSTANCE.getState_RequiredPlugins();
@@ -3794,87 +3648,71 @@ interface Literals {
/**
* The meta object literal for the 'Revision ' reference feature.
*
- *
* @generated
*/
EReference STATE__REVISION = eINSTANCE.getState_Revision();
/**
- * The meta object literal for the 'Timestamp ' attribute
- * feature.
- *
+ * The meta object literal for the 'Timestamp ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__TIMESTAMP = eINSTANCE.getState_Timestamp();
/**
- * The meta object literal for the 'Deployable Unit Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Deployable Unit Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__DEPLOYABLE_UNIT_NAME = eINSTANCE.getState_DeployableUnitName();
/**
- * The meta object literal for the 'Edit Deployable Unit Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Edit Deployable Unit Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__EDIT_DEPLOYABLE_UNIT_NAME = eINSTANCE.getState_EditDeployableUnitName();
/**
- * The meta object literal for the 'Editor Deployable Unit Name '
- * attribute feature.
- *
+ * The meta object literal for the 'Editor Deployable Unit Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__EDITOR_DEPLOYABLE_UNIT_NAME = eINSTANCE.getState_EditorDeployableUnitName();
/**
- * The meta object literal for the 'Job Family ' attribute
- * feature.
- *
+ * The meta object literal for the 'Job Family ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__JOB_FAMILY = eINSTANCE.getState_JobFamily();
/**
- * The meta object literal for the 'Resource ' reference feature.
+ * The meta object literal for the 'Commit Id ' attribute feature.
*
- *
- * @generated
- */
- EReference STATE__RESOURCE = eINSTANCE.getState_Resource();
-
- /**
- * The meta object literal for the 'Commit Ids ' attribute list
- * feature.
- *
* @generated
*/
- EAttribute STATE__COMMIT_IDS = eINSTANCE.getState_CommitIds();
+ EAttribute STATE__COMMIT_ID = eINSTANCE.getState_CommitId();
/**
- * The meta object literal for the 'Commit Id ' attribute
- * feature.
- *
+ * The meta object literal for the 'State Customizers ' map feature.
+ *
* @generated
*/
- EAttribute STATE__COMMIT_ID = eINSTANCE.getState_CommitId();
+ EReference STATE__STATE_CUSTOMIZERS = eINSTANCE.getState_StateCustomizers();
/**
- * The meta object literal for the 'State Customizers ' map
- * feature.
+ * The meta object literal for the 'Non Exclusive State
+ * Customizers ' map feature.
*
* @generated
*/
- EReference STATE__STATE_CUSTOMIZERS = eINSTANCE.getState_StateCustomizers();
+ EReference STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS = eINSTANCE.getState_NonExclusiveStateCustomizers();
/**
- * The meta object literal for the 'Project Name ' attribute
- * feature.
- *
+ * The meta object literal for the 'Project Name ' attribute feature.
+ *
* @generated
*/
EAttribute STATE__PROJECT_NAME = eINSTANCE.getState_ProjectName();
@@ -3882,7 +3720,6 @@ interface Literals {
/**
* The meta object literal for the 'Making ' attribute feature.
*
- *
* @generated
*/
EAttribute STATE__MAKING = eINSTANCE.getState_Making();
@@ -3890,7 +3727,6 @@ interface Literals {
/**
* The meta object literal for the 'Edit ' attribute feature.
*
- *
* @generated
*/
EAttribute STATE__EDIT = eINSTANCE.getState_Edit();
@@ -3898,7 +3734,6 @@ interface Literals {
/**
* The meta object literal for the 'Editor ' attribute feature.
*
- *
* @generated
*/
EAttribute STATE__EDITOR = eINSTANCE.getState_Editor();
@@ -3906,67 +3741,44 @@ interface Literals {
/**
* The meta object literal for the 'Strategy ' reference feature.
*
- *
* @generated
*/
EReference STATE__STRATEGY = eINSTANCE.getState_Strategy();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.StrategyImpl Strategy }'
- * class.
- *
- * @see org.enterprisedomain.classmaker.impl.StrategyImpl
- * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStrategy()
- * @generated
- */
- EClass STRATEGY = eINSTANCE.getStrategy();
-
- /**
- * The meta object literal for the 'Generators ' reference list
- * feature.
- *
- * @generated
- */
- EReference STRATEGY__GENERATORS = eINSTANCE.getStrategy_Generators();
-
- /**
- * The meta object literal for the 'Exporters ' reference list
- * feature.
- *
+ * The meta object literal for the 'Base Package ' attribute feature.
+ *
* @generated
*/
- EReference STRATEGY__EXPORTERS = eINSTANCE.getStrategy_Exporters();
+ EAttribute STATE__BASE_PACKAGE = eINSTANCE.getState_BasePackage();
/**
- * The meta object literal for the 'Installers ' reference list
- * feature.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.StrategyImpl Strategy }' class.
+ *
+ * @see org.enterprisedomain.classmaker.impl.StrategyImpl
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStrategy()
* @generated
*/
- EReference STRATEGY__INSTALLERS = eINSTANCE.getStrategy_Installers();
+ EClass STRATEGY = eINSTANCE.getStrategy();
/**
- * The meta object literal for the 'Loaders ' reference list
- * feature.
- *
+ * The meta object literal for the 'State ' reference feature.
+ *
* @generated
*/
- EReference STRATEGY__LOADERS = eINSTANCE.getStrategy_Loaders();
+ EReference STRATEGY__STATE = eINSTANCE.getStrategy_State();
/**
- * The meta object literal for the 'State ' reference feature.
- *
+ * The meta object literal for the 'Workers ' map feature.
*
* @generated
*/
- EReference STRATEGY__STATE = eINSTANCE.getStrategy_State();
+ EReference STRATEGY__WORKERS = eINSTANCE.getStrategy_Workers();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ItemImpl Item }' class.
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ItemImpl Item }' class.
*
- *
* @see org.enterprisedomain.classmaker.impl.ItemImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getItem()
* @generated
@@ -3974,9 +3786,8 @@ interface Literals {
EClass ITEM = eINSTANCE.getItem();
/**
- * The meta object literal for the 'Model Name ' attribute
- * feature.
- *
+ * The meta object literal for the 'Model Name ' attribute feature.
+ *
* @generated
*/
EAttribute ITEM__MODEL_NAME = eINSTANCE.getItem_ModelName();
@@ -3984,7 +3795,6 @@ interface Literals {
/**
* The meta object literal for the 'Phase ' attribute feature.
*
- *
* @generated
*/
EAttribute ITEM__PHASE = eINSTANCE.getItem_Phase();
@@ -3992,15 +3802,13 @@ interface Literals {
/**
* The meta object literal for the 'Language ' attribute feature.
*
- *
* @generated
*/
EAttribute ITEM__LANGUAGE = eINSTANCE.getItem_Language();
/**
- * The meta object literal for the 'Domain Model ' containment
- * reference feature.
- *
+ * The meta object literal for the 'Domain Model ' containment reference feature.
+ *
* @generated
*/
EReference ITEM__DOMAIN_MODEL = eINSTANCE.getItem_DomainModel();
@@ -4008,7 +3816,6 @@ interface Literals {
/**
* The meta object literal for the 'Customizers ' map feature.
*
- *
* @generated
*/
EReference ITEM__CUSTOMIZERS = eINSTANCE.getItem_Customizers();
@@ -4016,7 +3823,6 @@ interface Literals {
/**
* The meta object literal for the 'Parent ' reference feature.
*
- *
* @generated
*/
EReference ITEM__PARENT = eINSTANCE.getItem_Parent();
@@ -4024,7 +3830,6 @@ interface Literals {
/**
* The meta object literal for the 'Locale ' attribute feature.
*
- *
* @generated
*/
EAttribute ITEM__LOCALE = eINSTANCE.getItem_Locale();
@@ -4032,15 +3837,20 @@ interface Literals {
/**
* The meta object literal for the 'Project ' reference feature.
*
- *
* @generated
*/
EReference ITEM__PROJECT = eINSTANCE.getItem_Project();
/**
- * The meta object literal for the '{@link org.eclipse.emf.common.notify.Adapter
- * Adapter }' class.
- *
+ * The meta object literal for the 'Resource ' reference feature.
+ *
+ * @generated
+ */
+ EReference ITEM__RESOURCE = eINSTANCE.getItem_Resource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.common.notify.Adapter Adapter }' class.
+ *
* @see org.eclipse.emf.common.notify.Adapter
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getAdapter()
* @generated
@@ -4048,10 +3858,8 @@ interface Literals {
EClass ADAPTER = eINSTANCE.getAdapter();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.WorkspaceImpl
- * Workspace }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.WorkspaceImpl Workspace }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.WorkspaceImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getWorkspace()
* @generated
@@ -4059,17 +3867,15 @@ interface Literals {
EClass WORKSPACE = eINSTANCE.getWorkspace();
/**
- * The meta object literal for the 'Projects ' containment
- * reference list feature.
- *
+ * The meta object literal for the 'Projects ' containment reference list feature.
+ *
* @generated
*/
EReference WORKSPACE__PROJECTS = eINSTANCE.getWorkspace_Projects();
/**
- * The meta object literal for the 'Resource Set ' attribute
- * feature.
- *
+ * The meta object literal for the 'Resource Set ' attribute feature.
+ *
* @generated
*/
EAttribute WORKSPACE__RESOURCE_SET = eINSTANCE.getWorkspace_ResourceSet();
@@ -4077,27 +3883,38 @@ interface Literals {
/**
* The meta object literal for the 'Customizers ' map feature.
*
- *
* @generated
*/
EReference WORKSPACE__CUSTOMIZERS = eINSTANCE.getWorkspace_Customizers();
/**
- * The meta object literal for the 'Service ' container reference
- * feature.
- *
+ * The meta object literal for the 'Non Exclusive Customizers ' map feature.
+ *
+ * @generated
+ */
+ EReference WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS = eINSTANCE.getWorkspace_NonExclusiveCustomizers();
+
+ /**
+ * The meta object literal for the 'Service ' container reference feature.
+ *
* @generated
*/
EReference WORKSPACE__SERVICE = eINSTANCE.getWorkspace_Service();
/**
- * The meta object literal for the 'SCM Registry ' reference
- * feature.
- *
+ * The meta object literal for the 'SCM Registry ' reference feature.
+ *
* @generated
*/
EReference WORKSPACE__SCM_REGISTRY = eINSTANCE.getWorkspace_SCMRegistry();
+ /**
+ * The meta object literal for the 'Excluded EPackages ' reference list feature.
+ *
+ * @generated
+ */
+ EReference WORKSPACE__EXCLUDED_EPACKAGES = eINSTANCE.getWorkspace_ExcludedEPackages();
+
/**
* The meta object literal for the
* '{@link org.enterprisedomain.classmaker.impl.LongToStateMapEntryImpl Long
@@ -4119,19 +3936,16 @@ interface Literals {
EAttribute LONG_TO_STATE_MAP_ENTRY__KEY = eINSTANCE.getLongToStateMapEntry_Key();
/**
- * The meta object literal for the 'Value ' containment reference
- * feature.
- *
+ * The meta object literal for the 'Value ' containment reference feature.
+ *
* @generated
*/
EReference LONG_TO_STATE_MAP_ENTRY__VALUE = eINSTANCE.getLongToStateMapEntry_Value();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl
- * Version To Revision Map Entry }' class.
- *
* @see org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getVersionToRevisionMapEntry()
* @generated
@@ -4147,18 +3961,15 @@ interface Literals {
EAttribute VERSION_TO_REVISION_MAP_ENTRY__KEY = eINSTANCE.getVersionToRevisionMapEntry_Key();
/**
- * The meta object literal for the 'Value ' containment reference
- * feature.
- *
+ * The meta object literal for the 'Value ' containment reference feature.
+ *
* @generated
*/
EReference VERSION_TO_REVISION_MAP_ENTRY__VALUE = eINSTANCE.getVersionToRevisionMapEntry_Value();
/**
- * The meta object literal for the
- * '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling
- * Rule }' class.
- *
+ * The meta object literal for the '{@link org.eclipse.core.runtime.jobs.ISchedulingRule IScheduling Rule }' class.
+ *
* @see org.eclipse.core.runtime.jobs.ISchedulingRule
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getISchedulingRule()
* @generated
@@ -4166,9 +3977,8 @@ interface Literals {
EClass ISCHEDULING_RULE = eINSTANCE.getISchedulingRule();
/**
- * The meta object literal for the '{@link java.util.concurrent.Executor
- * Executor }' class.
- *
+ * The meta object literal for the '{@link java.util.concurrent.Executor Executor }' class.
+ *
* @see java.util.concurrent.Executor
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getExecutor()
* @generated
@@ -4176,9 +3986,8 @@ interface Literals {
EClass EXECUTOR = eINSTANCE.getExecutor();
/**
- * The meta object literal for the '{@link java.util.concurrent.Future
- * Future }' class.
- *
+ * The meta object literal for the '{@link java.util.concurrent.Future Future }' class.
+ *
* @see java.util.concurrent.Future
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getFuture()
* @generated
@@ -4186,10 +3995,8 @@ interface Literals {
EClass FUTURE = eINSTANCE.getFuture();
/**
- * The meta object literal for the
- * '{@link org.eclipse.core.runtime.IAdapterFactory IAdapter Factory }'
- * class.
- *
+ * The meta object literal for the '{@link org.eclipse.core.runtime.IAdapterFactory IAdapter Factory }' class.
+ *
* @see org.eclipse.core.runtime.IAdapterFactory
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getIAdapterFactory()
* @generated
@@ -4197,10 +4004,8 @@ interface Literals {
EClass IADAPTER_FACTORY = eINSTANCE.getIAdapterFactory();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.CustomizerImpl
- * Customizer }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.CustomizerImpl Customizer }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.CustomizerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCustomizer()
* @generated
@@ -4210,16 +4015,27 @@ interface Literals {
/**
* The meta object literal for the 'Rank ' attribute feature.
*
- *
* @generated
*/
EAttribute CUSTOMIZER__RANK = eINSTANCE.getCustomizer_Rank();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.StageQualifierImpl Stage
- * Qualifier }' class.
- *
+ * The meta object literal for the 'Exclusive ' attribute feature.
+ *
+ * @generated
+ */
+ EAttribute CUSTOMIZER__EXCLUSIVE = eINSTANCE.getCustomizer_Exclusive();
+
+ /**
+ * The meta object literal for the 'Stage ' reference feature.
+ *
+ * @generated
+ */
+ EReference CUSTOMIZER__STAGE = eINSTANCE.getCustomizer_Stage();
+
+ /**
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.StageQualifierImpl Stage Qualifier }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.StageQualifierImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifier()
* @generated
@@ -4229,7 +4045,6 @@ interface Literals {
/**
* The meta object literal for the 'Stage ' attribute feature.
*
- *
* @generated
*/
EAttribute STAGE_QUALIFIER__STAGE = eINSTANCE.getStageQualifier_Stage();
@@ -4237,17 +4052,14 @@ interface Literals {
/**
* The meta object literal for the 'Step ' attribute feature.
*
- *
* @generated
*/
EAttribute STAGE_QUALIFIER__STEP = eINSTANCE.getStageQualifier_Step();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl
- * Stage Qualifier To Customizer Map Entry }' class.
- *
* @see org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifierToCustomizerMapEntry()
* @generated
@@ -4263,19 +4075,41 @@ interface Literals {
EReference STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY__KEY = eINSTANCE.getStageQualifierToCustomizerMapEntry_Key();
/**
- * The meta object literal for the 'Value ' containment reference
- * feature.
- *
+ * The meta object literal for the 'Value ' containment reference feature.
+ *
* @generated
*/
EReference STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY__VALUE = eINSTANCE
.getStageQualifierToCustomizerMapEntry_Value();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ModelsImpl Models }'
- * class.
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl Stage Qualifier To Workers Map Entry }' class.
+ *
+ * @see org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStageQualifierToWorkersMapEntry()
+ * @generated
+ */
+ EClass STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY = eINSTANCE.getStageQualifierToWorkersMapEntry();
+
+ /**
+ * The meta object literal for the 'Key ' reference feature.
*
+ * @generated
+ */
+ EReference STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY = eINSTANCE.getStageQualifierToWorkersMapEntry_Key();
+
+ /**
+ * The meta object literal for the 'Value ' reference list feature.
+ *
+ * @generated
+ */
+ EReference STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE = eINSTANCE.getStageQualifierToWorkersMapEntry_Value();
+
+ /**
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ModelsImpl Models }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ModelsImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getModels()
* @generated
@@ -4283,41 +4117,36 @@ interface Literals {
EClass MODELS = eINSTANCE.getModels();
/**
- * The meta object literal for the 'Dynamic ' containment
- * reference feature.
- *
+ * The meta object literal for the 'Dynamic ' containment reference feature.
+ *
* @generated
*/
EReference MODELS__DYNAMIC = eINSTANCE.getModels_Dynamic();
/**
- * The meta object literal for the 'Generated ' reference
- * feature.
- *
+ * The meta object literal for the 'Generated ' reference feature.
+ *
* @generated
*/
EReference MODELS__GENERATED = eINSTANCE.getModels_Generated();
/**
- * The meta object literal for the 'Generated Edit ' attribute
- * feature.
- *
+ * The meta object literal for the 'Generated Edit ' attribute feature.
+ *
* @generated
*/
EAttribute MODELS__GENERATED_EDIT = eINSTANCE.getModels_GeneratedEdit();
/**
- * The meta object literal for the 'Generated Editor ' attribute
- * feature.
- *
+ * The meta object literal for the 'Generated Editor ' attribute feature.
+ *
* @generated
*/
EAttribute MODELS__GENERATED_EDITOR = eINSTANCE.getModels_GeneratedEditor();
/**
- * The meta object literal for the 'Parent ' container reference
- * feature.
- *
+ * The meta object literal for the 'Parent ' container reference feature.
+ *
* @generated
*/
EReference MODELS__PARENT = eINSTANCE.getModels_Parent();
@@ -4333,10 +4162,8 @@ interface Literals {
EDataType EMF_PLUGIN = eINSTANCE.getEMFPlugin();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ProjectImpl Project }'
- * class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ProjectImpl Project }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ProjectImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getProject()
* @generated
@@ -4346,81 +4173,64 @@ interface Literals {
/**
* The meta object literal for the 'Name ' attribute feature.
*
- *
* @generated
*/
EAttribute PROJECT__NAME = eINSTANCE.getProject_Name();
/**
- * The meta object literal for the 'Project Name ' attribute
- * feature.
- *
+ * The meta object literal for the 'Project Name ' attribute feature.
+ *
* @generated
*/
EAttribute PROJECT__PROJECT_NAME = eINSTANCE.getProject_ProjectName();
- /**
- * The meta object literal for the 'Children ' attribute list
- * feature.
- *
- * @generated
- */
- EAttribute PROJECT__CHILDREN = eINSTANCE.getProject_Children();
-
/**
* The meta object literal for the 'Dirty ' attribute feature.
*
- *
* @generated
*/
EAttribute PROJECT__DIRTY = eINSTANCE.getProject_Dirty();
/**
- * The meta object literal for the 'Workspace ' container
- * reference feature.
- *
+ * The meta object literal for the 'Workspace ' container reference feature.
+ *
* @generated
*/
EReference PROJECT__WORKSPACE = eINSTANCE.getProject_Workspace();
/**
- * The meta object literal for the 'Resource Path ' attribute
- * feature.
- *
+ * The meta object literal for the 'Resource Path ' attribute feature.
+ *
* @generated
*/
EAttribute PROJECT__RESOURCE_PATH = eINSTANCE.getProject_ResourcePath();
/**
- * The meta object literal for the 'Need Completion
- * Notification ' attribute feature.
- *
* @generated
*/
EAttribute PROJECT__NEED_COMPLETION_NOTIFICATION = eINSTANCE.getProject_NeedCompletionNotification();
/**
- * The meta object literal for the 'Completion Notification
- * Adapter ' reference feature.
- *
* @generated
*/
EReference PROJECT__COMPLETION_NOTIFICATION_ADAPTER = eINSTANCE.getProject_CompletionNotificationAdapter();
/**
- * The meta object literal for the 'Resource Reload Listener '
- * reference feature.
- *
+ * The meta object literal for the 'Resource Reload Listener ' reference feature.
+ *
* @generated
*/
EReference PROJECT__RESOURCE_RELOAD_LISTENER = eINSTANCE.getProject_ResourceReloadListener();
/**
- * The meta object literal for the 'Saving Resource ' attribute
- * feature.
- *
+ * The meta object literal for the 'Saving Resource ' attribute feature.
+ *
* @generated
*/
EAttribute PROJECT__SAVING_RESOURCE = eINSTANCE.getProject_SavingResource();
@@ -4428,7 +4238,6 @@ interface Literals {
/**
* The meta object literal for the 'Revision ' reference feature.
*
- *
* @generated
*/
EReference PROJECT__REVISION = eINSTANCE.getProject_Revision();
@@ -4442,17 +4251,15 @@ interface Literals {
EReference PROJECT__REVISIONS = eINSTANCE.getProject_Revisions();
/**
- * The meta object literal for the 'Project Version ' attribute
- * feature.
- *
+ * The meta object literal for the 'Project Version ' attribute feature.
+ *
* @generated
*/
EAttribute PROJECT__PROJECT_VERSION = eINSTANCE.getProject_ProjectVersion();
/**
- * The meta object literal for the 'Select Reveal Handler '
- * reference feature.
- *
+ * The meta object literal for the 'Select Reveal Handler ' reference feature.
+ *
* @generated
*/
EReference PROJECT__SELECT_REVEAL_HANDLER = eINSTANCE.getProject_SelectRevealHandler();
@@ -4460,7 +4267,6 @@ interface Literals {
/**
* The meta object literal for the 'Version ' attribute feature.
*
- *
* @generated
*/
EAttribute PROJECT__VERSION = eINSTANCE.getProject_Version();
@@ -4468,24 +4274,27 @@ interface Literals {
/**
* The meta object literal for the 'State ' reference feature.
*
- *
* @generated
*/
EReference PROJECT__STATE = eINSTANCE.getProject_State();
/**
- * The meta object literal for the 'Model Resource Adapter '
- * containment reference feature.
- *
+ * The meta object literal for the 'Model Resource Adapter ' containment reference feature.
+ *
* @generated
*/
EReference PROJECT__MODEL_RESOURCE_ADAPTER = eINSTANCE.getProject_ModelResourceAdapter();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl SCM
- * Operator }' class.
- *
+ * The meta object literal for the 'Class Loader ' attribute feature.
+ *
+ * @generated
+ */
+ EAttribute PROJECT__CLASS_LOADER = eINSTANCE.getProject_ClassLoader();
+
+ /**
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl SCM Operator }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.SCMOperatorImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSCMOperator()
* @generated
@@ -4493,9 +4302,8 @@ interface Literals {
EClass SCM_OPERATOR = eINSTANCE.getSCMOperator();
/**
- * The meta object literal for the 'Project Name ' attribute
- * feature.
- *
+ * The meta object literal for the 'Project Name ' attribute feature.
+ *
* @generated
*/
EAttribute SCM_OPERATOR__PROJECT_NAME = eINSTANCE.getSCMOperator_ProjectName();
@@ -4503,16 +4311,13 @@ interface Literals {
/**
* The meta object literal for the 'Registry ' reference feature.
*
- *
* @generated
*/
EReference SCM_OPERATOR__REGISTRY = eINSTANCE.getSCMOperator_Registry();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.SCMRegistryImpl SCM
- * Registry }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.SCMRegistryImpl SCM Registry }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.SCMRegistryImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSCMRegistry()
* @generated
@@ -4520,10 +4325,8 @@ interface Literals {
EClass SCM_REGISTRY = eINSTANCE.getSCMRegistry();
/**
- * The meta object literal for the
- * '{@link org.eclipse.emf.ecore.resource.Resource Resource }' class.
+ * The meta object literal for the '{@link org.eclipse.emf.ecore.resource.Resource Resource }' class.
*
- *
* @see org.eclipse.emf.ecore.resource.Resource
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResource()
* @generated
@@ -4531,11 +4334,9 @@ interface Literals {
EClass RESOURCE = eINSTANCE.getResource();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ResourceChangeListenerImpl
- * Resource Change Listener }' class.
- *
* @see org.enterprisedomain.classmaker.impl.ResourceChangeListenerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResourceChangeListener()
* @generated
@@ -4543,10 +4344,8 @@ interface Literals {
EClass RESOURCE_CHANGE_LISTENER = eINSTANCE.getResourceChangeListener();
/**
- * The meta object literal for the
- * '{@link org.eclipse.emf.common.notify.Notification Notification }'
- * class.
- *
+ * The meta object literal for the '{@link org.eclipse.emf.common.notify.Notification Notification }' class.
+ *
* @see org.eclipse.emf.common.notify.Notification
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getNotification()
* @generated
@@ -4554,10 +4353,8 @@ interface Literals {
EClass NOTIFICATION = eINSTANCE.getNotification();
/**
- * The meta object literal for the
- * '{@link org.eclipse.emf.common.notify.Notifier Notifier }' class.
+ * The meta object literal for the '{@link org.eclipse.emf.common.notify.Notifier Notifier }' class.
*
- *
* @see org.eclipse.emf.common.notify.Notifier
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getNotifier()
* @generated
@@ -4565,11 +4362,9 @@ interface Literals {
EClass NOTIFIER = eINSTANCE.getNotifier();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.CompletionListenerImpl
- * Completion Listener }' class.
- *
* @see org.enterprisedomain.classmaker.impl.CompletionListenerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCompletionListener()
* @generated
@@ -4577,10 +4372,8 @@ interface Literals {
EClass COMPLETION_LISTENER = eINSTANCE.getCompletionListener();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.jobs.Worker Worker }' class.
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.jobs.Worker Worker }' class.
*
- *
* @see org.enterprisedomain.classmaker.jobs.Worker
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getWorker()
* @generated
@@ -4588,11 +4381,9 @@ interface Literals {
EClass WORKER = eINSTANCE.getWorker();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.SelectRevealHandlerImpl
- * Select Reveal Handler }' class.
- *
* @see org.enterprisedomain.classmaker.impl.SelectRevealHandlerImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getSelectRevealHandler()
* @generated
@@ -4600,10 +4391,8 @@ interface Literals {
EClass SELECT_REVEAL_HANDLER = eINSTANCE.getSelectRevealHandler();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl Resource
- * Adapter }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl Resource Adapter }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ResourceAdapterImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getResourceAdapter()
* @generated
@@ -4613,7 +4402,6 @@ interface Literals {
/**
* The meta object literal for the 'Resource ' reference feature.
*
- *
* @generated
*/
EReference RESOURCE_ADAPTER__RESOURCE = eINSTANCE.getResourceAdapter_Resource();
@@ -4621,24 +4409,20 @@ interface Literals {
/**
* The meta object literal for the 'Filename ' attribute feature.
*
- *
* @generated
*/
EAttribute RESOURCE_ADAPTER__FILENAME = eINSTANCE.getResourceAdapter_Filename();
/**
- * The meta object literal for the 'Project ' container reference
- * feature.
- *
+ * The meta object literal for the 'Project ' container reference feature.
+ *
* @generated
*/
EReference RESOURCE_ADAPTER__PROJECT = eINSTANCE.getResourceAdapter_Project();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl
- * Service }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl Service }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getClassMakerService()
* @generated
@@ -4646,18 +4430,15 @@ interface Literals {
EClass CLASS_MAKER_SERVICE = eINSTANCE.getClassMakerService();
/**
- * The meta object literal for the 'Workspace ' containment
- * reference feature.
- *
+ * The meta object literal for the 'Workspace ' containment reference feature.
+ *
* @generated
*/
EReference CLASS_MAKER_SERVICE__WORKSPACE = eINSTANCE.getClassMakerService_Workspace();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.BlueprintImpl
- * Blueprint }' class.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.BlueprintImpl Blueprint }' class.
+ *
* @see org.enterprisedomain.classmaker.impl.BlueprintImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getBlueprint()
* @generated
@@ -4665,25 +4446,22 @@ interface Literals {
EClass BLUEPRINT = eINSTANCE.getBlueprint();
/**
- * The meta object literal for the 'Dynamic Model ' reference
- * feature.
- *
+ * The meta object literal for the 'Dynamic Model ' reference feature.
+ *
* @generated
*/
EReference BLUEPRINT__DYNAMIC_MODEL = eINSTANCE.getBlueprint_DynamicModel();
/**
- * The meta object literal for the 'Dependencies ' attribute list
- * feature.
- *
+ * The meta object literal for the 'Dependencies ' attribute list feature.
+ *
* @generated
*/
EAttribute BLUEPRINT__DEPENDENCIES = eINSTANCE.getBlueprint_Dependencies();
/**
- * The meta object literal for the 'Completion Listeners '
- * reference list feature.
- *
+ * The meta object literal for the 'Completion Listeners ' reference list feature.
+ *
* @generated
*/
EReference BLUEPRINT__COMPLETION_LISTENERS = eINSTANCE.getBlueprint_CompletionListeners();
@@ -4691,7 +4469,6 @@ interface Literals {
/**
* The meta object literal for the 'Edit ' attribute feature.
*
- *
* @generated
*/
EAttribute BLUEPRINT__EDIT = eINSTANCE.getBlueprint_Edit();
@@ -4699,17 +4476,14 @@ interface Literals {
/**
* The meta object literal for the 'Editor ' attribute feature.
*
- *
* @generated
*/
EAttribute BLUEPRINT__EDITOR = eINSTANCE.getBlueprint_Editor();
/**
- * The meta object literal for the
- * '{@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl
- * Completion Notification Adapter }' class.
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl Completion Notification Adapter }' class.
+ *
*
- *
* @see org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getCompletionNotificationAdapter()
* @generated
@@ -4719,7 +4493,6 @@ interface Literals {
/**
* The meta object literal for the 'Error ' attribute feature.
*
- *
* @generated
*/
EAttribute COMPLETION_NOTIFICATION_ADAPTER__ERROR = eINSTANCE.getCompletionNotificationAdapter_Error();
@@ -4727,7 +4500,6 @@ interface Literals {
/**
* The meta object literal for the 'Project ' reference feature.
*
- *
* @generated
*/
EReference COMPLETION_NOTIFICATION_ADAPTER__PROJECT = eINSTANCE.getCompletionNotificationAdapter_Project();
@@ -4743,15 +4515,24 @@ interface Literals {
EDataType LOCALE = eINSTANCE.getLocale();
/**
- * The meta object literal for the '{@link org.enterprisedomain.classmaker.Stage
- * Stage }' enum.
- *
+ * The meta object literal for the '{@link org.enterprisedomain.classmaker.Stage Stage }' enum.
+ *
* @see org.enterprisedomain.classmaker.Stage
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getStage()
* @generated
*/
EEnum STAGE = eINSTANCE.getStage();
+ /**
+ * The meta object literal for the 'Class Loader ' data type.
+ *
+ * @see java.lang.ClassLoader
+ * @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getClassLoader()
+ * @generated
+ */
+ EDataType CLASS_LOADER = eINSTANCE.getClassLoader();
+
/**
* The meta object literal for the 'Properties ' data type.
@@ -4803,9 +4584,8 @@ interface Literals {
EDataType CORE_EXCEPTION = eINSTANCE.getCoreException();
/**
- * The meta object literal for the 'Invocation Target Exception ' data
- * type.
- *
+ * The meta object literal for the 'Invocation Target Exception ' data type.
+ *
* @see java.lang.reflect.InvocationTargetException
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getInvocationTargetException()
* @generated
@@ -4823,9 +4603,9 @@ interface Literals {
EDataType ISTATUS = eINSTANCE.getIStatus();
/**
- * The meta object literal for the 'URI ' data type.
- *
* @see org.eclipse.emf.common.util.URI
* @see org.enterprisedomain.classmaker.impl.ClassMakerPackageImpl#getURI()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerService.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerService.java
index 050207a8..4d68c33b 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerService.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ClassMakerService.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2017 Kyrill Zotkin
+ * Copyright 2017, 2022 Kyrill Zotkin
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,15 +38,15 @@
* A representation of the model object
* 'Service '.
*
- * ClassMaker API facade service.
+ *
+ * ClassMaker API facade service.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace
- * Workspace }
+ * {@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace Workspace }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getClassMakerService()
@@ -61,7 +61,7 @@ public abstract class Stages {
public static final String ID_PREFIX = "org.enterprisedomain.classmaker.customization.stages.";
- private static final String PHASE_ATTR = "phase";
+ private static final String ROLE_ATTR = "role";
private static final String ID_ATTR = "id";
@@ -71,6 +71,8 @@ public abstract class Stages {
private static final String RANK_ATTR = "rank";
+ private static final String EXCLUSIVE_ATTR = "exclusive";
+
private static final String CLASS_ATTR = "class";
private static HashMap stages = new HashMap();
@@ -86,7 +88,7 @@ public static void contributeStages() {
IConfigurationElement[] stageElements = Platform.getExtensionRegistry()
.getConfigurationElementsFor(ClassMakerPlugin.STAGES_EXT_POINT);
for (IConfigurationElement e : stageElements) {
- Stage phase = Stage.getByName(e.getAttribute(PHASE_ATTR).toUpperCase());
+ Stage phase = Stage.getByName(e.getAttribute(ROLE_ATTR).toUpperCase());
String id = e.getAttribute(ID_ATTR);
stages.put(id, createStageQualifier(phase, e.getAttribute(STEP_ATTR)));
}
@@ -96,6 +98,13 @@ public static StageQualifier lookup(String id) {
return stages.get(id);
}
+ public static StageQualifier lookup(Stage stage, String step) {
+ for (StageQualifier q : stages.values())
+ if (q.getStage().equals(stage) && q.getStep().equals(step))
+ return q;
+ return null;
+ }
+
public static Set ids() {
return stages.keySet();
}
@@ -109,6 +118,11 @@ public static SortedSet createCustomizers(String id) {
try {
Customizer result = (Customizer) ce.createExecutableExtension(CLASS_ATTR);
result.setRank(Integer.valueOf(ce.getAttribute(RANK_ATTR)));
+ boolean e = true;
+ if (ce.getAttribute(EXCLUSIVE_ATTR) != null)
+ e = Boolean.valueOf(ce.getAttribute(EXCLUSIVE_ATTR));
+ result.setExclusive(e);
+ result.setStage(stages.get(ce.getAttribute(STAGE_ATTR)));
results.add(result);
} catch (CoreException ex) {
ClassMakerPlugin.getInstance().getLog().log(ex.getStatus());
@@ -143,11 +157,9 @@ public static SortedSet createCustomizers(String id) {
Workspace getWorkspace();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace
- * Workspace }' containment reference.
- *
* @param value the new value of the 'Workspace ' containment reference.
* @see #getWorkspace()
* @generated
@@ -182,27 +194,21 @@ public static SortedSet createCustomizers(String id) {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(EObject source, EObject target, IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(Blueprint source, Blueprint target, IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(EObject source, EObject target, boolean changeVersion, IProgressMonitor monitor)
@@ -210,9 +216,7 @@ EObject replace(EObject source, EObject target, boolean changeVersion, IProgress
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(Blueprint source, Blueprint target, boolean changeVersion, IProgressMonitor monitor)
@@ -220,20 +224,14 @@ EObject replace(Blueprint source, Blueprint target, boolean changeVersion, IProg
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" versionDataType="org.enterprisedomain.classmaker.OSGiVersion" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(EObject source, EObject target, Version version, IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" versionDataType="org.enterprisedomain.classmaker.OSGiVersion" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject replace(Blueprint source, Blueprint target, Version version, IProgressMonitor monitor) throws CoreException;
@@ -272,12 +270,7 @@ EObject replace(Blueprint source, Blueprint target, boolean changeVersion, IProg
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(EObject source, EObject target, Executor executor, IProgressMonitor monitor)
@@ -285,12 +278,7 @@ Future extends EObject> replace(EObject source, EObject target, Executor execu
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(Blueprint source, Blueprint target, Executor executor, IProgressMonitor monitor)
@@ -298,12 +286,7 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Executor e
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(EObject source, EObject target, boolean changeVersion, Executor executor,
@@ -311,12 +294,7 @@ Future extends EObject> replace(EObject source, EObject target, boolean change
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(Blueprint source, Blueprint target, boolean changeVersion, Executor executor,
@@ -324,13 +302,7 @@ Future extends EObject> replace(Blueprint source, Blueprint target, boolean ch
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" versionDataType="org.enterprisedomain.classmaker.OSGiVersion" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(EObject source, EObject target, Version version, Executor executor,
@@ -338,13 +310,7 @@ Future extends EObject> replace(EObject source, EObject target, Version versio
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Future<? extends
- * org.eclipse.emf.ecore.EObject>"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
- * executorType="org.enterprisedomain.classmaker.Executor"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model type="org.enterprisedomain.classmaker.Future<? extends org.eclipse.emf.ecore.EObject>" exceptions="org.enterprisedomain.classmaker.CoreException" versionDataType="org.enterprisedomain.classmaker.OSGiVersion" executorType="org.enterprisedomain.classmaker.Executor" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Future extends EObject> replace(Blueprint source, Blueprint target, Version version, Executor executor,
@@ -352,44 +318,34 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * transformationURIDataType="org.enterprisedomain.classmaker.URI"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" transformationURIDataType="org.enterprisedomain.classmaker.URI"
* @generated
*/
EObject transform(EObject source, URI transformationURI) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * transformationURIDataType="org.enterprisedomain.classmaker.URI"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" transformationURIDataType="org.enterprisedomain.classmaker.URI" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
EObject transform(EObject source, URI transformationURI, IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.InvocationTargetException"
- * argumentsMany="true"
+ * @model exceptions="org.enterprisedomain.classmaker.InvocationTargetException" argumentsMany="true"
* @generated
*/
Object invoke(EOperation operation, EObject object, EList arguments) throws InvocationTargetException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(String packageName, IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model
* @generated
*/
@@ -397,7 +353,6 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
* @model
* @generated
*/
@@ -405,7 +360,6 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
* @model
* @generated
*/
@@ -413,7 +367,6 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
* @model
* @generated
*/
@@ -421,7 +374,6 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
* @model
* @generated
*/
@@ -429,7 +381,6 @@ Future extends EObject> replace(Blueprint source, Blueprint target, Version ve
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionListener.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionListener.java
index aabdc4ce..81eab8f9 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionListener.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionListener.java
@@ -21,8 +21,9 @@
* A representation of the model object
* 'Completion Listener '.
*
- * A process completion listener.
+ *
+ * A process completion listener.
+ *
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getCompletionListener()
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionNotificationAdapter.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionNotificationAdapter.java
index 81f7069d..3b5d71d8 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionNotificationAdapter.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/CompletionNotificationAdapter.java
@@ -23,17 +23,16 @@
* A representation of the model object
* 'Completion Notification Adapter '.
*
- * {@link org.eclipse.emf.common.notify.Adapter
- * Adapter} for notification about process completion.
+ *
+ * {@link org.eclipse.emf.common.notify.Adapter Adapter} for notification about process completion.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getError
- * Error }
- * {@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getError Error }
+ * {@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject Project }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getCompletionNotificationAdapter()
@@ -58,12 +57,10 @@ public interface CompletionNotificationAdapter extends EObject, Adapter {
IStatus getError();
/**
- * Returns the value of the 'Project ' reference. It is
- * bidirectional and its opposite is
- * '{@link org.enterprisedomain.classmaker.Project#getCompletionNotificationAdapter
- * Completion Notification Adapter }'.
- *
* @return the value of the 'Project ' reference.
* @see #setProject(Project)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getCompletionNotificationAdapter_Project()
@@ -74,10 +71,8 @@ public interface CompletionNotificationAdapter extends EObject, Adapter {
Project getProject();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject
- * Project }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.CompletionNotificationAdapter#getProject Project }' reference.
+ *
* @param value the new value of the 'Project ' reference.
* @see #getProject()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Contribution.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Contribution.java
index 9d53e1e7..a7c4f07b 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Contribution.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Contribution.java
@@ -24,18 +24,16 @@
* A representation of the model object
* 'Contribution '.
*
- * Software contribution project item. Basically, it
- * contibutes the software piece to the body of main program.
+ *
+ * Software contribution project item. Basically, it contibutes the software piece to the body of main program.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Contribution#getDependencies
- * Dependencies }
- * {@link org.enterprisedomain.classmaker.Contribution#getLatestVersion
- * Latest Version }
+ * {@link org.enterprisedomain.classmaker.Contribution#getDependencies Dependencies }
+ * {@link org.enterprisedomain.classmaker.Contribution#getLatestVersion Latest Version }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getContribution()
@@ -80,25 +78,20 @@ public interface Contribution extends Project {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
String make(Revision revision, IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Customizer.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Customizer.java
index c0547b3a..f02feb48 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Customizer.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Customizer.java
@@ -24,15 +24,17 @@
* A representation of the model object '
* Customizer '.
*
- * Allows to customize the process.
+ *
+ * Allows to customize the process.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Customizer#getRank
- * Rank }
+ * {@link org.enterprisedomain.classmaker.Customizer#getRank Rank }
+ * {@link org.enterprisedomain.classmaker.Customizer#isExclusive Exclusive }
+ * {@link org.enterprisedomain.classmaker.Customizer#getStage Stage }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getCustomizer()
@@ -68,16 +70,56 @@ public int compare(Customizer o1, Customizer o2) {
int getRank();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Customizer#getRank Rank }'
- * attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Customizer#getRank Rank }' attribute.
+ *
* @param value the new value of the 'Rank ' attribute.
* @see #getRank()
* @generated
*/
void setRank(int value);
+ /**
+ * Returns the value of the 'Exclusive ' attribute.
+ * The default value is "true".
+ *
+ * @return the value of the 'Exclusive ' attribute.
+ * @see #setExclusive(boolean)
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getCustomizer_Exclusive()
+ * @model default="true"
+ * @generated
+ */
+ boolean isExclusive();
+
+ /**
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Customizer#isExclusive Exclusive }' attribute.
+ *
+ * @param value the new value of the 'Exclusive ' attribute.
+ * @see #isExclusive()
+ * @generated
+ */
+ void setExclusive(boolean value);
+
+ /**
+ * Returns the value of the 'Stage ' reference.
+ *
+ * @return the value of the 'Stage ' reference.
+ * @see #setStage(StageQualifier)
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getCustomizer_Stage()
+ * @model
+ * @generated
+ */
+ StageQualifier getStage();
+
+ /**
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Customizer#getStage Stage }' reference.
+ *
+ * @param value the new value of the 'Stage ' reference.
+ * @see #getStage()
+ * @generated
+ */
+ void setStage(StageQualifier value);
+
/**
*
* Provides customization in the process.
@@ -87,4 +129,11 @@ public int compare(Customizer o1, Customizer o2) {
*/
Object customize(EList args);
+ /**
+ *
+ * @model
+ * @generated
+ */
+ boolean isNextAfter(Class extends Customizer> customizerClass);
+
} // Customizer
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Item.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Item.java
index af3c5e00..698c2e20 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Item.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Item.java
@@ -21,33 +21,29 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
/**
* A representation of the model object
* 'Item '.
*
- * Common denominator for Project 's and
- * they parts.
+ *
+ * Common denominator for Project 's and they parts.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Item#getModelName Model
- * Name }
- * {@link org.enterprisedomain.classmaker.Item#getPhase Phase }
- * {@link org.enterprisedomain.classmaker.Item#getLanguage
- * Language }
- * {@link org.enterprisedomain.classmaker.Item#getDomainModel Domain
- * Model }
- * {@link org.enterprisedomain.classmaker.Item#getCustomizers
- * Customizers }
- * {@link org.enterprisedomain.classmaker.Item#getParent
- * Parent }
- * {@link org.enterprisedomain.classmaker.Item#getLocale
- * Locale }
- * {@link org.enterprisedomain.classmaker.Item#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.Item#getModelName Model Name }
+ * {@link org.enterprisedomain.classmaker.Item#getPhase Phase }
+ * {@link org.enterprisedomain.classmaker.Item#getLanguage Language }
+ * {@link org.enterprisedomain.classmaker.Item#getDomainModel Domain Model }
+ * {@link org.enterprisedomain.classmaker.Item#getCustomizers Customizers }
+ * {@link org.enterprisedomain.classmaker.Item#getParent Parent }
+ * {@link org.enterprisedomain.classmaker.Item#getLocale Locale }
+ * {@link org.enterprisedomain.classmaker.Item#getProject Project }
+ * {@link org.enterprisedomain.classmaker.Item#getResource Resource }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getItem()
@@ -73,10 +69,8 @@ public interface Item extends EObject {
String getModelName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Item#getModelName Model
- * Name }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getModelName Model Name }' attribute.
+ *
* @param value the new value of the 'Model Name ' attribute.
* @see #getModelName()
* @generated
@@ -104,9 +98,8 @@ public interface Item extends EObject {
Stage getPhase();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getPhase
- * Phase }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getPhase Phase }' attribute.
+ *
* @param value the new value of the 'Phase ' attribute.
* @see org.enterprisedomain.classmaker.Stage
* @see #getPhase()
@@ -133,10 +126,8 @@ public interface Item extends EObject {
String getLanguage();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Item#getLanguage Language }'
- * attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getLanguage Language }' attribute.
+ *
* @param value the new value of the 'Language ' attribute.
* @see #getLanguage()
* @generated
@@ -216,9 +207,8 @@ public interface Item extends EObject {
Item getParent();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getParent
- * Parent }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getParent Parent }' reference.
+ *
* @param value the new value of the 'Parent ' reference.
* @see #getParent()
* @generated
@@ -227,33 +217,27 @@ public interface Item extends EObject {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.Exception"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.Exception" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
String make(IProgressMonitor monitor) throws Exception;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void build(IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model
* @generated
*/
- String initialize(boolean commit);
+ String initialize();
/**
*
- *
* @model
* @generated
*/
@@ -273,9 +257,8 @@ public interface Item extends EObject {
Locale getLocale();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getLocale
- * Locale }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getLocale Locale }' attribute.
+ *
* @param value the new value of the 'Locale ' attribute.
* @see #getLocale()
* @generated
@@ -297,9 +280,8 @@ public interface Item extends EObject {
Project getProject();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getProject
- * Project }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getProject Project }' reference.
+ *
* @param value the new value of the 'Project ' reference.
* @see #getProject()
* @generated
@@ -307,8 +289,28 @@ public interface Item extends EObject {
void setProject(Project value);
/**
- *
+ * Returns the value of the 'Resource ' reference.
*
+ * @return the value of the 'Resource ' reference.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getItem_Resource()
+ * @model type="org.enterprisedomain.classmaker.Resource" resolveProxies="false"
+ * changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ Resource getResource();
+
+ /**
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Item#getResource Resource }' reference.
+ *
+ * @param value the new value of the 'Resource ' reference.
+ * @see #getResource()
+ * @generated
+ */
+ void setResource(Resource value);
+
+ /**
+ *
* @model exceptions="org.enterprisedomain.classmaker.CoreException"
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Messages.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Messages.java
index b00d1560..ebc7b76e 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Messages.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Messages.java
@@ -26,8 +26,8 @@ public class Messages extends NLS {
public static String JobNameCodeGeneration;
public static String JobNameCodeGenerator;
public static String BundleDuplicate;
- public static String EPackageClassLoadComplete;
- public static String EPackageNo;
+ public static String ObjectClassLoadComplete;
+ public static String ObjectNo;
public static String JobNameGenModelConfiguration;
public static String JobNameGenModelGeneration;
public static String JobNameInstaller;
@@ -37,9 +37,9 @@ public class Messages extends NLS {
public static String JobNameModelResource;
public static String BundleNo;
public static String JobNamePDEExport;
- public static String PDEExportScheduled;
public static String ProjectNotExist;
public static String DefaultResourceExt;
+ public static String EObjectIsNotEPackage;
public static String None;
public static String OK;
public static String ResourceImported;
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Models.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Models.java
index 22e8442e..abcf3ce5 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Models.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Models.java
@@ -22,23 +22,19 @@
* A representation of the model object
* 'Models '.
*
- * A holder of pair of references. To blueprint dynamic
- * model instance, and to a resulting generated one.
+ *
+ * A holder of pair of references. To blueprint dynamic model instance, and to a resulting generated one.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Models#getDynamic
- * Dynamic }
- * {@link org.enterprisedomain.classmaker.Models#getGenerated
- * Generated }
- * {@link org.enterprisedomain.classmaker.Models#getGeneratedEdit
- * Generated Edit }
- * {@link org.enterprisedomain.classmaker.Models#getGeneratedEditor
- * Generated Editor }
- * {@link org.enterprisedomain.classmaker.Models#getParent
- * Parent }
+ * {@link org.enterprisedomain.classmaker.Models#getDynamic Dynamic }
+ * {@link org.enterprisedomain.classmaker.Models#getGenerated Generated }
+ * {@link org.enterprisedomain.classmaker.Models#getGeneratedEdit Generated Edit }
+ * {@link org.enterprisedomain.classmaker.Models#getGeneratedEditor Generated Editor }
+ * {@link org.enterprisedomain.classmaker.Models#getParent Parent }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getModels()
@@ -62,10 +58,8 @@ public interface Models extends EObject {
EObject getDynamic();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Models#getDynamic Dynamic }'
- * containment reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Models#getDynamic Dynamic }' containment reference.
+ *
* @param value the new value of the 'Dynamic ' containment reference.
* @see #getDynamic()
* @generated
@@ -88,10 +82,8 @@ public interface Models extends EObject {
EObject getGenerated();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Models#getGenerated
- * Generated }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Models#getGenerated Generated }' reference.
+ *
* @param value the new value of the 'Generated ' reference.
* @see #getGenerated()
* @generated
@@ -111,10 +103,8 @@ public interface Models extends EObject {
EMFPlugin getGeneratedEdit();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Models#getGeneratedEdit Generated
- * Edit }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Models#getGeneratedEdit Generated Edit }' attribute.
+ *
* @param value the new value of the 'Generated Edit ' attribute.
* @see #getGeneratedEdit()
* @generated
@@ -134,11 +124,9 @@ public interface Models extends EObject {
EMFPlugin getGeneratedEditor();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Models#getGeneratedEditor
- * Generated Editor }' attribute.
- *
* @param value the new value of the 'Generated Editor ' attribute.
* @see #getGeneratedEditor()
* @generated
@@ -163,10 +151,8 @@ public interface Models extends EObject {
Item getParent();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Models#getParent Parent }'
- * container reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Models#getParent Parent }' container reference.
+ *
* @param value the new value of the 'Parent ' container reference.
* @see #getParent()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Project.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Project.java
index e2aea1cd..3c29bf66 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Project.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Project.java
@@ -27,51 +27,35 @@
* A representation of the model object '
* Project '.
*
- * Default project class.
+ *
+ * Default project class.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Project#getName
- * Name }
- * {@link org.enterprisedomain.classmaker.Project#getProjectName Project
- * Name }
- * {@link org.enterprisedomain.classmaker.Project#getChildren
- * Children }
- * {@link org.enterprisedomain.classmaker.Project#isDirty
- * Dirty }
- * {@link org.enterprisedomain.classmaker.Project#getWorkspace
- * Workspace }
- * {@link org.enterprisedomain.classmaker.Project#getResourcePath
- * Resource Path }
- * {@link org.enterprisedomain.classmaker.Project#isNeedCompletionNotification
- * Need Completion Notification }
- * {@link org.enterprisedomain.classmaker.Project#getCompletionNotificationAdapter
- * Completion Notification Adapter }
- * {@link org.enterprisedomain.classmaker.Project#getResourceReloadListener
- * Resource Reload Listener }
- * {@link org.enterprisedomain.classmaker.Project#isSavingResource
- * Saving Resource }
- * {@link org.enterprisedomain.classmaker.Project#getRevision
- * Revision }
- * {@link org.enterprisedomain.classmaker.Project#getRevisions
- * Revisions }
- * {@link org.enterprisedomain.classmaker.Project#getProjectVersion
- * Project Version }
- * {@link org.enterprisedomain.classmaker.Project#getSelectRevealHandler
- * Select Reveal Handler }
- * {@link org.enterprisedomain.classmaker.Project#getVersion
- * Version }
- * {@link org.enterprisedomain.classmaker.Project#getState
- * State }
- * {@link org.enterprisedomain.classmaker.Project#getModelResourceAdapter
- * Model Resource Adapter }
+ * {@link org.enterprisedomain.classmaker.Project#getName Name }
+ * {@link org.enterprisedomain.classmaker.Project#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.Project#isDirty Dirty }
+ * {@link org.enterprisedomain.classmaker.Project#getWorkspace Workspace }
+ * {@link org.enterprisedomain.classmaker.Project#getResourcePath Resource Path }
+ * {@link org.enterprisedomain.classmaker.Project#isNeedCompletionNotification Need Completion Notification }
+ * {@link org.enterprisedomain.classmaker.Project#getCompletionNotificationAdapter Completion Notification Adapter }
+ * {@link org.enterprisedomain.classmaker.Project#getResourceReloadListener Resource Reload Listener }
+ * {@link org.enterprisedomain.classmaker.Project#isSavingResource Saving Resource }
+ * {@link org.enterprisedomain.classmaker.Project#getRevision Revision }
+ * {@link org.enterprisedomain.classmaker.Project#getRevisions Revisions }
+ * {@link org.enterprisedomain.classmaker.Project#getProjectVersion Project Version }
+ * {@link org.enterprisedomain.classmaker.Project#getSelectRevealHandler Select Reveal Handler }
+ * {@link org.enterprisedomain.classmaker.Project#getVersion Version }
+ * {@link org.enterprisedomain.classmaker.Project#getState State }
+ * {@link org.enterprisedomain.classmaker.Project#getModelResourceAdapter Model Resource Adapter }
+ * {@link org.enterprisedomain.classmaker.Project#getClassLoader Class Loader }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject()
- * @model superTypes="org.enterprisedomain.classmaker.ISchedulingRule
- * org.enterprisedomain.classmaker.Item"
+ * @model superTypes="org.enterprisedomain.classmaker.ISchedulingRule org.enterprisedomain.classmaker.Item"
* @generated
*/
public interface Project extends ISchedulingRule, Item {
@@ -94,9 +78,8 @@ public interface Project extends ISchedulingRule, Item {
String getName();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getName
- * Name }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getName Name }' attribute.
+ *
* @param value the new value of the 'Name ' attribute.
* @see #getName()
* @generated
@@ -123,32 +106,14 @@ public interface Project extends ISchedulingRule, Item {
String getProjectName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getProjectName Project
- * Name }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getProjectName Project Name }' attribute.
+ *
* @param value the new value of the 'Project Name ' attribute.
* @see #getProjectName()
* @generated
*/
void setProjectName(String value);
- /**
- * Returns the value of the 'Children ' attribute list. The list
- * contents are of type {@link java.lang.Object}.
- *
- * If the meaning of the 'Children ' attribute list isn't clear, there
- * really should be more of a description here...
- *
- *
- *
- * @return the value of the 'Children ' attribute list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject_Children()
- * @model transient="true" changeable="false" volatile="true" derived="true"
- * @generated
- */
- EList getChildren();
-
/**
* Returns the value of the 'Dirty ' attribute.
@@ -166,9 +131,8 @@ public interface Project extends ISchedulingRule, Item {
boolean isDirty();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#isDirty
- * Dirty }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#isDirty Dirty }' attribute.
+ *
* @param value the new value of the 'Dirty ' attribute.
* @see #isDirty()
* @generated
@@ -198,11 +162,9 @@ public interface Project extends ISchedulingRule, Item {
Workspace getWorkspace();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getWorkspace
- * Workspace }' container reference.
- *
* @param value the new value of the 'Workspace ' container reference.
* @see #getWorkspace()
* @generated
@@ -240,13 +202,10 @@ public interface Project extends ISchedulingRule, Item {
boolean isNeedCompletionNotification();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#isNeedCompletionNotification
- * Need Completion Notification }' attribute.
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#isNeedCompletionNotification Need Completion Notification }' attribute.
+ *
*
- *
- * @param value the new value of the 'Need Completion Notification '
- * attribute.
+ * @param value the new value of the 'Need Completion Notification ' attribute.
* @see #isNeedCompletionNotification()
* @generated
*/
@@ -286,14 +245,13 @@ public interface Project extends ISchedulingRule, Item {
void setCompletionNotificationAdapter(CompletionNotificationAdapter value);
/**
- * Returns the value of the 'Resource Reload Listener '
- * reference.
+ * Returns the value of the 'Resource Reload Listener ' reference.
+ *
*
* If the meaning of the 'Resource Reload Listener ' reference isn't
* clear, there really should be more of a description here...
*
*
- *
* @return the value of the 'Resource Reload Listener ' reference.
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject_ResourceReloadListener()
* @model resolveProxies="false" changeable="false"
@@ -302,14 +260,14 @@ public interface Project extends ISchedulingRule, Item {
ResourceChangeListener getResourceReloadListener();
/**
- * Returns the value of the 'Saving Resource ' attribute. The
- * default value is "false".
+ * Returns the value of the 'Saving Resource ' attribute.
+ * The default value is "false".
+ *
*
* If the meaning of the 'Saving Resource ' attribute isn't clear, there
* really should be more of a description here...
*
*
- *
* @return the value of the 'Saving Resource ' attribute.
* @see #setSavingResource(boolean)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject_SavingResource()
@@ -319,10 +277,8 @@ public interface Project extends ISchedulingRule, Item {
boolean isSavingResource();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#isSavingResource Saving
- * Resource }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#isSavingResource Saving Resource }' attribute.
+ *
* @param value the new value of the 'Saving Resource ' attribute.
* @see #isSavingResource()
* @generated
@@ -343,10 +299,8 @@ public interface Project extends ISchedulingRule, Item {
Revision getRevision();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getRevision
- * Revision }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getRevision Revision }' reference.
+ *
* @param value the new value of the 'Revision ' reference.
* @see #getRevision()
* @generated
@@ -384,10 +338,8 @@ public interface Project extends ISchedulingRule, Item {
Version getProjectVersion();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getProjectVersion Project
- * Version }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getProjectVersion Project Version }' attribute.
+ *
* @param value the new value of the 'Project Version ' attribute.
* @see #getProjectVersion()
* @generated
@@ -402,7 +354,6 @@ public interface Project extends ISchedulingRule, Item {
* there really should be more of a description here...
*
*
- *
* @return the value of the 'Select Reveal Handler ' reference.
* @see #setSelectRevealHandler(SelectRevealHandler)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject_SelectRevealHandler()
@@ -412,11 +363,9 @@ public interface Project extends ISchedulingRule, Item {
SelectRevealHandler getSelectRevealHandler();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getSelectRevealHandler
- * Select Reveal Handler }' reference.
- *
* @param value the new value of the 'Select Reveal Handler ' reference.
* @see #getSelectRevealHandler()
* @generated
@@ -438,10 +387,8 @@ public interface Project extends ISchedulingRule, Item {
Version getVersion();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Project#getVersion Version }'
- * attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getVersion Version }' attribute.
+ *
* @param value the new value of the 'Version ' attribute.
* @see #getVersion()
* @generated
@@ -478,35 +425,72 @@ public interface Project extends ISchedulingRule, Item {
ResourceAdapter getModelResourceAdapter();
/**
- *
+ * Returns the value of the 'Class Loader ' attribute.
*
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @return the value of the 'Class Loader ' attribute.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getProject_ClassLoader()
+ * @model dataType="org.enterprisedomain.classmaker.ClassLoader"
+ * changeable="false"
+ * @generated
+ */
+ ClassLoader getClassLoader();
+
+ /**
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Project#getClassLoader Class Loader }' attribute.
+ *
+ * @param value the new value of the 'Class Loader ' attribute.
+ * @see #isSetClassLoader()
+ * @see #unsetClassLoader()
+ * @see #getClassLoader()
+ * @generated
+ */
+ void setClassLoader(ClassLoader value);
+
+ /**
+ * Unsets the value of the '{@link org.enterprisedomain.classmaker.Project#getClassLoader Class Loader }' attribute.
+ *
+ * @see #isSetClassLoader()
+ * @see #getClassLoader()
+ * @see #setClassLoader(ClassLoader)
+ * @generated
+ */
+ void unsetClassLoader();
+
+ /**
+ * Returns whether the value of the '{@link org.enterprisedomain.classmaker.Project#getClassLoader Class Loader }' attribute is set.
+ *
+ * @return whether the value of the 'Class Loader ' attribute is set.
+ * @see #unsetClassLoader()
+ * @see #getClassLoader()
+ * @see #setClassLoader(ClassLoader)
+ * @generated
+ */
+ boolean isSetClassLoader();
+
+ /**
+ *
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void create(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
Revision createRevision(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model objectsMany="true"
* @generated
*/
@@ -514,27 +498,21 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
String make(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
boolean open(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void close(IProgressMonitor monitor) throws CoreException;
@@ -549,11 +527,10 @@ public interface Project extends ISchedulingRule, Item {
* @model
* @generated
*/
- String initialize(boolean commit);
+ String initialize();
/**
*
- *
* @model
* @generated
*/
@@ -561,7 +538,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model
* @generated
*/
@@ -569,7 +545,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -577,16 +552,13 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.Exception"
- * notificationType="org.enterprisedomain.classmaker.Notification"
+ * @model exceptions="org.enterprisedomain.classmaker.Exception" notificationType="org.enterprisedomain.classmaker.Notification"
* @generated
*/
void notifyResourceChanged(Notification notification) throws Exception;
/**
*
- *
* @model
* @generated
*/
@@ -594,7 +566,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model
* @generated
*/
@@ -602,7 +573,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -610,7 +580,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -618,7 +587,6 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
* @model
* @generated
*/
@@ -626,10 +594,7 @@ public interface Project extends ISchedulingRule, Item {
/**
*
- *
- * @model dataType="org.enterprisedomain.classmaker.OSGiVersion"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
- * baseDataType="org.enterprisedomain.classmaker.OSGiVersion"
+ * @model dataType="org.enterprisedomain.classmaker.OSGiVersion" exceptions="org.enterprisedomain.classmaker.CoreException" baseDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor, boolean incrementMicro)
@@ -637,25 +602,20 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
- * @model dataType="org.enterprisedomain.classmaker.OSGiVersion"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
+ * @model dataType="org.enterprisedomain.classmaker.OSGiVersion" exceptions="org.enterprisedomain.classmaker.CoreException"
* @generated
*/
Version newVersion(boolean incrementMajor, boolean incrementMinor, boolean incrementMicro) throws CoreException;
/**
*
- *
- * @model dataType="org.enterprisedomain.classmaker.OSGiVersion"
- * exceptions="org.enterprisedomain.classmaker.CoreException"
+ * @model dataType="org.enterprisedomain.classmaker.OSGiVersion" exceptions="org.enterprisedomain.classmaker.CoreException"
* @generated
*/
Version nextVersion() throws CoreException;
/**
*
- *
* @model versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -663,7 +623,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -671,7 +630,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model versionDataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -679,7 +637,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model
* @generated
*/
@@ -687,7 +644,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model
* @generated
*/
@@ -695,7 +651,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model
* @generated
*/
@@ -703,7 +658,6 @@ Version newVersion(Version base, boolean incrementMajor, boolean incrementMinor,
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceAdapter.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceAdapter.java
index ed342275..8300f901 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceAdapter.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceAdapter.java
@@ -23,21 +23,17 @@
* A representation of the model object 'Resource
* Adapter '.
*
- * {@link org.eclipse.emf.ecore.EObject EObject}
- * {@link org.eclipse.emf.common.notify.Adapter adapter} for
- * {@link org.eclipse.emf.ecore.resource.Resource Resource}.
+ *
+ * {@link org.eclipse.emf.ecore.EObject EObject} {@link org.eclipse.emf.common.notify.Adapter adapter} for {@link org.eclipse.emf.ecore.resource.Resource Resource}.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.ResourceAdapter#getResource
- * Resource }
- * {@link org.enterprisedomain.classmaker.ResourceAdapter#getFilename
- * Filename }
- * {@link org.enterprisedomain.classmaker.ResourceAdapter#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.ResourceAdapter#getResource Resource }
+ * {@link org.enterprisedomain.classmaker.ResourceAdapter#getFilename Filename }
+ * {@link org.enterprisedomain.classmaker.ResourceAdapter#getProject Project }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getResourceAdapter()
@@ -64,10 +60,8 @@ public interface ResourceAdapter extends EObject, Adapter {
Resource getResource();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter#getResource
- * Resource }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.ResourceAdapter#getResource Resource }' reference.
+ *
* @param value the new value of the 'Resource ' reference.
* @see #getResource()
* @generated
@@ -91,16 +85,14 @@ public interface ResourceAdapter extends EObject, Adapter {
String getFilename();
/**
- * Returns the value of the 'Project ' container reference. It is
- * bidirectional and its opposite is
- * '{@link org.enterprisedomain.classmaker.Project#getModelResourceAdapter
- * Model Resource Adapter }'.
+ * Returns the value of the 'Project ' container reference.
+ * It is bidirectional and its opposite is '{@link org.enterprisedomain.classmaker.Project#getModelResourceAdapter Model Resource Adapter }'.
+ *
*
* If the meaning of the 'Project ' container reference isn't clear,
* there really should be more of a description here...
*
*
- *
* @return the value of the 'Project ' container reference.
* @see #setProject(Project)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getResourceAdapter_Project()
@@ -111,11 +103,9 @@ public interface ResourceAdapter extends EObject, Adapter {
Project getProject();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.ResourceAdapter#getProject
- * Project }' container reference.
- *
* @param value the new value of the 'Project ' container reference.
* @see #getProject()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceChangeListener.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceChangeListener.java
index 33111908..3cd0a8e8 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceChangeListener.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/ResourceChangeListener.java
@@ -30,9 +30,7 @@
public interface ResourceChangeListener extends EObject {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.Exception"
- * notificationType="org.enterprisedomain.classmaker.Notification"
+ * @model exceptions="org.enterprisedomain.classmaker.Exception" notificationType="org.enterprisedomain.classmaker.Notification"
* @generated
*/
void changed(Notification notification) throws Exception;
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Revision.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Revision.java
index 33323606..03dbb928 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Revision.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Revision.java
@@ -29,23 +29,19 @@
* A representation of the model object
* 'Revision '.
*
- * A revision of Contribution . Identified by
- * {@link #getVersion() Version }.
+ *
+ * A revision of Contribution . Identified by {@link #getVersion() Version }.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Revision#getState
- * State }
- * {@link org.enterprisedomain.classmaker.Revision#getTimestamp
- * Timestamp }
- * {@link org.enterprisedomain.classmaker.Revision#getStateHistory State
- * History }
- * {@link org.enterprisedomain.classmaker.Revision#getLatestTimestamp
- * Latest Timestamp }
- * {@link org.enterprisedomain.classmaker.Revision#getVersion
- * Version }
+ * {@link org.enterprisedomain.classmaker.Revision#getState State }
+ * {@link org.enterprisedomain.classmaker.Revision#getTimestamp Timestamp }
+ * {@link org.enterprisedomain.classmaker.Revision#getStateHistory State History }
+ * {@link org.enterprisedomain.classmaker.Revision#getLatestTimestamp Latest Timestamp }
+ * {@link org.enterprisedomain.classmaker.Revision#getVersion Version }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getRevision()
@@ -74,10 +70,8 @@ public interface Revision extends Item {
State getState();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Revision#getState State }'
- * reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Revision#getState State }' reference.
+ *
* @param value the new value of the 'State ' reference.
* @see #getState()
* @generated
@@ -102,10 +96,8 @@ public interface Revision extends Item {
long getTimestamp();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Revision#getTimestamp
- * Timestamp }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Revision#getTimestamp Timestamp }' attribute.
+ *
* @param value the new value of the 'Timestamp ' attribute.
* @see #getTimestamp()
* @generated
@@ -162,10 +154,8 @@ public interface Revision extends Item {
Version getVersion();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Revision#getVersion
- * Version }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Revision#getVersion Version }' attribute.
+ *
* @param value the new value of the 'Version ' attribute.
* @see #getVersion()
* @generated
@@ -174,16 +164,13 @@ public interface Revision extends Item {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void create(IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model
* @generated
*/
@@ -191,7 +178,6 @@ public interface Revision extends Item {
/**
*
- *
* @model
* @generated
*/
@@ -199,7 +185,6 @@ public interface Revision extends Item {
/**
*
- *
* @model
* @generated
*/
@@ -207,7 +192,6 @@ public interface Revision extends Item {
/**
*
- *
* @model
* @generated
*/
@@ -215,25 +199,27 @@ public interface Revision extends Item {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model
+ * @generated
+ */
+ State newState(long timestamp);
+
+ /**
+ *
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model adaptersType="org.enterprisedomain.classmaker.Adapter"
- * adaptersMany="true"
+ * @model adaptersType="org.enterprisedomain.classmaker.Adapter" adaptersMany="true"
* @generated
*/
void addAdapters(EList adapters);
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMOperator.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMOperator.java
index 0f0d4c8e..37e5ad56 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMOperator.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMOperator.java
@@ -22,17 +22,16 @@
* A representation of the model object 'SCM
* Operator '.
*
- * Operator of Source Code Management system.
+ *
+ * Operator of Source Code Management system.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.SCMOperator#getProjectName
- * Project Name }
- * {@link org.enterprisedomain.classmaker.SCMOperator#getRegistry
- * Registry }
+ * {@link org.enterprisedomain.classmaker.SCMOperator#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.SCMOperator#getRegistry Registry }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getSCMOperator()
@@ -92,10 +91,8 @@ public interface SCMOperator extends EObject {
SCMRegistry getRegistry();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.SCMOperator#getRegistry
- * Registry }' reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.SCMOperator#getRegistry Registry }' reference.
+ *
* @param value the new value of the 'Registry ' reference.
* @see #getRegistry()
* @generated
@@ -104,16 +101,13 @@ public interface SCMOperator extends EObject {
/**
*
- *
- * @model kind="operation"
- * exceptions="org.enterprisedomain.classmaker.Exception"
+ * @model kind="operation" exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
T getRepositorySCM() throws Exception;
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -121,7 +115,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -129,7 +122,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -137,7 +129,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -145,7 +136,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model dataType="org.enterprisedomain.classmaker.OSGiVersion"
* @generated
*/
@@ -153,7 +143,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -161,7 +150,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -169,7 +157,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -177,7 +164,6 @@ public interface SCMOperator extends EObject {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMRegistry.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMRegistry.java
index b5d6d33e..ceb0f604 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMRegistry.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SCMRegistry.java
@@ -21,8 +21,9 @@
* A representation of the model object 'SCM
* Registry '.
*
- * Registry of Source Code Management systems.
+ *
+ * Registry of Source Code Management systems.
+ *
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getSCMRegistry()
@@ -32,7 +33,6 @@
public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -40,7 +40,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -48,7 +47,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -56,7 +54,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -64,7 +61,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -72,7 +68,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -80,7 +75,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -88,7 +82,6 @@ public interface SCMRegistry extends EObject {
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SelectRevealHandler.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SelectRevealHandler.java
index 2d6f0bdf..4ff43c9f 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SelectRevealHandler.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/SelectRevealHandler.java
@@ -30,7 +30,6 @@
public interface SelectRevealHandler extends EObject {
/**
*
- *
* @model
* @generated
*/
@@ -38,7 +37,6 @@ public interface SelectRevealHandler extends EObject {
/**
*
- *
* @model newResourceType="org.enterprisedomain.classmaker.Resource"
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Stage.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Stage.java
index 8a4564dd..4782ceb8 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Stage.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Stage.java
@@ -195,9 +195,9 @@ public enum Stage implements Enumerator {
public static final int LOADED_VALUE = 5;
/**
- * An array of all the 'Stage ' enumerators.
- *
* @generated
*/
private static final Stage[] VALUES_ARRAY = new Stage[] { DEFINED, MODELED, GENERATED, EXPORTED, INSTALLED,
@@ -214,7 +214,6 @@ public enum Stage implements Enumerator {
/**
* Returns the 'Stage ' literal with the specified literal value.
*
- *
* @param literal the literal.
* @return the matching enumerator or null.
* @generated
@@ -250,7 +249,6 @@ public static Stage getByName(String name) {
/**
* Returns the 'Stage ' literal with the specified integer value.
*
- *
* @param value the integer value.
* @return the matching enumerator or null.
* @generated
@@ -275,29 +273,26 @@ public static Stage get(int value) {
/**
*
- *
* @generated
*/
private final int value;
/**
*
- *
* @generated
*/
private final String name;
/**
*
- *
* @generated
*/
private final String literal;
/**
- * Only this class can construct instances.
- *
* @generated
*/
private Stage(int value, String name, String literal) {
@@ -308,7 +303,6 @@ private Stage(int value, String name, String literal) {
/**
*
- *
* @generated
*/
@Override
@@ -318,7 +312,6 @@ public int getValue() {
/**
*
- *
* @generated
*/
@Override
@@ -328,7 +321,6 @@ public String getName() {
/**
*
- *
* @generated
*/
@Override
@@ -337,9 +329,8 @@ public String getLiteral() {
}
/**
- * Returns the literal value of the enumerator, which is its string
- * representation.
- *
+ * Returns the literal value of the enumerator, which is its string representation.
+ *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/StageQualifier.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/StageQualifier.java
index afae04b7..ce5dc4ea 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/StageQualifier.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/StageQualifier.java
@@ -21,17 +21,16 @@
* A representation of the model object 'Stage
* Qualifier '.
*
- * Qualifier of stage in the process.
+ *
+ * Qualifier of stage in the process.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.StageQualifier#getStage
- * Stage }
- * {@link org.enterprisedomain.classmaker.StageQualifier#getStep
- * Step }
+ * {@link org.enterprisedomain.classmaker.StageQualifier#getStage Stage }
+ * {@link org.enterprisedomain.classmaker.StageQualifier#getStep Step }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getStageQualifier()
@@ -60,10 +59,8 @@ public interface StageQualifier extends EObject {
Stage getStage();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.StageQualifier#getStage
- * Stage }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.StageQualifier#getStage Stage }' attribute.
+ *
* @param value the new value of the 'Stage ' attribute.
* @see org.enterprisedomain.classmaker.Stage
* @see #getStage()
@@ -90,10 +87,8 @@ public interface StageQualifier extends EObject {
String getStep();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.StageQualifier#getStep
- * Step }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.StageQualifier#getStep Step }' attribute.
+ *
* @param value the new value of the 'Step ' attribute.
* @see #getStep()
* @generated
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/State.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/State.java
index fa1537cf..fd3498e9 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/State.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/State.java
@@ -23,62 +23,42 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
/**
* A representation of the model object '
* State '.
*
- * A complete unit, representing the state of
- * Contribution . Identified by {@link State#getTimestamp()
- * Timestamp }.
+ *
+ * A complete unit, representing the state of Contribution . Identified by {@link State#getTimestamp() Timestamp }.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.State#getPackageClassName
- * Package Class Name }
- * {@link org.enterprisedomain.classmaker.State#getEditPluginClassName
- * Edit Plugin Class Name }
- * {@link org.enterprisedomain.classmaker.State#getEditorPluginClassName
- * Editor Plugin Class Name }
- * {@link org.enterprisedomain.classmaker.State#getRequiredPlugins
- * Required Plugins }
- * {@link org.enterprisedomain.classmaker.State#getRevision
- * Revision }
- * {@link org.enterprisedomain.classmaker.State#getTimestamp
- * Timestamp }
- * {@link org.enterprisedomain.classmaker.State#getDeployableUnitName
- * Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.State#getEditDeployableUnitName
- * Edit Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.State#getEditorDeployableUnitName
- * Editor Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.State#getJobFamily Job
- * Family }
- * {@link org.enterprisedomain.classmaker.State#getResource
- * Resource }
- * {@link org.enterprisedomain.classmaker.State#getCommitIds Commit
- * Ids }
- * {@link org.enterprisedomain.classmaker.State#getCommitId Commit
- * Id }
- * {@link org.enterprisedomain.classmaker.State#getStateCustomizers
- * State Customizers }
- * {@link org.enterprisedomain.classmaker.State#getProjectName Project
- * Name }
- * {@link org.enterprisedomain.classmaker.State#isMaking
- * Making }
- * {@link org.enterprisedomain.classmaker.State#isEdit Edit }
- * {@link org.enterprisedomain.classmaker.State#isEditor
- * Editor }
- * {@link org.enterprisedomain.classmaker.State#getStrategy
- * Strategy }
+ * {@link org.enterprisedomain.classmaker.State#getPackageClassName Package Class Name }
+ * {@link org.enterprisedomain.classmaker.State#getEditPluginClassName Edit Plugin Class Name }
+ * {@link org.enterprisedomain.classmaker.State#getEditorPluginClassName Editor Plugin Class Name }
+ * {@link org.enterprisedomain.classmaker.State#getRequiredPlugins Required Plugins }
+ * {@link org.enterprisedomain.classmaker.State#getRevision Revision }
+ * {@link org.enterprisedomain.classmaker.State#getTimestamp Timestamp }
+ * {@link org.enterprisedomain.classmaker.State#getDeployableUnitName Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.State#getEditDeployableUnitName Edit Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.State#getEditorDeployableUnitName Editor Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.State#getJobFamily Job Family }
+ * {@link org.enterprisedomain.classmaker.State#getCommitId Commit Id }
+ * {@link org.enterprisedomain.classmaker.State#getStateCustomizers State Customizers }
+ * {@link org.enterprisedomain.classmaker.State#getNonExclusiveStateCustomizers Non Exclusive State Customizers }
+ * {@link org.enterprisedomain.classmaker.State#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.State#isMaking Making }
+ * {@link org.enterprisedomain.classmaker.State#isEdit Edit }
+ * {@link org.enterprisedomain.classmaker.State#isEditor Editor }
+ * {@link org.enterprisedomain.classmaker.State#getStrategy Strategy }
+ * {@link org.enterprisedomain.classmaker.State#getBasePackage Base Package }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getState()
- * @model superTypes="org.enterprisedomain.classmaker.Item
- * org.enterprisedomain.classmaker.ISchedulingRule"
+ * @model superTypes="org.enterprisedomain.classmaker.Item org.enterprisedomain.classmaker.ISchedulingRule"
* @generated
*/
public interface State extends Item, ISchedulingRule {
@@ -102,10 +82,8 @@ public interface State extends Item, ISchedulingRule {
String getPackageClassName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getPackageClassName Package
- * Class Name }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getPackageClassName Package Class Name }' attribute.
+ *
* @param value the new value of the 'Package Class Name ' attribute.
* @see #getPackageClassName()
* @generated
@@ -156,13 +134,10 @@ public interface State extends Item, ISchedulingRule {
String getEditorPluginClassName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getEditorPluginClassName
- * Editor Plugin Class Name }' attribute.
- *
- * @param value the new value of the 'Editor Plugin Class Name '
- * attribute.
+ * @param value the new value of the 'Editor Plugin Class Name ' attribute.
* @see #getEditorPluginClassName()
* @generated
*/
@@ -204,10 +179,8 @@ public interface State extends Item, ISchedulingRule {
long getTimestamp();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getTimestamp
- * Timestamp }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getTimestamp Timestamp }' attribute.
+ *
* @param value the new value of the 'Timestamp ' attribute.
* @see #getTimestamp()
* @generated
@@ -232,11 +205,9 @@ public interface State extends Item, ISchedulingRule {
String getDeployableUnitName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getDeployableUnitName
- * Deployable Unit Name }' attribute.
- *
* @param value the new value of the 'Deployable Unit Name ' attribute.
* @see #getDeployableUnitName()
* @generated
@@ -258,13 +229,10 @@ public interface State extends Item, ISchedulingRule {
String getEditDeployableUnitName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getEditDeployableUnitName
- * Edit Deployable Unit Name }' attribute.
- *
- * @param value the new value of the 'Edit Deployable Unit Name '
- * attribute.
+ * @param value the new value of the 'Edit Deployable Unit Name ' attribute.
* @see #getEditDeployableUnitName()
* @generated
*/
@@ -285,13 +253,10 @@ public interface State extends Item, ISchedulingRule {
String getEditorDeployableUnitName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getEditorDeployableUnitName
- * Editor Deployable Unit Name }' attribute.
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getEditorDeployableUnitName Editor Deployable Unit Name }' attribute.
+ *
*
- *
- * @param value the new value of the 'Editor Deployable Unit Name '
- * attribute.
+ * @param value the new value of the 'Editor Deployable Unit Name ' attribute.
* @see #getEditorDeployableUnitName()
* @generated
*/
@@ -315,10 +280,8 @@ public interface State extends Item, ISchedulingRule {
Revision getRevision();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getRevision Revision }'
- * reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getRevision Revision }' reference.
+ *
* @param value the new value of the 'Revision ' reference.
* @see #getRevision()
* @generated
@@ -343,61 +306,14 @@ public interface State extends Item, ISchedulingRule {
String getJobFamily();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getJobFamily Job
- * Family }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getJobFamily Job Family }' attribute.
+ *
* @param value the new value of the 'Job Family ' attribute.
* @see #getJobFamily()
* @generated
*/
void setJobFamily(String value);
- /**
- * Returns the value of the 'Resource ' reference.
- *
- * If the meaning of the 'Resource ' reference isn't clear, there really
- * should be more of a description here...
- *
- *
- *
- * @return the value of the 'Resource ' reference.
- * @see #setResource(Resource)
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getState_Resource()
- * @model type="org.enterprisedomain.classmaker.Resource" resolveProxies="false"
- * @generated
- */
- Resource getResource();
-
- /**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getResource Resource }'
- * reference.
- *
- * @param value the new value of the 'Resource ' reference.
- * @see #getResource()
- * @generated
- */
- void setResource(Resource value);
-
- /**
- * Returns the value of the 'Commit Ids ' attribute list. The
- * list contents are of type {@link java.lang.String}.
- *
- * If the meaning of the 'Commit Ids ' attribute list isn't clear, there
- * really should be more of a description here...
- *
- * An SCM commit's associated
- * with the state identifiers.
- *
- * @return the value of the 'Commit Ids ' attribute list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getState_CommitIds()
- * @model
- * @generated
- */
- EList getCommitIds();
-
/**
* Returns the value of the 'Commit Id ' attribute.
@@ -417,10 +333,8 @@ public interface State extends Item, ISchedulingRule {
String getCommitId();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getCommitId Commit
- * Id }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getCommitId Commit Id }' attribute.
+ *
* @param value the new value of the 'Commit Id ' attribute.
* @see #getCommitId()
* @generated
@@ -448,6 +362,19 @@ public interface State extends Item, ISchedulingRule {
*/
EMap getStateCustomizers();
+ /**
+ * Returns the value of the 'Non Exclusive State Customizers ' map.
+ * The key is of type {@link org.enterprisedomain.classmaker.StageQualifier},
+ * and the value is of type {@link org.enterprisedomain.classmaker.Customizer},
+ *
+ * @return the value of the 'Non Exclusive State Customizers ' map.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getState_NonExclusiveStateCustomizers()
+ * @model mapType="org.enterprisedomain.classmaker.StageQualifierToCustomizerMapEntry<org.enterprisedomain.classmaker.StageQualifier, org.enterprisedomain.classmaker.Customizer>"
+ * @generated
+ */
+ EMap getNonExclusiveStateCustomizers();
+
/**
* Returns the value of the 'Project Name ' attribute.
@@ -466,10 +393,8 @@ public interface State extends Item, ISchedulingRule {
String getProjectName();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getProjectName Project
- * Name }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getProjectName Project Name }' attribute.
+ *
* @param value the new value of the 'Project Name ' attribute.
* @see #getProjectName()
* @generated
@@ -495,9 +420,8 @@ public interface State extends Item, ISchedulingRule {
boolean isMaking();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isMaking
- * Making }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isMaking Making }' attribute.
+ *
* @param value the new value of the 'Making ' attribute.
* @see #isMaking()
* @generated
@@ -517,9 +441,8 @@ public interface State extends Item, ISchedulingRule {
boolean isEdit();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isEdit
- * Edit }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isEdit Edit }' attribute.
+ *
* @param value the new value of the 'Edit ' attribute.
* @see #isEdit()
* @generated
@@ -539,9 +462,8 @@ public interface State extends Item, ISchedulingRule {
boolean isEditor();
/**
- * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isEditor
- * Editor }' attribute.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#isEditor Editor }' attribute.
+ *
* @param value the new value of the 'Editor ' attribute.
* @see #isEditor()
* @generated
@@ -549,11 +471,9 @@ public interface State extends Item, ISchedulingRule {
void setEditor(boolean value);
/**
- * Returns the value of the 'Strategy ' reference. It is
- * bidirectional and its opposite is
- * '{@link org.enterprisedomain.classmaker.Strategy#getState State }'.
+ * Returns the value of the 'Strategy ' reference.
+ * It is bidirectional and its opposite is '{@link org.enterprisedomain.classmaker.Strategy#getState State }'.
*
- *
* @return the value of the 'Strategy ' reference.
* @see #setStrategy(Strategy)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getState_Strategy()
@@ -564,10 +484,8 @@ public interface State extends Item, ISchedulingRule {
Strategy getStrategy();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.State#getStrategy Strategy }'
- * reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getStrategy Strategy }' reference.
+ *
* @param value the new value of the 'Strategy ' reference.
* @see #getStrategy()
* @generated
@@ -575,26 +493,42 @@ public interface State extends Item, ISchedulingRule {
void setStrategy(Strategy value);
/**
- *
+ * Returns the value of the 'Base Package ' attribute.
*
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @return the value of the 'Base Package ' attribute.
+ * @see #setBasePackage(String)
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getState_BasePackage()
+ * @model
+ * @generated
+ */
+ String getBasePackage();
+
+ /**
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.State#getBasePackage Base Package }' attribute.
+ *
+ * @param value the new value of the 'Base Package ' attribute.
+ * @see #getBasePackage()
+ * @generated
+ */
+ void setBasePackage(String value);
+
+ /**
+ *
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void setProjectVersion(IProgressMonitor monitor) throws CoreException;
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(IProgressMonitor monitor) throws CoreException;
/**
*
- *
* @model
* @generated
*/
@@ -602,7 +536,6 @@ public interface State extends Item, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
@@ -610,7 +543,6 @@ public interface State extends Item, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
@@ -618,7 +550,6 @@ public interface State extends Item, ISchedulingRule {
/**
*
- *
* @model exceptions="org.enterprisedomain.classmaker.Exception"
* @generated
*/
@@ -636,7 +567,6 @@ public interface State extends Item, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Strategy.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Strategy.java
index 6792ed4a..63c9da5e 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Strategy.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Strategy.java
@@ -17,6 +17,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
import org.enterprisedomain.classmaker.jobs.Worker;
@@ -28,16 +29,8 @@
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Strategy#getGenerators
- * Generators }
- * {@link org.enterprisedomain.classmaker.Strategy#getExporters
- * Exporters }
- * {@link org.enterprisedomain.classmaker.Strategy#getInstallers
- * Installers }
- * {@link org.enterprisedomain.classmaker.Strategy#getLoaders
- * Loaders }
- * {@link org.enterprisedomain.classmaker.Strategy#getState
- * State }
+ * {@link org.enterprisedomain.classmaker.Strategy#getState State }
+ * {@link org.enterprisedomain.classmaker.Strategy#getWorkers Workers }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy()
@@ -46,61 +39,9 @@
*/
public interface Strategy extends EObject {
/**
- * Returns the value of the 'Generators ' reference list. The
- * list contents are of type
- * {@link org.enterprisedomain.classmaker.jobs.Worker}.
- *
- *
- * @return the value of the 'Generators ' reference list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_Generators()
- * @model type="org.enterprisedomain.classmaker.Worker" resolveProxies="false"
- * @generated
- */
- EList getGenerators();
-
- /**
- * Returns the value of the 'Exporters ' reference list. The list
- * contents are of type {@link org.enterprisedomain.classmaker.jobs.Worker}.
+ * Returns the value of the 'State ' reference.
+ * It is bidirectional and its opposite is '{@link org.enterprisedomain.classmaker.State#getStrategy Strategy }'.
*
- *
- * @return the value of the 'Exporters ' reference list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_Exporters()
- * @model type="org.enterprisedomain.classmaker.Worker" resolveProxies="false"
- * @generated
- */
- EList getExporters();
-
- /**
- * Returns the value of the 'Installers ' reference list. The
- * list contents are of type
- * {@link org.enterprisedomain.classmaker.jobs.Worker}.
- *
- *
- * @return the value of the 'Installers ' reference list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_Installers()
- * @model type="org.enterprisedomain.classmaker.Worker" resolveProxies="false"
- * @generated
- */
- EList getInstallers();
-
- /**
- * Returns the value of the 'Loaders ' reference list. The list
- * contents are of type {@link org.enterprisedomain.classmaker.jobs.Worker}.
- *
- *
- * @return the value of the 'Loaders ' reference list.
- * @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_Loaders()
- * @model type="org.enterprisedomain.classmaker.Worker" resolveProxies="false"
- * @generated
- */
- EList getLoaders();
-
- /**
- * Returns the value of the 'State ' reference. It is
- * bidirectional and its opposite is
- * '{@link org.enterprisedomain.classmaker.State#getStrategy
- * Strategy }'.
- *
* @return the value of the 'State ' reference.
* @see #setState(State)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_State()
@@ -111,10 +52,8 @@ public interface Strategy extends EObject {
State getState();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Strategy#getState State }'
- * reference.
- *
+ * Sets the value of the '{@link org.enterprisedomain.classmaker.Strategy#getState State }' reference.
+ *
* @param value the new value of the 'State ' reference.
* @see #getState()
* @generated
@@ -122,40 +61,21 @@ public interface Strategy extends EObject {
void setState(State value);
/**
- *
- *
- * @model type="org.enterprisedomain.classmaker.Worker"
- * @generated
- */
- Worker createGenerator();
-
- /**
- *
+ * Returns the value of the 'Workers ' map. The key is of type
+ * {@link org.enterprisedomain.classmaker.StageQualifier}, and the value is of
+ * type list of {@link org.enterprisedomain.classmaker.jobs.Worker},
*
- * @model type="org.enterprisedomain.classmaker.Worker"
+ * @return the value of the 'Workers ' map.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getStrategy_Workers()
+ * @model mapType="org.enterprisedomain.classmaker.StageQualifierToWorkersMapEntry<org.enterprisedomain.classmaker.StageQualifier,
+ * org.enterprisedomain.classmaker.Worker>"
* @generated
*/
- Worker createExporter();
+ EMap> getWorkers();
/**
*
- *
- * @model type="org.enterprisedomain.classmaker.Worker"
- * @generated
- */
- Worker createInstaller();
-
- /**
- *
- *
- * @model type="org.enterprisedomain.classmaker.Worker"
- * @generated
- */
- Worker createModelLoader();
-
- /**
- *
- *
* @model kind="operation" type="org.enterprisedomain.classmaker.Worker"
* @generated
*/
@@ -163,7 +83,6 @@ public interface Strategy extends EObject {
/**
*
- *
* @model monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
@@ -171,10 +90,17 @@ public interface Strategy extends EObject {
/**
*
- *
* @model monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void configuteBuildJobs(IProgressMonitor monitor);
+ /**
+ *
+ *
+ * @model type="org.enterprisedomain.classmaker.Worker"
+ * @generated
+ */
+ EList get(Stage stage, String step);
+
} // Strategy
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Workspace.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Workspace.java
index 60934511..02538d62 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Workspace.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/Workspace.java
@@ -21,6 +21,7 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -28,25 +29,21 @@
* A representation of the model object '
* Workspace '.
*
- * Maps
- * {@link org.eclipse.emf.ecore.resource.ResourceSet ResourceSet} to
- * {@link org.eclipse.core.resources.IWorkspaceRoot IWorkspaceRoot}.
+ *
+ * Maps {@link org.eclipse.emf.ecore.resource.ResourceSet ResourceSet} to {@link org.eclipse.core.resources.IWorkspaceRoot IWorkspaceRoot}.
+ *
*
*
* The following features are supported:
*
*
- * {@link org.enterprisedomain.classmaker.Workspace#getProjects
- * Projects }
- * {@link org.enterprisedomain.classmaker.Workspace#getResourceSet
- * Resource Set }
- * {@link org.enterprisedomain.classmaker.Workspace#getCustomizers
- * Customizers }
- * {@link org.enterprisedomain.classmaker.Workspace#getService
- * Service }
- * {@link org.enterprisedomain.classmaker.Workspace#getSCMRegistry SCM
- * Registry }
+ * {@link org.enterprisedomain.classmaker.Workspace#getProjects Projects }
+ * {@link org.enterprisedomain.classmaker.Workspace#getResourceSet Resource Set }
+ * {@link org.enterprisedomain.classmaker.Workspace#getCustomizers Customizers }
+ * {@link org.enterprisedomain.classmaker.Workspace#getNonExclusiveCustomizers Non Exclusive Customizers }
+ * {@link org.enterprisedomain.classmaker.Workspace#getService Service }
+ * {@link org.enterprisedomain.classmaker.Workspace#getSCMRegistry SCM Registry }
+ * {@link org.enterprisedomain.classmaker.Workspace#getExcludedEPackages Excluded EPackages }
*
*
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getWorkspace()
@@ -108,16 +105,28 @@ public interface Workspace extends EObject, ISchedulingRule {
EMap getCustomizers();
/**
- * Returns the value of the 'Service ' container reference. It is
- * bidirectional and its opposite is
- * '{@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace
- * Workspace }'.
+ * Returns the value of the 'Non Exclusive Customizers ' map. The
+ * key is of type {@link org.enterprisedomain.classmaker.StageQualifier}, and
+ * the value is of type {@link org.enterprisedomain.classmaker.Customizer},
+ *
+ * @return the value of the 'Non Exclusive Customizers ' map.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getWorkspace_NonExclusiveCustomizers()
+ * @model mapType="org.enterprisedomain.classmaker.StageQualifierToCustomizerMapEntry<org.enterprisedomain.classmaker.StageQualifier,
+ * org.enterprisedomain.classmaker.Customizer>"
+ * @generated
+ */
+ EMap getNonExclusiveCustomizers();
+
+ /**
+ * Returns the value of the 'Service ' container reference.
+ * It is bidirectional and its opposite is '{@link org.enterprisedomain.classmaker.ClassMakerService#getWorkspace Workspace }'.
+ *
*
* If the meaning of the 'Service ' reference isn't clear, there really
* should be more of a description here...
*
*
- *
* @return the value of the 'Service ' container reference.
* @see #setService(ClassMakerService)
* @see org.enterprisedomain.classmaker.ClassMakerPackage#getWorkspace_Service()
@@ -128,11 +137,9 @@ public interface Workspace extends EObject, ISchedulingRule {
ClassMakerService getService();
/**
- * Sets the value of the
- * '{@link org.enterprisedomain.classmaker.Workspace#getService
- * Service }' container reference.
- *
* @param value the new value of the 'Service ' container reference.
* @see #getService()
* @generated
@@ -151,6 +158,18 @@ public interface Workspace extends EObject, ISchedulingRule {
*/
SCMRegistry> getSCMRegistry();
+ /**
+ * Returns the value of the 'Excluded EPackages ' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EPackage}.
+ *
+ * @return the value of the 'Excluded EPackages ' reference list.
+ * @see org.enterprisedomain.classmaker.ClassMakerPackage#getWorkspace_ExcludedEPackages()
+ * @model
+ * @generated
+ */
+ EList getExcludedEPackages();
+
/**
*
* Initializes Workspace .
@@ -282,7 +301,6 @@ public interface Workspace extends EObject, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
@@ -290,7 +308,6 @@ public interface Workspace extends EObject, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
@@ -298,7 +315,6 @@ public interface Workspace extends EObject, ISchedulingRule {
/**
*
- *
* @model
* @generated
*/
@@ -306,9 +322,7 @@ public interface Workspace extends EObject, ISchedulingRule {
/**
*
- *
- * @model exceptions="org.enterprisedomain.classmaker.CoreException"
- * monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
+ * @model exceptions="org.enterprisedomain.classmaker.CoreException" monitorDataType="org.enterprisedomain.classmaker.IProgressMonitor"
* @generated
*/
void delete(Object object, IProgressMonitor monitor) throws CoreException;
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/core/ClassMakerPlugin.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/core/ClassMakerPlugin.java
index 8ad7ec3b..f9beb2ef 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/core/ClassMakerPlugin.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/core/ClassMakerPlugin.java
@@ -42,6 +42,8 @@
public class ClassMakerPlugin extends Plugin {
+ public static final boolean DEBUG = false;
+
public static final String PLUGIN_ID = "org.enterprisedomain.classmaker"; //$NON-NLS-1$
public static final String CONTRIBUTION_NATURE_ID = PLUGIN_ID + ".contributionProjectNature"; //$NON-NLS-1$
@@ -168,6 +170,11 @@ public static void setDefaultOutputStream(PrintStream defaultOutputStream) {
ClassMakerPlugin.defaultOutputStream = defaultOutputStream;
}
+ public static void print(String string) {
+ if (DEBUG)
+ getDefaultOutputStream().println("*** " + string);
+ }
+
public static void setRunnerWithProgress(IRunnerWithProgress runner) {
ClassMakerPlugin.runner = runner;
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/BlueprintImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/BlueprintImpl.java
index 5625294d..48736b65 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/BlueprintImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/BlueprintImpl.java
@@ -37,25 +37,19 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getDynamicModel
- * Dynamic Model }
- * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getDependencies
- * Dependencies }
- * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getCompletionListeners
- * Completion Listeners }
- * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#isEdit
- * Edit }
- * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#isEditor
- * Editor }
+ * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getDynamicModel Dynamic Model }
+ * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getDependencies Dependencies }
+ * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#getCompletionListeners Completion Listeners }
+ * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#isEdit Edit }
+ * {@link org.enterprisedomain.classmaker.impl.BlueprintImpl#isEditor Editor }
*
*
* @generated
*/
public class BlueprintImpl extends EObjectImpl implements Blueprint {
/**
- * The cached value of the '{@link #getDynamicModel() Dynamic Model }'
- * reference.
- *
+ * The cached value of the '{@link #getDynamicModel() Dynamic Model }' reference.
+ *
* @see #getDynamicModel()
* @generated
* @ordered
@@ -63,9 +57,8 @@ public class BlueprintImpl extends EObjectImpl implements Blueprint {
protected EObject dynamicModel;
/**
- * The cached value of the '{@link #getDependencies() Dependencies }'
- * attribute list.
- *
+ * The cached value of the '{@link #getDependencies() Dependencies }' attribute list.
+ *
* @see #getDependencies()
* @generated
* @ordered
@@ -106,7 +99,6 @@ public class BlueprintImpl extends EObjectImpl implements Blueprint {
/**
* The default value of the '{@link #isEditor() Editor }' attribute.
*
- *
* @see #isEditor()
* @generated
* @ordered
@@ -125,7 +117,6 @@ public class BlueprintImpl extends EObjectImpl implements Blueprint {
/**
*
- *
* @generated
*/
protected BlueprintImpl() {
@@ -134,7 +125,6 @@ protected BlueprintImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -144,7 +134,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -163,7 +152,6 @@ public EObject getDynamicModel() {
/**
*
- *
* @generated
*/
public EObject basicGetDynamicModel() {
@@ -172,7 +160,6 @@ public EObject basicGetDynamicModel() {
/**
*
- *
* @generated
*/
@Override
@@ -186,7 +173,6 @@ public void setDynamicModel(EObject newDynamicModel) {
/**
*
- *
* @generated
*/
@Override
@@ -200,7 +186,6 @@ public EList getDependencies() {
/**
*
- *
* @generated
*/
@Override
@@ -214,7 +199,6 @@ public EList getCompletionListeners() {
/**
*
- *
* @generated
*/
@Override
@@ -224,7 +208,6 @@ public boolean isEdit() {
/**
*
- *
* @generated
*/
@Override
@@ -237,7 +220,6 @@ public void setEdit(boolean newEdit) {
/**
*
- *
* @generated
*/
@Override
@@ -247,7 +229,6 @@ public boolean isEditor() {
/**
*
- *
* @generated
*/
@Override
@@ -261,7 +242,6 @@ public void setEditor(boolean newEditor) {
/**
*
- *
* @generated
*/
@Override
@@ -285,7 +265,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -315,7 +294,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -342,7 +320,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -364,7 +341,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerFactoryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerFactoryImpl.java
index 71ed1909..7d8e7faa 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerFactoryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerFactoryImpl.java
@@ -27,6 +27,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
@@ -54,19 +55,19 @@
import org.enterprisedomain.classmaker.Strategy;
import org.enterprisedomain.classmaker.Workspace;
import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+import org.enterprisedomain.classmaker.jobs.Worker;
import org.osgi.framework.Version;
/**
* An implementation of the model Factory .
- *
* @generated
*/
public class ClassMakerFactoryImpl extends EFactoryImpl implements ClassMakerFactory {
/**
- * Creates the default factory implementation.
- *
* @generated
*/
public static ClassMakerFactory init() {
@@ -94,7 +95,6 @@ public ClassMakerFactoryImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -120,6 +120,8 @@ public EObject create(EClass eClass) {
return createStageQualifier();
case ClassMakerPackage.STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY:
return (EObject) createStageQualifierToCustomizerMapEntry();
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY:
+ return (EObject) createStageQualifierToWorkersMapEntry();
case ClassMakerPackage.MODELS:
return createModels();
case ClassMakerPackage.SCM_REGISTRY:
@@ -145,7 +147,6 @@ public EObject create(EClass eClass) {
/**
*
- *
* @generated
*/
@Override
@@ -153,6 +154,8 @@ public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
case ClassMakerPackage.STAGE:
return createStageFromString(eDataType, initialValue);
+ case ClassMakerPackage.CLASS_LOADER:
+ return createClassLoaderFromString(eDataType, initialValue);
case ClassMakerPackage.PROPERTIES:
return createPropertiesFromString(eDataType, initialValue);
case ClassMakerPackage.IPROGRESS_MONITOR:
@@ -184,7 +187,6 @@ public Object createFromString(EDataType eDataType, String initialValue) {
/**
*
- *
* @generated
*/
@Override
@@ -192,6 +194,8 @@ public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
case ClassMakerPackage.STAGE:
return convertStageToString(eDataType, instanceValue);
+ case ClassMakerPackage.CLASS_LOADER:
+ return convertClassLoaderToString(eDataType, instanceValue);
case ClassMakerPackage.PROPERTIES:
return convertPropertiesToString(eDataType, instanceValue);
case ClassMakerPackage.IPROGRESS_MONITOR:
@@ -223,7 +227,6 @@ public String convertToString(EDataType eDataType, Object instanceValue) {
/**
*
- *
* @generated
*/
@Override
@@ -234,7 +237,6 @@ public Contribution createContribution() {
/**
*
- *
* @generated
*/
@Override
@@ -245,7 +247,6 @@ public Revision createRevision() {
/**
*
- *
* @generated
*/
@Override
@@ -256,7 +257,6 @@ public State createState() {
/**
*
- *
* @generated
*/
@Override
@@ -267,7 +267,6 @@ public Strategy createStrategy() {
/**
*
- *
* @generated
*/
@Override
@@ -278,7 +277,6 @@ public Workspace createWorkspace() {
/**
*
- *
* @generated
*/
public Map.Entry createLongToStateMapEntry() {
@@ -288,7 +286,6 @@ public Map.Entry createLongToStateMapEntry() {
/**
*
- *
* @generated
*/
public Map.Entry createVersionToRevisionMapEntry() {
@@ -298,7 +295,6 @@ public Map.Entry createVersionToRevisionMapEntry() {
/**
*
- *
* @generated
*/
@Override
@@ -309,7 +305,6 @@ public Customizer createCustomizer() {
/**
*
- *
* @generated
*/
@Override
@@ -320,7 +315,6 @@ public StageQualifier createStageQualifier() {
/**
*
- *
* @generated
*/
public Map.Entry createStageQualifierToCustomizerMapEntry() {
@@ -330,7 +324,15 @@ public Map.Entry createStageQualifierToCustomizerMap
/**
*
- *
+ * @generated
+ */
+ public Map.Entry> createStageQualifierToWorkersMapEntry() {
+ StageQualifierToWorkersMapEntryImpl stageQualifierToWorkersMapEntry = new StageQualifierToWorkersMapEntryImpl();
+ return stageQualifierToWorkersMapEntry;
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -341,7 +343,6 @@ public Models createModels() {
/**
*
- *
* @generated
*/
@Override
@@ -352,7 +353,6 @@ public Project createProject() {
/**
*
- *
* @generated
*/
@Override
@@ -363,7 +363,6 @@ public SCMRegistry createSCMRegistry() {
/**
*
- *
* @generated
*/
@Override
@@ -374,7 +373,6 @@ public ResourceChangeListener createResourceChangeListener() {
/**
*
- *
* @generated
*/
@Override
@@ -385,7 +383,6 @@ public ResourceAdapter createResourceAdapter() {
/**
*
- *
* @generated
*/
@Override
@@ -396,7 +393,6 @@ public ClassMakerService createClassMakerService() {
/**
*
- *
* @generated
*/
@Override
@@ -407,7 +403,6 @@ public Blueprint createBlueprint() {
/**
*
- *
* @generated
*/
@Override
@@ -418,7 +413,6 @@ public CompletionNotificationAdapter createCompletionNotificationAdapter() {
/**
*
- *
* @generated
*/
@Override
@@ -429,7 +423,6 @@ public SelectRevealHandler createSelectRevealHandler() {
/**
*
- *
* @generated
*/
public Stage createStageFromString(EDataType eDataType, String initialValue) {
@@ -442,13 +435,28 @@ public Stage createStageFromString(EDataType eDataType, String initialValue) {
/**
*
- *
* @generated
*/
public String convertStageToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
+ /**
+ *
+ * @generated
+ */
+ public ClassLoader createClassLoaderFromString(EDataType eDataType, String initialValue) {
+ return (ClassLoader) super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ *
+ * @generated
+ */
+ public String convertClassLoaderToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
/**
*
*
@@ -467,7 +475,6 @@ public Properties createPropertiesFromString(EDataType eDataType, String initial
/**
*
- *
* @generated
*/
public String convertPropertiesToString(EDataType eDataType, Object instanceValue) {
@@ -476,7 +483,6 @@ public String convertPropertiesToString(EDataType eDataType, Object instanceValu
/**
*
- *
* @generated
*/
public IProgressMonitor createIProgressMonitorFromString(EDataType eDataType, String initialValue) {
@@ -485,7 +491,6 @@ public IProgressMonitor createIProgressMonitorFromString(EDataType eDataType, St
/**
*
- *
* @generated
*/
public String convertIProgressMonitorToString(EDataType eDataType, Object instanceValue) {
@@ -494,7 +499,6 @@ public String convertIProgressMonitorToString(EDataType eDataType, Object instan
/**
*
- *
* @generated
*/
public Version createOSGiVersionFromString(EDataType eDataType, String initialValue) {
@@ -503,7 +507,6 @@ public Version createOSGiVersionFromString(EDataType eDataType, String initialVa
/**
*
- *
* @generated
*/
public String convertOSGiVersionToString(EDataType eDataType, Object instanceValue) {
@@ -512,7 +515,6 @@ public String convertOSGiVersionToString(EDataType eDataType, Object instanceVal
/**
*
- *
* @generated
*/
public Semaphore createSemaphoreFromString(EDataType eDataType, String initialValue) {
@@ -521,7 +523,6 @@ public Semaphore createSemaphoreFromString(EDataType eDataType, String initialVa
/**
*
- *
* @generated
*/
public String convertSemaphoreToString(EDataType eDataType, Object instanceValue) {
@@ -530,7 +531,6 @@ public String convertSemaphoreToString(EDataType eDataType, Object instanceValue
/**
*
- *
* @generated
*/
public CoreException createCoreExceptionFromString(EDataType eDataType, String initialValue) {
@@ -539,7 +539,6 @@ public CoreException createCoreExceptionFromString(EDataType eDataType, String i
/**
*
- *
* @generated
*/
public String convertCoreExceptionToString(EDataType eDataType, Object instanceValue) {
@@ -548,7 +547,6 @@ public String convertCoreExceptionToString(EDataType eDataType, Object instanceV
/**
*
- *
* @generated
*/
public InvocationTargetException createInvocationTargetExceptionFromString(EDataType eDataType,
@@ -558,7 +556,6 @@ public InvocationTargetException createInvocationTargetExceptionFromString(EData
/**
*
- *
* @generated
*/
public String convertInvocationTargetExceptionToString(EDataType eDataType, Object instanceValue) {
@@ -567,7 +564,6 @@ public String convertInvocationTargetExceptionToString(EDataType eDataType, Obje
/**
*
- *
* @generated
*/
public IStatus createIStatusFromString(EDataType eDataType, String initialValue) {
@@ -576,7 +572,6 @@ public IStatus createIStatusFromString(EDataType eDataType, String initialValue)
/**
*
- *
* @generated
*/
public String convertIStatusToString(EDataType eDataType, Object instanceValue) {
@@ -585,7 +580,6 @@ public String convertIStatusToString(EDataType eDataType, Object instanceValue)
/**
*
- *
* @generated
*/
public URI createURIFromString(EDataType eDataType, String initialValue) {
@@ -594,7 +588,6 @@ public URI createURIFromString(EDataType eDataType, String initialValue) {
/**
*
- *
* @generated
*/
public String convertURIToString(EDataType eDataType, Object instanceValue) {
@@ -603,7 +596,6 @@ public String convertURIToString(EDataType eDataType, Object instanceValue) {
/**
*
- *
* @generated
*/
public EMFPlugin createEMFPluginFromString(EDataType eDataType, String initialValue) {
@@ -612,7 +604,6 @@ public EMFPlugin createEMFPluginFromString(EDataType eDataType, String initialVa
/**
*
- *
* @generated
*/
public String convertEMFPluginToString(EDataType eDataType, Object instanceValue) {
@@ -621,7 +612,6 @@ public String convertEMFPluginToString(EDataType eDataType, Object instanceValue
/**
*
- *
* @generated
*/
public String createNameFromString(EDataType eDataType, String initialValue) {
@@ -630,7 +620,6 @@ public String createNameFromString(EDataType eDataType, String initialValue) {
/**
*
- *
* @generated
*/
public String convertNameToString(EDataType eDataType, Object instanceValue) {
@@ -639,7 +628,6 @@ public String convertNameToString(EDataType eDataType, Object instanceValue) {
/**
*
- *
* @generated
*/
public Exception createExceptionFromString(EDataType eDataType, String initialValue) {
@@ -648,7 +636,6 @@ public Exception createExceptionFromString(EDataType eDataType, String initialVa
/**
*
- *
* @generated
*/
public String convertExceptionToString(EDataType eDataType, Object instanceValue) {
@@ -657,7 +644,6 @@ public String convertExceptionToString(EDataType eDataType, Object instanceValue
/**
*
- *
* @generated
*/
public Locale createLocaleFromString(EDataType eDataType, String initialValue) {
@@ -666,7 +652,6 @@ public Locale createLocaleFromString(EDataType eDataType, String initialValue) {
/**
*
- *
* @generated
*/
public String convertLocaleToString(EDataType eDataType, Object instanceValue) {
@@ -675,7 +660,6 @@ public String convertLocaleToString(EDataType eDataType, Object instanceValue) {
/**
*
- *
* @generated
*/
@Override
@@ -685,7 +669,6 @@ public ClassMakerPackage getClassMakerPackage() {
/**
*
- *
* @deprecated
* @generated
*/
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerPackageImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerPackageImpl.java
index 78e4a2e3..ac2b1968 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerPackageImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerPackageImpl.java
@@ -77,328 +77,295 @@
/**
* An implementation of the model Package .
- *
* @generated
*/
public class ClassMakerPackageImpl extends EPackageImpl implements ClassMakerPackage {
/**
*
- *
* @generated
*/
private EClass contributionEClass = null;
/**
*
- *
* @generated
*/
private EClass revisionEClass = null;
/**
*
- *
* @generated
*/
private EClass stateEClass = null;
/**
*
- *
* @generated
*/
private EClass strategyEClass = null;
/**
*
- *
* @generated
*/
private EClass itemEClass = null;
/**
*
- *
* @generated
*/
private EClass adapterEClass = null;
/**
*
- *
* @generated
*/
private EClass workspaceEClass = null;
/**
*
- *
* @generated
*/
private EClass longToStateMapEntryEClass = null;
/**
*
- *
* @generated
*/
private EClass versionToRevisionMapEntryEClass = null;
/**
*
- *
* @generated
*/
private EClass iSchedulingRuleEClass = null;
/**
*
- *
* @generated
*/
private EClass executorEClass = null;
/**
*
- *
* @generated
*/
private EClass futureEClass = null;
/**
*
- *
* @generated
*/
private EClass iAdapterFactoryEClass = null;
/**
*
- *
* @generated
*/
private EClass customizerEClass = null;
/**
*
- *
* @generated
*/
private EClass stageQualifierEClass = null;
/**
*
- *
* @generated
*/
private EClass stageQualifierToCustomizerMapEntryEClass = null;
/**
*
- *
+ * @generated
+ */
+ private EClass stageQualifierToWorkersMapEntryEClass = null;
+
+ /**
+ *
* @generated
*/
private EClass modelsEClass = null;
/**
*
- *
* @generated
*/
private EClass projectEClass = null;
/**
*
- *
* @generated
*/
private EClass scmOperatorEClass = null;
/**
*
- *
* @generated
*/
private EClass scmRegistryEClass = null;
/**
*
- *
* @generated
*/
private EClass resourceEClass = null;
/**
*
- *
* @generated
*/
private EClass resourceChangeListenerEClass = null;
/**
*
- *
* @generated
*/
private EClass notificationEClass = null;
/**
*
- *
* @generated
*/
private EClass notifierEClass = null;
/**
*
- *
* @generated
*/
private EClass completionListenerEClass = null;
/**
*
- *
* @generated
*/
private EClass workerEClass = null;
/**
*
- *
* @generated
*/
private EClass selectRevealHandlerEClass = null;
/**
*
- *
* @generated
*/
private EClass resourceAdapterEClass = null;
/**
*
- *
* @generated
*/
private EClass classMakerServiceEClass = null;
/**
*
- *
* @generated
*/
private EClass blueprintEClass = null;
/**
*
- *
* @generated
*/
private EClass completionNotificationAdapterEClass = null;
/**
*
- *
* @generated
*/
private EEnum stageEEnum = null;
/**
*
- *
+ * @generated
+ */
+ private EDataType classLoaderEDataType = null;
+
+ /**
+ *
* @generated
*/
private EDataType propertiesEDataType = null;
/**
*
- *
* @generated
*/
private EDataType iProgressMonitorEDataType = null;
/**
*
- *
* @generated
*/
private EDataType osGiVersionEDataType = null;
/**
*
- *
* @generated
*/
private EDataType semaphoreEDataType = null;
/**
*
- *
* @generated
*/
private EDataType coreExceptionEDataType = null;
/**
*
- *
* @generated
*/
private EDataType invocationTargetExceptionEDataType = null;
/**
*
- *
* @generated
*/
private EDataType iStatusEDataType = null;
/**
*
- *
* @generated
*/
private EDataType uriEDataType = null;
/**
*
- *
* @generated
*/
private EDataType emfPluginEDataType = null;
/**
*
- *
* @generated
*/
private EDataType nameEDataType = null;
/**
*
- *
* @generated
*/
private EDataType exceptionEDataType = null;
/**
*
- *
* @generated
*/
private EDataType localeEDataType = null;
/**
* Creates an instance of the model Package , registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
- * package package URI value.
- *
- * Note: the correct way to create the package is via the static factory method
- * {@link #init init()}, which also performs initialization of the package, or
- * returns the registered package, if one already exists.
- *
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.enterprisedomain.classmaker.ClassMakerPackage#eNS_URI
* @see #init()
@@ -410,21 +377,17 @@ private ClassMakerPackageImpl() {
/**
*
- *
* @generated
*/
private static boolean isInited = false;
/**
- * Creates, registers, and initializes the Package for this model, and
- * for any others upon which it depends.
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
*
- *
- * This method is used to initialize {@link ClassMakerPackage#eINSTANCE} when
- * that field is accessed. Clients should not invoke it directly. Instead, they
- * should simply access that field to obtain the package.
- *
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
@@ -469,7 +432,6 @@ public EValidator getEValidator() {
/**
*
- *
* @generated
*/
@Override
@@ -479,7 +441,6 @@ public EClass getContribution() {
/**
*
- *
* @generated
*/
@Override
@@ -489,7 +450,6 @@ public EAttribute getContribution_Dependencies() {
/**
*
- *
* @generated
*/
@Override
@@ -499,7 +459,6 @@ public EAttribute getContribution_LatestVersion() {
/**
*
- *
* @generated
*/
@Override
@@ -509,7 +468,6 @@ public EClass getRevision() {
/**
*
- *
* @generated
*/
@Override
@@ -519,7 +477,6 @@ public EReference getRevision_State() {
/**
*
- *
* @generated
*/
@Override
@@ -529,7 +486,6 @@ public EAttribute getRevision_Timestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -539,7 +495,6 @@ public EReference getRevision_StateHistory() {
/**
*
- *
* @generated
*/
@Override
@@ -549,7 +504,6 @@ public EAttribute getRevision_LatestTimestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -559,7 +513,6 @@ public EAttribute getRevision_Version() {
/**
*
- *
* @generated
*/
@Override
@@ -569,7 +522,6 @@ public EClass getState() {
/**
*
- *
* @generated
*/
@Override
@@ -579,7 +531,6 @@ public EAttribute getState_PackageClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -589,7 +540,6 @@ public EAttribute getState_EditPluginClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -599,7 +549,6 @@ public EAttribute getState_EditorPluginClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -609,7 +558,6 @@ public EAttribute getState_RequiredPlugins() {
/**
*
- *
* @generated
*/
@Override
@@ -619,7 +567,6 @@ public EReference getState_Revision() {
/**
*
- *
* @generated
*/
@Override
@@ -629,7 +576,6 @@ public EAttribute getState_Timestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -639,7 +585,6 @@ public EAttribute getState_DeployableUnitName() {
/**
*
- *
* @generated
*/
@Override
@@ -649,7 +594,6 @@ public EAttribute getState_EditDeployableUnitName() {
/**
*
- *
* @generated
*/
@Override
@@ -659,7 +603,6 @@ public EAttribute getState_EditorDeployableUnitName() {
/**
*
- *
* @generated
*/
@Override
@@ -669,97 +612,87 @@ public EAttribute getState_JobFamily() {
/**
*
- *
* @generated
*/
@Override
- public EReference getState_Resource() {
- return (EReference) stateEClass.getEStructuralFeatures().get(10);
+ public EAttribute getState_CommitId() {
+ return (EAttribute) stateEClass.getEStructuralFeatures().get(10);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_CommitIds() {
- return (EAttribute) stateEClass.getEStructuralFeatures().get(11);
+ public EReference getState_StateCustomizers() {
+ return (EReference) stateEClass.getEStructuralFeatures().get(11);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_CommitId() {
- return (EAttribute) stateEClass.getEStructuralFeatures().get(12);
+ public EReference getState_NonExclusiveStateCustomizers() {
+ return (EReference) stateEClass.getEStructuralFeatures().get(12);
}
/**
*
- *
* @generated
*/
@Override
- public EReference getState_StateCustomizers() {
- return (EReference) stateEClass.getEStructuralFeatures().get(13);
+ public EAttribute getState_ProjectName() {
+ return (EAttribute) stateEClass.getEStructuralFeatures().get(13);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_ProjectName() {
+ public EAttribute getState_Making() {
return (EAttribute) stateEClass.getEStructuralFeatures().get(14);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_Making() {
+ public EAttribute getState_Edit() {
return (EAttribute) stateEClass.getEStructuralFeatures().get(15);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_Edit() {
+ public EAttribute getState_Editor() {
return (EAttribute) stateEClass.getEStructuralFeatures().get(16);
}
/**
*
- *
* @generated
*/
@Override
- public EAttribute getState_Editor() {
- return (EAttribute) stateEClass.getEStructuralFeatures().get(17);
+ public EReference getState_Strategy() {
+ return (EReference) stateEClass.getEStructuralFeatures().get(17);
}
/**
*
- *
* @generated
*/
@Override
- public EReference getState_Strategy() {
- return (EReference) stateEClass.getEStructuralFeatures().get(18);
+ public EAttribute getState_BasePackage() {
+ return (EAttribute) stateEClass.getEStructuralFeatures().get(18);
}
/**
*
- *
* @generated
*/
@Override
@@ -769,57 +702,24 @@ public EClass getStrategy() {
/**
*
- *
* @generated
*/
@Override
- public EReference getStrategy_Generators() {
+ public EReference getStrategy_State() {
return (EReference) strategyEClass.getEStructuralFeatures().get(0);
}
/**
*
- *
* @generated
*/
@Override
- public EReference getStrategy_Exporters() {
+ public EReference getStrategy_Workers() {
return (EReference) strategyEClass.getEStructuralFeatures().get(1);
}
/**
*
- *
- * @generated
- */
- @Override
- public EReference getStrategy_Installers() {
- return (EReference) strategyEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EReference getStrategy_Loaders() {
- return (EReference) strategyEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EReference getStrategy_State() {
- return (EReference) strategyEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- *
- *
* @generated
*/
@Override
@@ -829,7 +729,6 @@ public EClass getItem() {
/**
*
- *
* @generated
*/
@Override
@@ -839,7 +738,6 @@ public EAttribute getItem_ModelName() {
/**
*
- *
* @generated
*/
@Override
@@ -849,7 +747,6 @@ public EAttribute getItem_Phase() {
/**
*
- *
* @generated
*/
@Override
@@ -859,7 +756,6 @@ public EAttribute getItem_Language() {
/**
*
- *
* @generated
*/
@Override
@@ -869,7 +765,6 @@ public EReference getItem_DomainModel() {
/**
*
- *
* @generated
*/
@Override
@@ -879,7 +774,6 @@ public EReference getItem_Customizers() {
/**
*
- *
* @generated
*/
@Override
@@ -889,7 +783,6 @@ public EReference getItem_Parent() {
/**
*
- *
* @generated
*/
@Override
@@ -899,7 +792,6 @@ public EAttribute getItem_Locale() {
/**
*
- *
* @generated
*/
@Override
@@ -909,7 +801,15 @@ public EReference getItem_Project() {
/**
*
- *
+ * @generated
+ */
+ @Override
+ public EReference getItem_Resource() {
+ return (EReference) itemEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -919,7 +819,6 @@ public EClass getAdapter() {
/**
*
- *
* @generated
*/
@Override
@@ -929,7 +828,6 @@ public EClass getWorkspace() {
/**
*
- *
* @generated
*/
@Override
@@ -939,7 +837,6 @@ public EReference getWorkspace_Projects() {
/**
*
- *
* @generated
*/
@Override
@@ -949,7 +846,6 @@ public EAttribute getWorkspace_ResourceSet() {
/**
*
- *
* @generated
*/
@Override
@@ -959,27 +855,42 @@ public EReference getWorkspace_Customizers() {
/**
*
- *
* @generated
*/
@Override
- public EReference getWorkspace_Service() {
+ public EReference getWorkspace_NonExclusiveCustomizers() {
return (EReference) workspaceEClass.getEStructuralFeatures().get(3);
}
/**
*
- *
* @generated
*/
@Override
- public EReference getWorkspace_SCMRegistry() {
+ public EReference getWorkspace_Service() {
return (EReference) workspaceEClass.getEStructuralFeatures().get(4);
}
/**
*
- *
+ * @generated
+ */
+ @Override
+ public EReference getWorkspace_SCMRegistry() {
+ return (EReference) workspaceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EReference getWorkspace_ExcludedEPackages() {
+ return (EReference) workspaceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -989,7 +900,6 @@ public EClass getLongToStateMapEntry() {
/**
*
- *
* @generated
*/
@Override
@@ -999,7 +909,6 @@ public EAttribute getLongToStateMapEntry_Key() {
/**
*
- *
* @generated
*/
@Override
@@ -1009,7 +918,6 @@ public EReference getLongToStateMapEntry_Value() {
/**
*
- *
* @generated
*/
@Override
@@ -1019,7 +927,6 @@ public EClass getVersionToRevisionMapEntry() {
/**
*
- *
* @generated
*/
@Override
@@ -1029,7 +936,6 @@ public EAttribute getVersionToRevisionMapEntry_Key() {
/**
*
- *
* @generated
*/
@Override
@@ -1039,7 +945,6 @@ public EReference getVersionToRevisionMapEntry_Value() {
/**
*
- *
* @generated
*/
@Override
@@ -1049,7 +954,6 @@ public EClass getISchedulingRule() {
/**
*
- *
* @generated
*/
@Override
@@ -1059,7 +963,6 @@ public EClass getExecutor() {
/**
*
- *
* @generated
*/
@Override
@@ -1069,7 +972,6 @@ public EClass getFuture() {
/**
*
- *
* @generated
*/
@Override
@@ -1079,7 +981,6 @@ public EClass getIAdapterFactory() {
/**
*
- *
* @generated
*/
@Override
@@ -1089,7 +990,6 @@ public EClass getCustomizer() {
/**
*
- *
* @generated
*/
@Override
@@ -1099,7 +999,24 @@ public EAttribute getCustomizer_Rank() {
/**
*
- *
+ * @generated
+ */
+ @Override
+ public EAttribute getCustomizer_Exclusive() {
+ return (EAttribute) customizerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCustomizer_Stage() {
+ return (EReference) customizerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -1109,7 +1026,6 @@ public EClass getStageQualifier() {
/**
*
- *
* @generated
*/
@Override
@@ -1119,7 +1035,6 @@ public EAttribute getStageQualifier_Stage() {
/**
*
- *
* @generated
*/
@Override
@@ -1129,7 +1044,6 @@ public EAttribute getStageQualifier_Step() {
/**
*
- *
* @generated
*/
@Override
@@ -1139,7 +1053,6 @@ public EClass getStageQualifierToCustomizerMapEntry() {
/**
*
- *
* @generated
*/
@Override
@@ -1149,7 +1062,6 @@ public EReference getStageQualifierToCustomizerMapEntry_Key() {
/**
*
- *
* @generated
*/
@Override
@@ -1159,7 +1071,33 @@ public EReference getStageQualifierToCustomizerMapEntry_Value() {
/**
*
- *
+ * @generated
+ */
+ @Override
+ public EClass getStageQualifierToWorkersMapEntry() {
+ return stageQualifierToWorkersMapEntryEClass;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EReference getStageQualifierToWorkersMapEntry_Key() {
+ return (EReference) stageQualifierToWorkersMapEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EReference getStageQualifierToWorkersMapEntry_Value() {
+ return (EReference) stageQualifierToWorkersMapEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -1169,7 +1107,6 @@ public EClass getModels() {
/**
*
- *
* @generated
*/
@Override
@@ -1179,7 +1116,6 @@ public EReference getModels_Dynamic() {
/**
*
- *
* @generated
*/
@Override
@@ -1189,7 +1125,6 @@ public EReference getModels_Generated() {
/**
*
- *
* @generated
*/
@Override
@@ -1199,7 +1134,6 @@ public EAttribute getModels_GeneratedEdit() {
/**
*
- *
* @generated
*/
@Override
@@ -1209,7 +1143,6 @@ public EAttribute getModels_GeneratedEditor() {
/**
*
- *
* @generated
*/
@Override
@@ -1219,7 +1152,6 @@ public EReference getModels_Parent() {
/**
*
- *
* @generated
*/
@Override
@@ -1229,7 +1161,6 @@ public EDataType getEMFPlugin() {
/**
*
- *
* @generated
*/
@Override
@@ -1239,7 +1170,6 @@ public EClass getProject() {
/**
*
- *
* @generated
*/
@Override
@@ -1249,7 +1179,6 @@ public EAttribute getProject_Name() {
/**
*
- *
* @generated
*/
@Override
@@ -1259,157 +1188,141 @@ public EAttribute getProject_ProjectName() {
/**
*
- *
- * @generated
- */
- @Override
- public EAttribute getProject_Children() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- *
- *
* @generated
*/
@Override
public EAttribute getProject_Dirty() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(3);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(2);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_Workspace() {
- return (EReference) projectEClass.getEStructuralFeatures().get(4);
+ return (EReference) projectEClass.getEStructuralFeatures().get(3);
}
/**
*
- *
* @generated
*/
@Override
public EAttribute getProject_ResourcePath() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(5);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(4);
}
/**
*
- *
* @generated
*/
@Override
public EAttribute getProject_NeedCompletionNotification() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(6);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(5);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_CompletionNotificationAdapter() {
- return (EReference) projectEClass.getEStructuralFeatures().get(7);
+ return (EReference) projectEClass.getEStructuralFeatures().get(6);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_ResourceReloadListener() {
- return (EReference) projectEClass.getEStructuralFeatures().get(8);
+ return (EReference) projectEClass.getEStructuralFeatures().get(7);
}
/**
*
- *
* @generated
*/
@Override
public EAttribute getProject_SavingResource() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(9);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(8);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_Revision() {
- return (EReference) projectEClass.getEStructuralFeatures().get(10);
+ return (EReference) projectEClass.getEStructuralFeatures().get(9);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_Revisions() {
- return (EReference) projectEClass.getEStructuralFeatures().get(11);
+ return (EReference) projectEClass.getEStructuralFeatures().get(10);
}
/**
*
- *
* @generated
*/
@Override
public EAttribute getProject_ProjectVersion() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(12);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(11);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_SelectRevealHandler() {
- return (EReference) projectEClass.getEStructuralFeatures().get(13);
+ return (EReference) projectEClass.getEStructuralFeatures().get(12);
}
/**
*
- *
* @generated
*/
@Override
public EAttribute getProject_Version() {
- return (EAttribute) projectEClass.getEStructuralFeatures().get(14);
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(13);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_State() {
- return (EReference) projectEClass.getEStructuralFeatures().get(15);
+ return (EReference) projectEClass.getEStructuralFeatures().get(14);
}
/**
*
- *
* @generated
*/
@Override
public EReference getProject_ModelResourceAdapter() {
- return (EReference) projectEClass.getEStructuralFeatures().get(16);
+ return (EReference) projectEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getProject_ClassLoader() {
+ return (EAttribute) projectEClass.getEStructuralFeatures().get(16);
}
/**
*
- *
* @generated
*/
@Override
@@ -1419,7 +1332,6 @@ public EClass getSCMOperator() {
/**
*
- *
* @generated
*/
@Override
@@ -1429,7 +1341,6 @@ public EAttribute getSCMOperator_ProjectName() {
/**
*
- *
* @generated
*/
@Override
@@ -1439,7 +1350,6 @@ public EReference getSCMOperator_Registry() {
/**
*
- *
* @generated
*/
@Override
@@ -1449,7 +1359,6 @@ public EClass getSCMRegistry() {
/**
*
- *
* @generated
*/
@Override
@@ -1459,7 +1368,6 @@ public EClass getResource() {
/**
*
- *
* @generated
*/
@Override
@@ -1469,7 +1377,6 @@ public EClass getResourceChangeListener() {
/**
*
- *
* @generated
*/
@Override
@@ -1479,7 +1386,6 @@ public EClass getNotification() {
/**
*
- *
* @generated
*/
@Override
@@ -1489,7 +1395,6 @@ public EClass getNotifier() {
/**
*
- *
* @generated
*/
@Override
@@ -1499,7 +1404,6 @@ public EClass getCompletionListener() {
/**
*
- *
* @generated
*/
@Override
@@ -1509,7 +1413,6 @@ public EClass getWorker() {
/**
*
- *
* @generated
*/
@Override
@@ -1519,7 +1422,6 @@ public EClass getSelectRevealHandler() {
/**
*
- *
* @generated
*/
@Override
@@ -1529,7 +1431,6 @@ public EClass getResourceAdapter() {
/**
*
- *
* @generated
*/
@Override
@@ -1539,7 +1440,6 @@ public EReference getResourceAdapter_Resource() {
/**
*
- *
* @generated
*/
@Override
@@ -1549,7 +1449,6 @@ public EAttribute getResourceAdapter_Filename() {
/**
*
- *
* @generated
*/
@Override
@@ -1559,7 +1458,6 @@ public EReference getResourceAdapter_Project() {
/**
*
- *
* @generated
*/
@Override
@@ -1569,7 +1467,6 @@ public EClass getClassMakerService() {
/**
*
- *
* @generated
*/
@Override
@@ -1579,7 +1476,6 @@ public EReference getClassMakerService_Workspace() {
/**
*
- *
* @generated
*/
@Override
@@ -1589,7 +1485,6 @@ public EClass getBlueprint() {
/**
*
- *
* @generated
*/
@Override
@@ -1599,7 +1494,6 @@ public EReference getBlueprint_DynamicModel() {
/**
*
- *
* @generated
*/
@Override
@@ -1609,7 +1503,6 @@ public EAttribute getBlueprint_Dependencies() {
/**
*
- *
* @generated
*/
@Override
@@ -1619,7 +1512,6 @@ public EReference getBlueprint_CompletionListeners() {
/**
*
- *
* @generated
*/
@Override
@@ -1629,7 +1521,6 @@ public EAttribute getBlueprint_Edit() {
/**
*
- *
* @generated
*/
@Override
@@ -1639,7 +1530,6 @@ public EAttribute getBlueprint_Editor() {
/**
*
- *
* @generated
*/
@Override
@@ -1649,7 +1539,6 @@ public EClass getCompletionNotificationAdapter() {
/**
*
- *
* @generated
*/
@Override
@@ -1659,7 +1548,6 @@ public EAttribute getCompletionNotificationAdapter_Error() {
/**
*
- *
* @generated
*/
@Override
@@ -1669,7 +1557,6 @@ public EReference getCompletionNotificationAdapter_Project() {
/**
*
- *
* @generated
*/
@Override
@@ -1679,7 +1566,6 @@ public EDataType getLocale() {
/**
*
- *
* @generated
*/
@Override
@@ -1689,7 +1575,15 @@ public EEnum getStage() {
/**
*
- *
+ * @generated
+ */
+ @Override
+ public EDataType getClassLoader() {
+ return classLoaderEDataType;
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -1699,7 +1593,6 @@ public EDataType getProperties() {
/**
*
- *
* @generated
*/
@Override
@@ -1709,7 +1602,6 @@ public EDataType getIProgressMonitor() {
/**
*
- *
* @generated
*/
@Override
@@ -1719,7 +1611,6 @@ public EDataType getOSGiVersion() {
/**
*
- *
* @generated
*/
@Override
@@ -1729,7 +1620,6 @@ public EDataType getSemaphore() {
/**
*
- *
* @generated
*/
@Override
@@ -1739,7 +1629,6 @@ public EDataType getCoreException() {
/**
*
- *
* @generated
*/
@Override
@@ -1749,7 +1638,6 @@ public EDataType getInvocationTargetException() {
/**
*
- *
* @generated
*/
@Override
@@ -1759,7 +1647,6 @@ public EDataType getIStatus() {
/**
*
- *
* @generated
*/
@Override
@@ -1769,7 +1656,6 @@ public EDataType getURI() {
/**
*
- *
* @generated
*/
@Override
@@ -1779,7 +1665,6 @@ public EDataType getName_() {
/**
*
- *
* @generated
*/
@Override
@@ -1789,7 +1674,6 @@ public EDataType getException() {
/**
*
- *
* @generated
*/
@Override
@@ -1799,16 +1683,15 @@ public ClassMakerFactory getClassMakerFactory() {
/**
*
- *
* @generated
*/
private boolean isCreated = false;
/**
- * Creates the meta-model objects for the package. This method is guarded to
- * have no affect on any invocation but its first.
- *
* @generated
*/
public void createPackageContents() {
@@ -1839,22 +1722,19 @@ public void createPackageContents() {
createEAttribute(stateEClass, STATE__EDIT_DEPLOYABLE_UNIT_NAME);
createEAttribute(stateEClass, STATE__EDITOR_DEPLOYABLE_UNIT_NAME);
createEAttribute(stateEClass, STATE__JOB_FAMILY);
- createEReference(stateEClass, STATE__RESOURCE);
- createEAttribute(stateEClass, STATE__COMMIT_IDS);
createEAttribute(stateEClass, STATE__COMMIT_ID);
createEReference(stateEClass, STATE__STATE_CUSTOMIZERS);
+ createEReference(stateEClass, STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS);
createEAttribute(stateEClass, STATE__PROJECT_NAME);
createEAttribute(stateEClass, STATE__MAKING);
createEAttribute(stateEClass, STATE__EDIT);
createEAttribute(stateEClass, STATE__EDITOR);
createEReference(stateEClass, STATE__STRATEGY);
+ createEAttribute(stateEClass, STATE__BASE_PACKAGE);
strategyEClass = createEClass(STRATEGY);
- createEReference(strategyEClass, STRATEGY__GENERATORS);
- createEReference(strategyEClass, STRATEGY__EXPORTERS);
- createEReference(strategyEClass, STRATEGY__INSTALLERS);
- createEReference(strategyEClass, STRATEGY__LOADERS);
createEReference(strategyEClass, STRATEGY__STATE);
+ createEReference(strategyEClass, STRATEGY__WORKERS);
itemEClass = createEClass(ITEM);
createEAttribute(itemEClass, ITEM__MODEL_NAME);
@@ -1865,6 +1745,7 @@ public void createPackageContents() {
createEReference(itemEClass, ITEM__PARENT);
createEAttribute(itemEClass, ITEM__LOCALE);
createEReference(itemEClass, ITEM__PROJECT);
+ createEReference(itemEClass, ITEM__RESOURCE);
adapterEClass = createEClass(ADAPTER);
@@ -1872,8 +1753,10 @@ public void createPackageContents() {
createEReference(workspaceEClass, WORKSPACE__PROJECTS);
createEAttribute(workspaceEClass, WORKSPACE__RESOURCE_SET);
createEReference(workspaceEClass, WORKSPACE__CUSTOMIZERS);
+ createEReference(workspaceEClass, WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS);
createEReference(workspaceEClass, WORKSPACE__SERVICE);
createEReference(workspaceEClass, WORKSPACE__SCM_REGISTRY);
+ createEReference(workspaceEClass, WORKSPACE__EXCLUDED_EPACKAGES);
longToStateMapEntryEClass = createEClass(LONG_TO_STATE_MAP_ENTRY);
createEAttribute(longToStateMapEntryEClass, LONG_TO_STATE_MAP_ENTRY__KEY);
@@ -1893,6 +1776,8 @@ public void createPackageContents() {
customizerEClass = createEClass(CUSTOMIZER);
createEAttribute(customizerEClass, CUSTOMIZER__RANK);
+ createEAttribute(customizerEClass, CUSTOMIZER__EXCLUSIVE);
+ createEReference(customizerEClass, CUSTOMIZER__STAGE);
stageQualifierEClass = createEClass(STAGE_QUALIFIER);
createEAttribute(stageQualifierEClass, STAGE_QUALIFIER__STAGE);
@@ -1902,6 +1787,10 @@ public void createPackageContents() {
createEReference(stageQualifierToCustomizerMapEntryEClass, STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY__KEY);
createEReference(stageQualifierToCustomizerMapEntryEClass, STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY__VALUE);
+ stageQualifierToWorkersMapEntryEClass = createEClass(STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY);
+ createEReference(stageQualifierToWorkersMapEntryEClass, STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY);
+ createEReference(stageQualifierToWorkersMapEntryEClass, STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE);
+
modelsEClass = createEClass(MODELS);
createEReference(modelsEClass, MODELS__DYNAMIC);
createEReference(modelsEClass, MODELS__GENERATED);
@@ -1918,7 +1807,6 @@ public void createPackageContents() {
projectEClass = createEClass(PROJECT);
createEAttribute(projectEClass, PROJECT__NAME);
createEAttribute(projectEClass, PROJECT__PROJECT_NAME);
- createEAttribute(projectEClass, PROJECT__CHILDREN);
createEAttribute(projectEClass, PROJECT__DIRTY);
createEReference(projectEClass, PROJECT__WORKSPACE);
createEAttribute(projectEClass, PROJECT__RESOURCE_PATH);
@@ -1933,6 +1821,7 @@ public void createPackageContents() {
createEAttribute(projectEClass, PROJECT__VERSION);
createEReference(projectEClass, PROJECT__STATE);
createEReference(projectEClass, PROJECT__MODEL_RESOURCE_ADAPTER);
+ createEAttribute(projectEClass, PROJECT__CLASS_LOADER);
resourceEClass = createEClass(RESOURCE);
@@ -1971,6 +1860,7 @@ public void createPackageContents() {
stageEEnum = createEEnum(STAGE);
// Create data types
+ classLoaderEDataType = createEDataType(CLASS_LOADER);
propertiesEDataType = createEDataType(PROPERTIES);
iProgressMonitorEDataType = createEDataType(IPROGRESS_MONITOR);
osGiVersionEDataType = createEDataType(OS_GI_VERSION);
@@ -1987,7 +1877,6 @@ public void createPackageContents() {
/**
*
- *
* @generated
*/
private boolean isInitialized = false;
@@ -2081,6 +1970,9 @@ public void initializePackageContents() {
addEOperation(revisionEClass, this.getState(), "newState", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(revisionEClass, this.getState(), "newState", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getELong(), "timestamp", 0, 1, IS_UNIQUE, IS_ORDERED);
+
op = addEOperation(revisionEClass, null, "delete", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
addEException(op, this.getCoreException());
@@ -2120,16 +2012,14 @@ public void initializePackageContents() {
IS_DERIVED, IS_ORDERED);
initEAttribute(getState_JobFamily(), ecorePackage.getEString(), "jobFamily", null, 0, 1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getState_Resource(), this.getResource(), null, "resource", null, 0, 1, State.class, IS_TRANSIENT,
- !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
- IS_ORDERED);
- initEAttribute(getState_CommitIds(), ecorePackage.getEString(), "commitIds", null, 0, -1, State.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getState_CommitId(), ecorePackage.getEString(), "commitId", null, 0, 1, State.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getState_StateCustomizers(), this.getStageQualifierToCustomizerMapEntry(), null,
"stateCustomizers", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getState_NonExclusiveStateCustomizers(), this.getStageQualifierToCustomizerMapEntry(), null,
+ "nonExclusiveStateCustomizers", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getState_ProjectName(), ecorePackage.getEString(), "projectName", null, 0, 1, State.class,
IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getState_Making(), ecorePackage.getEBoolean(), "making", "false", 0, 1, State.class,
@@ -2141,6 +2031,8 @@ public void initializePackageContents() {
initEReference(getState_Strategy(), this.getStrategy(), this.getStrategy_State(), "strategy", null, 0, 1,
State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getState_BasePackage(), ecorePackage.getEString(), "basePackage", null, 0, 1, State.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
op = addEOperation(stateEClass, null, "setProjectVersion", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2171,29 +2063,12 @@ public void initializePackageContents() {
initEClass(strategyEClass, Strategy.class, "Strategy", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
- initEReference(getStrategy_Generators(), this.getWorker(), null, "generators", null, 0, -1, Strategy.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getStrategy_Exporters(), this.getWorker(), null, "exporters", null, 0, -1, Strategy.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getStrategy_Installers(), this.getWorker(), null, "installers", null, 0, -1, Strategy.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getStrategy_Loaders(), this.getWorker(), null, "loaders", null, 0, -1, Strategy.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
- IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStrategy_State(), this.getState(), this.getState_Strategy(), "state", null, 0, 1,
Strategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- addEOperation(strategyEClass, this.getWorker(), "createGenerator", 0, 1, IS_UNIQUE, IS_ORDERED);
-
- addEOperation(strategyEClass, this.getWorker(), "createExporter", 0, 1, IS_UNIQUE, IS_ORDERED);
-
- addEOperation(strategyEClass, this.getWorker(), "createInstaller", 0, 1, IS_UNIQUE, IS_ORDERED);
-
- addEOperation(strategyEClass, this.getWorker(), "createModelLoader", 0, 1, IS_UNIQUE, IS_ORDERED);
+ initEReference(getStrategy_Workers(), this.getStageQualifierToWorkersMapEntry(), null, "workers", null, 0, -1,
+ Strategy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(strategyEClass, this.getWorker(), "getReturnWorker", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2204,6 +2079,10 @@ public void initializePackageContents() {
op = addEOperation(strategyEClass, null, "configuteBuildJobs", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(strategyEClass, this.getWorker(), "get", 0, -1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, this.getStage(), "stage", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEParameter(op, ecorePackage.getEString(), "step", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(itemEClass, Item.class, "Item", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getItem_ModelName(), ecorePackage.getEString(), "modelName", null, 0, 1, Item.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2225,6 +2104,9 @@ public void initializePackageContents() {
initEReference(getItem_Project(), this.getProject(), null, "project", null, 0, 1, Item.class, IS_TRANSIENT,
IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED,
IS_ORDERED);
+ initEReference(getItem_Resource(), this.getResource(), null, "resource", null, 0, 1, Item.class, IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
op = addEOperation(itemEClass, null, "load", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEBoolean(), "create", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2239,8 +2121,7 @@ public void initializePackageContents() {
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
addEException(op, this.getCoreException());
- op = addEOperation(itemEClass, ecorePackage.getEString(), "initialize", 0, 1, IS_UNIQUE, IS_ORDERED);
- addEParameter(op, ecorePackage.getEBoolean(), "commit", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEOperation(itemEClass, ecorePackage.getEString(), "initialize", 0, 1, IS_UNIQUE, IS_ORDERED);
op = addEOperation(itemEClass, null, "copyModel", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getItem(), "from", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2258,6 +2139,9 @@ public void initializePackageContents() {
initEReference(getWorkspace_Customizers(), this.getStageQualifierToCustomizerMapEntry(), null, "customizers",
null, 0, -1, Workspace.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkspace_NonExclusiveCustomizers(), this.getStageQualifierToCustomizerMapEntry(), null,
+ "nonExclusiveCustomizers", null, 0, -1, Workspace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkspace_Service(), this.getClassMakerService(), this.getClassMakerService_Workspace(),
"service", null, 0, 1, Workspace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2267,6 +2151,9 @@ public void initializePackageContents() {
initEReference(getWorkspace_SCMRegistry(), g1, null, "SCMRegistry", null, 0, 1, Workspace.class, !IS_TRANSIENT,
!IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
IS_ORDERED);
+ initEReference(getWorkspace_ExcludedEPackages(), ecorePackage.getEPackage(), null, "excludedEPackages", null, 0,
+ -1, Workspace.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(workspaceEClass, null, "initialize", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2360,10 +2247,24 @@ public void initializePackageContents() {
IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getCustomizer_Rank(), ecorePackage.getEInt(), "rank", null, 0, 1, Customizer.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCustomizer_Exclusive(), ecorePackage.getEBoolean(), "exclusive", "true", 0, 1,
+ Customizer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getCustomizer_Stage(), this.getStageQualifier(), null, "stage", null, 0, 1, Customizer.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
op = addEOperation(customizerEClass, ecorePackage.getEJavaObject(), "customize", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEJavaObject(), "args", 0, -1, IS_UNIQUE, IS_ORDERED);
+ op = addEOperation(customizerEClass, ecorePackage.getEBoolean(), "isNextAfter", 0, 1, IS_UNIQUE, IS_ORDERED);
+ g1 = createEGenericType(ecorePackage.getEJavaClass());
+ g2 = createEGenericType();
+ g1.getETypeArguments().add(g2);
+ EGenericType g3 = createEGenericType(this.getCustomizer());
+ g2.setEUpperBound(g3);
+ addEParameter(op, g1, "customizerClass", 0, 1, IS_UNIQUE, IS_ORDERED);
+
initEClass(stageQualifierEClass, StageQualifier.class, "StageQualifier", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStageQualifier_Stage(), this.getStage(), "stage", null, 0, 1, StageQualifier.class,
@@ -2380,6 +2281,15 @@ public void initializePackageContents() {
Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(stageQualifierToWorkersMapEntryEClass, Map.Entry.class, "StageQualifierToWorkersMapEntry",
+ !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStageQualifierToWorkersMapEntry_Key(), this.getStageQualifier(), null, "key", null, 0, 1,
+ Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStageQualifierToWorkersMapEntry_Value(), this.getWorker(), null, "value", null, 0, -1,
+ Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
initEClass(modelsEClass, Models.class, "Models", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModels_Dynamic(), ecorePackage.getEObject(), null, "dynamic", null, 0, 1, Models.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
@@ -2494,8 +2404,6 @@ public void initializePackageContents() {
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProject_ProjectName(), ecorePackage.getEString(), "projectName", "", 0, 1, Project.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getProject_Children(), ecorePackage.getEJavaObject(), "children", null, 0, -1, Project.class,
- IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getProject_Dirty(), ecorePackage.getEBoolean(), "dirty", null, 0, 1, Project.class, IS_TRANSIENT,
!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProject_Workspace(), this.getWorkspace(), this.getWorkspace_Projects(), "workspace", null, 0,
@@ -2535,6 +2443,8 @@ public void initializePackageContents() {
initEReference(getProject_ModelResourceAdapter(), this.getResourceAdapter(), this.getResourceAdapter_Project(),
"modelResourceAdapter", null, 0, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE,
IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getProject_ClassLoader(), this.getClassLoader(), "classLoader", null, 0, 1, Project.class,
+ !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
op = addEOperation(projectEClass, null, "create", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2563,8 +2473,7 @@ public void initializePackageContents() {
addEParameter(op, this.getIProgressMonitor(), "monitor", 0, 1, IS_UNIQUE, IS_ORDERED);
addEException(op, this.getCoreException());
- op = addEOperation(projectEClass, ecorePackage.getEString(), "initialize", 0, 1, IS_UNIQUE, IS_ORDERED);
- addEParameter(op, ecorePackage.getEBoolean(), "commit", 0, 1, IS_UNIQUE, IS_ORDERED);
+ addEOperation(projectEClass, ecorePackage.getEString(), "initialize", 0, 1, IS_UNIQUE, IS_ORDERED);
op = addEOperation(projectEClass, null, "addCompletionListener", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, this.getCompletionListener(), "resultListener", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2732,7 +2641,7 @@ public void initializePackageContents() {
g1 = createEGenericType(this.getFuture());
g2 = createEGenericType();
g1.getETypeArguments().add(g2);
- EGenericType g3 = createEGenericType(ecorePackage.getEObject());
+ g3 = createEGenericType(ecorePackage.getEObject());
g2.setEUpperBound(g3);
initEOperation(op, g1);
@@ -2925,6 +2834,8 @@ public void initializePackageContents() {
addEEnumLiteral(stageEEnum, Stage.LOADED);
// Initialize data types
+ initEDataType(classLoaderEDataType, ClassLoader.class, "ClassLoader", IS_SERIALIZABLE,
+ !IS_GENERATED_INSTANCE_CLASS);
initEDataType(propertiesEDataType, Properties.class, "Properties", IS_SERIALIZABLE,
!IS_GENERATED_INSTANCE_CLASS);
initEDataType(iProgressMonitorEDataType, IProgressMonitor.class, "IProgressMonitor", IS_SERIALIZABLE,
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerServiceImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerServiceImpl.java
index ff946b2f..9202efd3 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerServiceImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ClassMakerServiceImpl.java
@@ -56,6 +56,7 @@
import org.eclipse.m2m.qvt.oml.ExecutionDiagnostic;
import org.eclipse.m2m.qvt.oml.ModelExtent;
import org.eclipse.m2m.qvt.oml.TransformationExecutor;
+import org.eclipse.osgi.util.NLS;
import org.enterprisedomain.classmaker.Blueprint;
import org.enterprisedomain.classmaker.ClassMakerFactory;
import org.enterprisedomain.classmaker.ClassMakerPackage;
@@ -78,17 +79,15 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl#getWorkspace
- * Workspace }
+ * {@link org.enterprisedomain.classmaker.impl.ClassMakerServiceImpl#getWorkspace Workspace }
*
*
* @generated
*/
public class ClassMakerServiceImpl extends EObjectImpl implements ClassMakerService {
/**
- * The cached value of the '{@link #getWorkspace() Workspace }'
- * containment reference.
- *
+ * The cached value of the '{@link #getWorkspace() Workspace }' containment reference.
+ *
* @see #getWorkspace()
* @generated
* @ordered
@@ -171,7 +170,6 @@ public ClassMakerServiceImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -181,7 +179,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -191,7 +188,6 @@ public Workspace getWorkspace() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetWorkspace(Workspace newWorkspace, NotificationChain msgs) {
@@ -210,7 +206,6 @@ public NotificationChain basicSetWorkspace(Workspace newWorkspace, NotificationC
/**
*
- *
* @generated
*/
@Override
@@ -388,7 +383,7 @@ public EObject replace(Blueprint source, Blueprint target, Version version, IPro
State state = revision.getState();
state.copyModel(contribution.getState());
revision.create(monitor);
- String commitId = state.initialize(true);
+ String commitId = state.initialize();
contribution.checkout(revision.getVersion(), state.getTimestamp(), commitId);
} else if (version.compareTo(contribution.getVersion()) < 0) {
if (!contribution.getRevisions().containsKey(version))
@@ -668,6 +663,14 @@ public Blueprint createBlueprint() {
* @generated NOT
*/
public String computeProjectName(String packageName) {
+ if (packageName.endsWith(".edit"))
+ packageName = packageName.substring(0, packageName.lastIndexOf(".edit"));
+ if (packageName.isEmpty())
+ packageName = ".edit";
+ if (packageName.endsWith(".editor"))
+ packageName = packageName.substring(0, packageName.lastIndexOf(".editor"));
+ if (packageName.isEmpty())
+ packageName = ".editor";
return CodeGenUtil.safeName(packageName.toLowerCase());
}
@@ -686,6 +689,7 @@ public T copy(T original) {
* @generated NOT
*/
public void initialize() {
+ ClassMakerPlugin.print("Initializing service");
initializing = true;
getWorkspace().setService(this);
ClassMakerService.Stages.contributeStages();
@@ -694,12 +698,16 @@ public void initialize() {
try {
Resource workspaceResource = WorkspaceImpl.RESOURCE_SET_EDEFAULT.getResource(uri, true);
try {
+ ClassMakerPlugin.print("Loading workspace resource");
workspaceResource.load(Collections.emptyMap());
if (!workspaceResource.getContents().isEmpty()) {
setWorkspace(EcoreUtil.copy((Workspace) workspaceResource.getContents().get(0)));
for (Project project : getWorkspace().getProjects()) {
- if (project.eIsSet(ClassMakerPackage.Literals.PROJECT__STATE))
+ if (project.eIsSet(ClassMakerPackage.Literals.PROJECT__STATE)) {
+ ClassMakerPlugin.print(NLS.bind("Project {0} state {1} load", project.getName(),
+ project.getState().getTimestamp()));
project.getState().load(false, true);
+ }
}
} else
getWorkspace().initialize();
@@ -725,7 +733,6 @@ public void dispose() {
/**
*
- *
* @generated
*/
@Override
@@ -742,7 +749,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -756,7 +762,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -770,7 +775,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -785,7 +789,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -800,7 +803,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionListenerImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionListenerImpl.java
index c6699131..b2eb8560 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionListenerImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionListenerImpl.java
@@ -30,7 +30,6 @@
public abstract class CompletionListenerImpl extends EObjectImpl implements CompletionListener {
/**
*
- *
* @generated
*/
protected CompletionListenerImpl() {
@@ -39,7 +38,6 @@ protected CompletionListenerImpl() {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionNotificationAdapterImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionNotificationAdapterImpl.java
index f955e101..614e4790 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionNotificationAdapterImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CompletionNotificationAdapterImpl.java
@@ -35,10 +35,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl#getError
- * Error }
- * {@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl#getError Error }
+ * {@link org.enterprisedomain.classmaker.impl.CompletionNotificationAdapterImpl#getProject Project }
*
*
* @generated
@@ -67,7 +65,6 @@ public class CompletionNotificationAdapterImpl extends EObjectImpl implements Co
/**
* The cached value of the '{@link #getProject() Project }' reference.
*
- *
* @see #getProject()
* @generated
* @ordered
@@ -76,7 +73,6 @@ public class CompletionNotificationAdapterImpl extends EObjectImpl implements Co
/**
*
- *
* @generated
*/
protected CompletionNotificationAdapterImpl() {
@@ -85,7 +81,6 @@ protected CompletionNotificationAdapterImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -95,7 +90,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -105,7 +99,6 @@ public IStatus getError() {
/**
*
- *
* @generated
*/
@Override
@@ -124,7 +117,6 @@ public Project getProject() {
/**
*
- *
* @generated
*/
public Project basicGetProject() {
@@ -133,7 +125,6 @@ public Project basicGetProject() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetProject(Project newProject, NotificationChain msgs) {
@@ -152,7 +143,6 @@ public NotificationChain basicSetProject(Project newProject, NotificationChain m
/**
*
- *
* @generated
*/
@Override
@@ -175,7 +165,6 @@ public void setProject(Project newProject) {
/**
*
- *
* @generated
*/
@Override
@@ -192,7 +181,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -246,7 +234,6 @@ public void setTarget(Notifier newTarget) {
/**
*
- *
* @generated
*/
@Override
@@ -264,7 +251,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -279,7 +265,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -294,7 +279,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -310,7 +294,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ContributionImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ContributionImpl.java
index 605786dd..8c85aa93 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ContributionImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ContributionImpl.java
@@ -15,11 +15,10 @@
*/
package org.enterprisedomain.classmaker.impl;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
-import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -32,7 +31,6 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.codegen.util.CodeGenUtil;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.ECollections;
@@ -41,19 +39,10 @@
import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EPackage.Registry;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.ListBranchCommand;
-import org.eclipse.jgit.api.ReflogCommand;
import org.eclipse.jgit.api.errors.JGitInternalException;
-import org.eclipse.jgit.errors.LockFailedException;
-import org.eclipse.jgit.lib.Ref;
-import org.eclipse.jgit.lib.ReflogEntry;
import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.CompletionListener;
import org.enterprisedomain.classmaker.Contribution;
@@ -62,7 +51,6 @@
import org.enterprisedomain.classmaker.Models;
import org.enterprisedomain.classmaker.Project;
import org.enterprisedomain.classmaker.Revision;
-import org.enterprisedomain.classmaker.SCMOperator;
import org.enterprisedomain.classmaker.Stage;
import org.enterprisedomain.classmaker.StageQualifier;
import org.enterprisedomain.classmaker.State;
@@ -78,10 +66,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ContributionImpl#getDependencies
- * Dependencies }
- * {@link org.enterprisedomain.classmaker.impl.ContributionImpl#getLatestVersion
- * Latest Version }
+ * {@link org.enterprisedomain.classmaker.impl.ContributionImpl#getDependencies Dependencies }
+ * {@link org.enterprisedomain.classmaker.impl.ContributionImpl#getLatestVersion Latest Version }
*
*
* @generated
@@ -89,9 +75,8 @@
public class ContributionImpl extends ProjectImpl implements Contribution {
/**
- * The default value of the '{@link #getLatestVersion() Latest
- * Version }' attribute.
- *
+ * The default value of the '{@link #getLatestVersion() Latest Version }' attribute.
+ *
* @see #getLatestVersion()
* @generated
* @ordered
@@ -102,18 +87,12 @@ public class ContributionImpl extends ProjectImpl implements Contribution {
@Override
public void completed(Project result) throws Exception {
addResourceChangeListener(getResourceReloadListener());
- // if (getState().getPhase().equals(Stage.LOADED)) {
- // EPackage ePackage = (EPackage) getState().getDomainModel().getGenerated();
- // if (ePackage != null)
- // Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
- // }
}
};
/**
*
- *
* @generated
*/
protected ContributionImpl() {
@@ -122,7 +101,6 @@ protected ContributionImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -185,31 +163,18 @@ public State basicGetState() {
public Version getLatestVersion() {
if (!isRevisionSet() || getRevisions().isEmpty())
return Version.emptyVersion;
- List sorted = new ArrayList();
+ List sorted = new LinkedList();
sorted.addAll((Collection extends org.osgi.framework.Version>) getRevisions().keySet());
Collections.sort(sorted, new Comparator() {
@Override
public int compare(org.osgi.framework.Version o1, org.osgi.framework.Version o2) {
- return o1.getMajor() - o2.getMajor() + o1.getMinor() - o2.getMinor() + o1.getMicro() - o2.getMicro();
+ return o1.compareTo(o2);
}
});
return ListUtil.getLast(sorted);
}
- /**
- *
- *
- * @generated NOT
- */
- public void copyModel(Item from) {
- setModelName(from.getModelName());
- setLanguage(from.getLanguage());
- EObject eObject = from.getDomainModel().getDynamic();
- if (eObject != null)
- getDomainModel().setDynamic(EcoreUtil.copy(eObject));
- }
-
/**
*
*
@@ -286,94 +251,6 @@ public Item basicGetParent() {
public void setParent(Item newParent) {
}
- /**
- *
- *
- * @generated NOT
- */
- public String initialize(boolean commit) {
- @SuppressWarnings("unchecked")
- SCMOperator operator = (SCMOperator) getWorkspace().getSCMRegistry().get(getProjectName());
- setName(getModelName() != null ? getModelName() : CodeGenUtil.capName(getProjectName()));
- try {
- Git git = operator.getRepositorySCM();
- // if (git == null)
- // return "";
- String currentBranch = git.getRepository().getBranch();
-
- ListBranchCommand listBranches = git.branchList();
- List[ branches = listBranches.call();
- Iterator][ it = branches.iterator();
- Ref branch = null;
- long timestamp = -1;
- String commitId = "";
- do {
- Version version = null;
- if (it.hasNext()) {
- branch = it.next();
- String[] name = branch.getName().split("/"); //$NON-NLS-1$
- try {
- version = operator.decodeVersion(name[name.length - 1]);
- ReflogCommand reflog = git.reflog();
- reflog.setRef(branch.getName().toString());
- Collection] refs = reflog.call();
- for (ReflogEntry ref : refs)
- if (ref.getNewId().equals(branch.getObjectId())) {
- timestamp = operator.decodeTimestamp(ref.getComment());
- if (timestamp == -1)
- timestamp = operator.decodeTimestamp(version.getQualifier());
- }
- } catch (IllegalArgumentException e) {
- continue;
- }
- }
- if (version != null && !getRevisions().containsKey(version)) {
- Revision newRevision = newBareRevision(version);
- newRevision.setTimestamp(timestamp);
- newRevision.setProject(this);
- doNewRevision(newRevision);
- commitId = newRevision.initialize(commit);
- }
- } while (it.hasNext());
- if (!getRevisions().isEmpty() && getVersion().equals(Version.emptyVersion))
- setVersion(ListUtil.getLast(getRevisions()).getKey());
- else if (!getVersion().equals(Version.emptyVersion)) {
- if (isStateSet()) {
- try {
- getState().add(".");
- getState().commit();
- } catch (JGitInternalException e) {
- }
- }
- checkout(getVersion(), timestamp);
- }
- if (currentBranch.equals(SCMOperator.MASTER_BRANCH))
- checkout(getVersion(), timestamp);
- if (!getWorkspace().getResourceSet().eAdapters().contains(resourceChangeAdapter))
- getWorkspace().getResourceSet().eAdapters().add(resourceChangeAdapter);
- addResourceChangeListener(getResourceReloadListener());
- if (getPhase().equals(Stage.MODELED)) {
- EPackage ePackage = (EPackage) getDomainModel().getDynamic();
- if (ePackage != null)
- Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
- } else if (getPhase().equals(Stage.LOADED)) {
- EPackage ePackage = (EPackage) getDomainModel().getGenerated();
- if (ePackage != null)
- Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
- }
- return commitId;
- } catch (Exception e) {
- ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
- return null;
- } finally {
- try {
- operator.ungetRepositorySCM();
- } catch (Exception e) {
- ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
- }
- }
- }
-
@Override
public void create(IProgressMonitor monitor) throws CoreException {
super.create(monitor);
@@ -403,27 +280,18 @@ public String make(Revision revision, IProgressMonitor monitor) throws CoreExcep
@Override
public String make(IProgressMonitor monitor) throws CoreException {
removeResourceChangeListener(getResourceReloadListener());
- String result = // "";
-// try {
-// result =
- make(getRevision(), monitor);
-// } catch (CoreException e) {
-// if (e.getCause() instanceof InvocationTargetException) {
-// InvocationTargetException ex = (InvocationTargetException) e.getCause();
-// if (ex.getCause() instanceof Error) {
-// ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD, monitor);
-// result = make(getRevision(), monitor);
-// }
-// } else
-// throw e;
-// }
+ String result = make(getRevision(), monitor);
setDirty(false);
return result;
}
@Override
public void doNewRevision(Revision newRevision) {
- State newState = newRevision.newState();
+ State newState = null;
+ if (newRevision.eIsSet(ClassMakerPackage.Literals.REVISION__TIMESTAMP))
+ newState = newRevision.newState(newRevision.getTimestamp());
+ else
+ newState = newRevision.newState();
if (isStateSet())
newState.copyModel(getState());
initAdapters(newRevision);
@@ -558,7 +426,7 @@ public void delete(IProgressMonitor monitor) throws CoreException {
public void delete(EList objects) {
if (!isStateSet())
return;
- boolean removed = ((Resource) getChildren().get(0)).getContents().removeAll(objects);
+ boolean removed = getState().getResource().getContents().removeAll(objects);
if (removed)
return;
@@ -576,7 +444,6 @@ public void delete(EList objects) {
/**
*
- *
* @generated
*/
@Override
@@ -592,7 +459,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomClassLoader.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomClassLoader.java
new file mode 100644
index 00000000..9d9555b5
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomClassLoader.java
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * Copyright (c) 2015, 2018 Willink Transformations and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ *
+ * Contributors:
+ * E.D.Willink - initial API and implementation
+ *******************************************************************************/
+package org.enterprisedomain.classmaker.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.Version;
+
+public class CustomClassLoader extends ClassLoader {
+
+ protected final @NonNull Bundle bundle;
+ protected final @NonNull List<@NonNull String> qualifiedPackageNames;
+ protected final @Nullable ClassLoader fallBackClassLoader;
+
+ private final @NonNull Map> hitsAndMisses = new HashMap>(); // Miss signalled by
+ // ExplicitClassLoader.class
+
+ public CustomClassLoader(@NonNull Bundle bundle, @NonNull String qualifiedPackageName) {
+ this(bundle, qualifiedPackageName, null);
+ }
+
+ public CustomClassLoader(@NonNull Bundle bundle, @NonNull String qualifiedPackageName,
+ @Nullable ClassLoader fallBackClassLoader) {
+ this(bundle, Collections.singletonList(qualifiedPackageName), fallBackClassLoader);
+ }
+
+ public CustomClassLoader(@NonNull Bundle bundle, @NonNull List<@NonNull String> qualifiedPackageNames,
+ @Nullable ClassLoader fallBackClassLoader) {
+ this.bundle = bundle;
+ this.qualifiedPackageNames = qualifiedPackageNames;
+ this.fallBackClassLoader = fallBackClassLoader;
+ }
+
+ /**
+ * Re-implement to load any class sharing qualifiedClassNamePrefix from the
+ * explicitClassPath. Other classes are loaded normally.
+ */
+ @Override
+ protected Class> loadClass(String name, boolean resolve) throws ClassNotFoundException {
+ int index = name.lastIndexOf(".");
+ String packageName = index >= 0 ? name.substring(0, index) : "";
+ if (qualifiedPackageNames.contains(packageName)) {
+ Class> hitOrMiss = hitsAndMisses.get(name);
+ if (hitOrMiss != null) {
+ if (hitOrMiss == CustomClassLoader.class) {
+ throw new ClassNotFoundException("Attempted reload of '" + name + "' failed");
+ } else {
+ return hitOrMiss;
+ }
+ }
+ try {
+ hitOrMiss = loadExplicitClass(name, resolve);
+ hitsAndMisses.put(name, hitOrMiss);
+ return hitOrMiss;
+ } catch (IOException e) {
+ hitsAndMisses.put(name, CustomClassLoader.class);
+ throw new ClassNotFoundException(e.getMessage(), e);
+ }
+ }
+ Class> result = bundle.loadClass(name);
+ if (result != null)
+ return result;
+ if (fallBackClassLoader != null) {
+ return fallBackClassLoader.loadClass(name);
+ } else {
+ return super.loadClass(name, resolve);
+ }
+ }
+
+ /**
+ * Load the class whose Java name is qualifiedClassName and whose class file can
+ * be found below explicitClassPath. This method always loads the class and so
+ * ignores any previously cached loads.
+ */
+ private @Nullable Class> loadExplicitClass(@NonNull String qualifiedClassName, boolean resolve)
+ throws ClassNotFoundException, IOException {
+ String filePath = qualifiedClassName.replaceAll("\\.", "/") + ".class";
+ URL url = bundle.getEntry("/bin/" + filePath);
+ if (url == null)
+ return Class.forName(qualifiedClassName, true, fallBackClassLoader);
+ InputStream inputStream = FileLocator.toFileURL(url).openStream();
+ ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+ try {
+ int bytes;
+ byte[] byteArray = new byte[16384];
+ while ((bytes = inputStream.read(byteArray)) >= 0) {
+ byteStream.write(byteArray, 0, bytes);
+ }
+ } finally {
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+ }
+ }
+ byte[] classBytes = byteStream.toByteArray();
+ Class> theClass = defineClass(qualifiedClassName, classBytes, 0, classBytes.length);
+ if (theClass == null) {
+ return null;
+ }
+ Package thePackage = theClass.getPackage();
+ if (thePackage == null) {
+ String packageName = qualifiedClassName.replaceAll("\\.\\w+$", "");
+ definePackage(packageName, null, null, null, null, null, null, null);
+ }
+ if (resolve) {
+ resolveClass(theClass);
+ }
+ return theClass;
+ }
+
+ public Version getBundleVersion() {
+ return bundle.getVersion();
+ }
+
+}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomizerImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomizerImpl.java
index 1374d0b6..220c53fd 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomizerImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/CustomizerImpl.java
@@ -5,10 +5,12 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.Customizer;
+import org.enterprisedomain.classmaker.StageQualifier;
/**
* An implementation of the model object '
@@ -17,8 +19,9 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.CustomizerImpl#getRank
- * Rank }
+ * {@link org.enterprisedomain.classmaker.impl.CustomizerImpl#getRank Rank }
+ * {@link org.enterprisedomain.classmaker.impl.CustomizerImpl#isExclusive Exclusive }
+ * {@link org.enterprisedomain.classmaker.impl.CustomizerImpl#getStage Stage }
*
*
* @generated
@@ -43,6 +46,33 @@ public class CustomizerImpl extends EObjectImpl implements Customizer {
*/
protected int rank = RANK_EDEFAULT;
+ /**
+ * The default value of the '{@link #isExclusive() Exclusive }' attribute.
+ *
+ * @see #isExclusive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EXCLUSIVE_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isExclusive() Exclusive }' attribute.
+ *
+ * @see #isExclusive()
+ * @generated
+ * @ordered
+ */
+ protected boolean exclusive = EXCLUSIVE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getStage() Stage }' reference.
+ *
+ * @see #getStage()
+ * @generated
+ * @ordered
+ */
+ protected StageQualifier stage;
+
/**
*
*
@@ -54,7 +84,6 @@ public CustomizerImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -64,7 +93,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -74,7 +102,6 @@ public int getRank() {
/**
*
- *
* @generated
*/
@Override
@@ -85,11 +112,73 @@ public void setRank(int newRank) {
eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.CUSTOMIZER__RANK, oldRank, rank));
}
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public boolean isExclusive() {
+ return exclusive;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setExclusive(boolean newExclusive) {
+ boolean oldExclusive = exclusive;
+ exclusive = newExclusive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.CUSTOMIZER__EXCLUSIVE, oldExclusive,
+ exclusive));
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public StageQualifier getStage() {
+ if (stage != null && stage.eIsProxy()) {
+ InternalEObject oldStage = (InternalEObject) stage;
+ stage = (StageQualifier) eResolveProxy(oldStage);
+ if (stage != oldStage) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ClassMakerPackage.CUSTOMIZER__STAGE,
+ oldStage, stage));
+ }
+ }
+ return stage;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ public StageQualifier basicGetStage() {
+ return stage;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setStage(StageQualifier newStage) {
+ StageQualifier oldStage = stage;
+ stage = newStage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.CUSTOMIZER__STAGE, oldStage,
+ stage));
+ }
+
/**
*
*
* @generated NOT
*/
+ @Override
public Object customize(EList args) {
return null;
}
@@ -97,6 +186,15 @@ public Object customize(EList args) {
/**
*
*
+ * @generated NOT
+ */
+ @Override
+ public boolean isNextAfter(Class extends Customizer> customizerClass) {
+ return false;
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -104,13 +202,18 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case ClassMakerPackage.CUSTOMIZER__RANK:
return getRank();
+ case ClassMakerPackage.CUSTOMIZER__EXCLUSIVE:
+ return isExclusive();
+ case ClassMakerPackage.CUSTOMIZER__STAGE:
+ if (resolve)
+ return getStage();
+ return basicGetStage();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
- *
* @generated
*/
@Override
@@ -119,13 +222,18 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.CUSTOMIZER__RANK:
setRank((Integer) newValue);
return;
+ case ClassMakerPackage.CUSTOMIZER__EXCLUSIVE:
+ setExclusive((Boolean) newValue);
+ return;
+ case ClassMakerPackage.CUSTOMIZER__STAGE:
+ setStage((StageQualifier) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
/**
*
- *
* @generated
*/
@Override
@@ -134,13 +242,18 @@ public void eUnset(int featureID) {
case ClassMakerPackage.CUSTOMIZER__RANK:
setRank(RANK_EDEFAULT);
return;
+ case ClassMakerPackage.CUSTOMIZER__EXCLUSIVE:
+ setExclusive(EXCLUSIVE_EDEFAULT);
+ return;
+ case ClassMakerPackage.CUSTOMIZER__STAGE:
+ setStage((StageQualifier) null);
+ return;
}
super.eUnset(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -148,13 +261,16 @@ public boolean eIsSet(int featureID) {
switch (featureID) {
case ClassMakerPackage.CUSTOMIZER__RANK:
return rank != RANK_EDEFAULT;
+ case ClassMakerPackage.CUSTOMIZER__EXCLUSIVE:
+ return exclusive != EXCLUSIVE_EDEFAULT;
+ case ClassMakerPackage.CUSTOMIZER__STAGE:
+ return stage != null;
}
return super.eIsSet(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -165,6 +281,8 @@ public String toString() {
StringBuilder result = new StringBuilder(super.toString());
result.append(" (rank: ");
result.append(rank);
+ result.append(", exclusive: ");
+ result.append(exclusive);
result.append(')');
return result.toString();
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ItemImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ItemImpl.java
index e98db3c4..19493377 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ItemImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ItemImpl.java
@@ -28,6 +28,7 @@
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
import org.enterprisedomain.classmaker.ClassMakerFactory;
@@ -47,31 +48,23 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getModelName
- * Model Name }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getPhase
- * Phase }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getLanguage
- * Language }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getDomainModel
- * Domain Model }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getCustomizers
- * Customizers }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getParent
- * Parent }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getLocale
- * Locale }
- * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getModelName Model Name }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getPhase Phase }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getLanguage Language }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getDomainModel Domain Model }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getCustomizers Customizers }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getParent Parent }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getLocale Locale }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getProject Project }
+ * {@link org.enterprisedomain.classmaker.impl.ItemImpl#getResource Resource }
*
*
* @generated
*/
public abstract class ItemImpl extends EObjectImpl implements Item {
/**
- * The default value of the '{@link #getModelName() Model Name }'
- * attribute.
- *
+ * The default value of the '{@link #getModelName() Model Name }' attribute.
+ *
* @see #getModelName()
* @generated
* @ordered
@@ -79,9 +72,8 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
protected static final String MODEL_NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getModelName() Model Name }'
- * attribute.
- *
+ * The cached value of the '{@link #getModelName() Model Name }' attribute.
+ *
* @see #getModelName()
* @generated
* @ordered
@@ -119,9 +111,8 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
protected static final Version VERSION_EDEFAULT = Version.emptyVersion;
/**
- * The default value of the '{@link #getLanguage() Language }'
- * attribute.
- *
+ * The default value of the '{@link #getLanguage() Language }' attribute.
+ *
* @see #getLanguage()
* @generated
* @ordered
@@ -131,7 +122,6 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
/**
* The cached value of the '{@link #getLanguage() Language }' attribute.
*
- *
* @see #getLanguage()
* @generated
* @ordered
@@ -139,9 +129,8 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
protected String language = LANGUAGE_EDEFAULT;
/**
- * The cached value of the '{@link #getDomainModel() Domain Model }'
- * containment reference.
- *
+ * The cached value of the '{@link #getDomainModel() Domain Model }' containment reference.
+ *
* @see #getDomainModel()
* @generated
* @ordered
@@ -151,7 +140,6 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
/**
* The default value of the '{@link #getLocale() Locale }' attribute.
*
- *
* @see #getLocale()
* @generated
* @ordered
@@ -161,6 +149,15 @@ public abstract class ItemImpl extends EObjectImpl implements Item {
protected Locale locale;
+ /**
+ * The cached value of the '{@link #getResource() Resource }' reference.
+ *
+ * @see #getResource()
+ * @generated
+ * @ordered
+ */
+ protected Resource resource;
+
/**
*
*
@@ -173,7 +170,6 @@ protected ItemImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -183,7 +179,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -193,7 +188,6 @@ public String getModelName() {
/**
*
- *
* @generated
*/
@Override
@@ -207,7 +201,6 @@ public void setModelName(String newModelName) {
/**
*
- *
* @generated
*/
@Override
@@ -217,7 +210,6 @@ public Stage getPhase() {
/**
*
- *
* @generated
*/
@Override
@@ -242,7 +234,6 @@ public Locale getLocale() {
/**
*
- *
* @generated
*/
@Override
@@ -255,7 +246,6 @@ public void setLocale(Locale newLocale) {
/**
*
- *
* @generated
*/
@Override
@@ -282,6 +272,28 @@ public void setProject(Project newProject) {
throw new UnsupportedOperationException();
}
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public Resource getResource() {
+ return resource;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setResource(Resource newResource) {
+ Resource oldResource = resource;
+ resource = newResource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.ITEM__RESOURCE, oldResource,
+ resource));
+ }
+
/**
*
*
@@ -293,7 +305,6 @@ public void load(boolean create, boolean loadOnDemand) throws CoreException {
/**
*
- *
* @generated
*/
@Override
@@ -303,7 +314,6 @@ public String getLanguage() {
/**
*
- *
* @generated
*/
@Override
@@ -317,7 +327,6 @@ public void setLanguage(String newLanguage) {
/**
*
- *
* @generated
*/
@Override
@@ -327,7 +336,6 @@ public Models getDomainModel() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetDomainModel(Models newDomainModel, NotificationChain msgs) {
@@ -346,7 +354,6 @@ public NotificationChain basicSetDomainModel(Models newDomainModel, Notification
/**
*
- *
* @generated
*/
@Override
@@ -378,7 +385,6 @@ public EMap getCustomizers() {
/**
*
- *
* @generated
*/
@Override
@@ -428,7 +434,7 @@ public void build(IProgressMonitor monitor) throws CoreException {
*
* @generated NOT
*/
- public String initialize(boolean commit) {
+ public String initialize() {
if (!eIsSet(ClassMakerPackage.Literals.ITEM__PARENT))
return null;
copyModel(getParent());
@@ -453,8 +459,10 @@ public void copyModel(Item from) {
eEditObject = from.getDomainModel().getGeneratedEdit();
eEditorObject = from.getDomainModel().getGeneratedEditor();
}
- if (eObject != null)
- getDomainModel().setDynamic(EcoreUtil.copy(eObject));
+ if (eObject != null) {
+ EObject copy = EcoreUtil.copy(eObject);
+ getDomainModel().setDynamic(copy);
+ }
if (eGenObject != null)
getDomainModel().setGenerated(EcoreUtil.copy(eGenObject));
if (eEditObject != null)
@@ -465,7 +473,6 @@ public void copyModel(Item from) {
/**
*
- *
* @generated
*/
@Override
@@ -482,7 +489,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -498,7 +504,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -527,13 +532,14 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
if (resolve)
return getProject();
return basicGetProject();
+ case ClassMakerPackage.ITEM__RESOURCE:
+ return getResource();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
- *
* @generated
*/
@Override
@@ -563,13 +569,15 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.ITEM__PROJECT:
setProject((Project) newValue);
return;
+ case ClassMakerPackage.ITEM__RESOURCE:
+ setResource((Resource) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
/**
*
- *
* @generated
*/
@Override
@@ -599,13 +607,15 @@ public void eUnset(int featureID) {
case ClassMakerPackage.ITEM__PROJECT:
setProject((Project) null);
return;
+ case ClassMakerPackage.ITEM__RESOURCE:
+ setResource((Resource) null);
+ return;
}
super.eUnset(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -627,13 +637,14 @@ public boolean eIsSet(int featureID) {
return LOCALE_EDEFAULT == null ? locale != null : !LOCALE_EDEFAULT.equals(locale);
case ClassMakerPackage.ITEM__PROJECT:
return basicGetProject() != null;
+ case ClassMakerPackage.ITEM__RESOURCE:
+ return resource != null;
}
return super.eIsSet(featureID);
}
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/LongToStateMapEntryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/LongToStateMapEntryImpl.java
index f27ea97a..861485ee 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/LongToStateMapEntryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/LongToStateMapEntryImpl.java
@@ -34,10 +34,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.LongToStateMapEntryImpl#getTypedKey
- * Key }
- * {@link org.enterprisedomain.classmaker.impl.LongToStateMapEntryImpl#getTypedValue
- * Value }
+ * {@link org.enterprisedomain.classmaker.impl.LongToStateMapEntryImpl#getTypedKey Key }
+ * {@link org.enterprisedomain.classmaker.impl.LongToStateMapEntryImpl#getTypedValue Value }
*
*
* @generated
@@ -46,7 +44,6 @@ public class LongToStateMapEntryImpl extends EObjectImpl implements BasicEMap.En
/**
* The default value of the '{@link #getTypedKey() Key }' attribute.
*
- *
* @see #getTypedKey()
* @generated
* @ordered
@@ -64,9 +61,8 @@ public class LongToStateMapEntryImpl extends EObjectImpl implements BasicEMap.En
protected Long key = KEY_EDEFAULT;
/**
- * The cached value of the '{@link #getTypedValue() Value }' containment
- * reference.
- *
+ * The cached value of the '{@link #getTypedValue() Value }' containment reference.
+ *
* @see #getTypedValue()
* @generated
* @ordered
@@ -75,7 +71,6 @@ public class LongToStateMapEntryImpl extends EObjectImpl implements BasicEMap.En
/**
*
- *
* @generated
*/
protected LongToStateMapEntryImpl() {
@@ -84,7 +79,6 @@ protected LongToStateMapEntryImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -94,7 +88,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
public Long getTypedKey() {
@@ -103,7 +96,6 @@ public Long getTypedKey() {
/**
*
- *
* @generated
*/
public void setTypedKey(Long newKey) {
@@ -116,7 +108,6 @@ public void setTypedKey(Long newKey) {
/**
*
- *
* @generated
*/
public State getTypedValue() {
@@ -125,7 +116,6 @@ public State getTypedValue() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetTypedValue(State newValue, NotificationChain msgs) {
@@ -144,7 +134,6 @@ public NotificationChain basicSetTypedValue(State newValue, NotificationChain ms
/**
*
- *
* @generated
*/
public void setTypedValue(State newValue) {
@@ -166,7 +155,6 @@ public void setTypedValue(State newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -180,7 +168,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -196,7 +183,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -214,7 +200,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -232,7 +217,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -248,7 +232,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -265,14 +248,12 @@ public String toString() {
/**
*
- *
* @generated
*/
protected int hash = -1;
/**
*
- *
* @generated
*/
@Override
@@ -286,7 +267,6 @@ public int getHash() {
/**
*
- *
* @generated
*/
@Override
@@ -296,7 +276,6 @@ public void setHash(int hash) {
/**
*
- *
* @generated
*/
@Override
@@ -306,7 +285,6 @@ public Long getKey() {
/**
*
- *
* @generated
*/
@Override
@@ -316,7 +294,6 @@ public void setKey(Long key) {
/**
*
- *
* @generated
*/
@Override
@@ -326,7 +303,6 @@ public State getValue() {
/**
*
- *
* @generated
*/
@Override
@@ -338,7 +314,6 @@ public State setValue(State value) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ModelsImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ModelsImpl.java
index 7ab477e5..ffddcbe1 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ModelsImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ModelsImpl.java
@@ -41,16 +41,11 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getDynamic
- * Dynamic }
- * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGenerated
- * Generated }
- * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGeneratedEdit
- * Generated Edit }
- * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGeneratedEditor
- * Generated Editor }
- * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getParent
- * Parent }
+ * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getDynamic Dynamic }
+ * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGenerated Generated }
+ * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGeneratedEdit Generated Edit }
+ * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getGeneratedEditor Generated Editor }
+ * {@link org.enterprisedomain.classmaker.impl.ModelsImpl#getParent Parent }
*
*
* @generated
@@ -116,9 +111,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
}
/**
- * The cached value of the '{@link #getDynamic() Dynamic }' containment
- * reference.
- *
+ * The cached value of the '{@link #getDynamic() Dynamic }' containment reference.
+ *
* @see #getDynamic()
* @generated
* @ordered
@@ -126,9 +120,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
protected EObject dynamic;
/**
- * The cached value of the '{@link #getGenerated() Generated }'
- * reference.
- *
+ * The cached value of the '{@link #getGenerated() Generated }' reference.
+ *
* @see #getGenerated()
* @generated
* @ordered
@@ -136,9 +129,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
protected EObject generated;
/**
- * The default value of the '{@link #getGeneratedEdit() Generated
- * Edit }' attribute.
- *
+ * The default value of the '{@link #getGeneratedEdit() Generated Edit }' attribute.
+ *
* @see #getGeneratedEdit()
* @generated
* @ordered
@@ -146,9 +138,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
protected static final EMFPlugin GENERATED_EDIT_EDEFAULT = null;
/**
- * The cached value of the '{@link #getGeneratedEdit() Generated Edit }'
- * attribute.
- *
+ * The cached value of the '{@link #getGeneratedEdit() Generated Edit }' attribute.
+ *
* @see #getGeneratedEdit()
* @generated
* @ordered
@@ -156,9 +147,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
protected EMFPlugin generatedEdit = GENERATED_EDIT_EDEFAULT;
/**
- * The default value of the '{@link #getGeneratedEditor() Generated
- * Editor }' attribute.
- *
+ * The default value of the '{@link #getGeneratedEditor() Generated Editor }' attribute.
+ *
* @see #getGeneratedEditor()
* @generated
* @ordered
@@ -166,9 +156,8 @@ private void onDynamicEObject(EObject oldValue, EObject newValue) {
protected static final EMFPlugin GENERATED_EDITOR_EDEFAULT = null;
/**
- * The cached value of the '{@link #getGeneratedEditor() Generated
- * Editor }' attribute.
- *
+ * The cached value of the '{@link #getGeneratedEditor() Generated Editor }' attribute.
+ *
* @see #getGeneratedEditor()
* @generated
* @ordered
@@ -187,7 +176,6 @@ protected ModelsImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -197,7 +185,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -207,7 +194,6 @@ public EObject getDynamic() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetDynamic(EObject newDynamic, NotificationChain msgs) {
@@ -226,7 +212,6 @@ public NotificationChain basicSetDynamic(EObject newDynamic, NotificationChain m
/**
*
- *
* @generated
*/
@Override
@@ -249,7 +234,6 @@ public void setDynamic(EObject newDynamic) {
/**
*
- *
* @generated
*/
@Override
@@ -268,7 +252,6 @@ public EObject getGenerated() {
/**
*
- *
* @generated
*/
public EObject basicGetGenerated() {
@@ -277,7 +260,6 @@ public EObject basicGetGenerated() {
/**
*
- *
* @generated
*/
@Override
@@ -291,7 +273,6 @@ public void setGenerated(EObject newGenerated) {
/**
*
- *
* @generated
*/
@Override
@@ -301,7 +282,6 @@ public EMFPlugin getGeneratedEdit() {
/**
*
- *
* @generated
*/
@Override
@@ -315,7 +295,6 @@ public void setGeneratedEdit(EMFPlugin newGeneratedEdit) {
/**
*
- *
* @generated
*/
@Override
@@ -325,7 +304,6 @@ public EMFPlugin getGeneratedEditor() {
/**
*
- *
* @generated
*/
@Override
@@ -339,7 +317,6 @@ public void setGeneratedEditor(EMFPlugin newGeneratedEditor) {
/**
*
- *
* @generated
*/
@Override
@@ -351,7 +328,6 @@ public Item getParent() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetParent(Item newParent, NotificationChain msgs) {
@@ -361,7 +337,6 @@ public NotificationChain basicSetParent(Item newParent, NotificationChain msgs)
/**
*
- *
* @generated
*/
@Override
@@ -386,7 +361,6 @@ public void setParent(Item newParent) {
/**
*
- *
* @generated
*/
@Override
@@ -402,7 +376,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -418,7 +391,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -432,7 +404,6 @@ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs
/**
*
- *
* @generated
*/
@Override
@@ -456,7 +427,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -483,7 +453,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -510,7 +479,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -534,7 +502,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ProjectImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ProjectImpl.java
index d68ea706..199f1b74 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ProjectImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ProjectImpl.java
@@ -19,6 +19,7 @@
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
@@ -34,13 +35,13 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.core.runtime.jobs.MultiRule;
import org.eclipse.emf.codegen.util.CodeGenUtil;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.emf.common.notify.impl.NotificationImpl;
import org.eclipse.emf.common.util.ECollections;
@@ -51,6 +52,8 @@
import org.eclipse.emf.common.util.WrappedException;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EPackage.Registry;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -59,7 +62,6 @@
import org.eclipse.emf.ecore.util.EcoreEMap;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.emf.ecore.util.NotifyingInternalEListImpl;
import org.eclipse.emf.ecore.xmi.PackageNotFoundException;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.jgit.api.Git;
@@ -104,56 +106,32 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getModelName
- * Model Name }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getPhase
- * Phase }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getLanguage
- * Language }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getDomainModel
- * Domain Model }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getCustomizers
- * Customizers }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getParent
- * Parent }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getLocale
- * Locale }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProject
- * Project }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getName
- * Name }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProjectName
- * Project Name }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getChildren
- * Children }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isDirty
- * Dirty }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getWorkspace
- * Workspace }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getResourcePath
- * Resource Path }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isNeedCompletionNotification
- * Need Completion Notification }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getCompletionNotificationAdapter
- * Completion Notification Adapter }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getResourceReloadListener
- * Resource Reload Listener }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isSavingResource
- * Saving Resource }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getRevision
- * Revision }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getRevisions
- * Revisions }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProjectVersion
- * Project Version }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getSelectRevealHandler
- * Select Reveal Handler }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getVersion
- * Version }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getState
- * State }
- * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getModelResourceAdapter
- * Model Resource Adapter }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getModelName Model Name }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getPhase Phase }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getLanguage Language }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getDomainModel Domain Model }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getCustomizers Customizers }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getParent Parent }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getLocale Locale }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProject Project }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getResource Resource }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getName Name }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isDirty Dirty }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getWorkspace Workspace }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getResourcePath Resource Path }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isNeedCompletionNotification Need Completion Notification }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getCompletionNotificationAdapter Completion Notification Adapter }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getResourceReloadListener Resource Reload Listener }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#isSavingResource Saving Resource }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getRevision Revision }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getRevisions Revisions }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getProjectVersion Project Version }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getSelectRevealHandler Select Reveal Handler }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getVersion Version }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getState State }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getModelResourceAdapter Model Resource Adapter }
+ * {@link org.enterprisedomain.classmaker.impl.ProjectImpl#getClassLoader Class Loader }
*
*
* @generated
@@ -161,9 +139,8 @@
public class ProjectImpl extends EObjectImpl implements Project {
/**
- * The default value of the '{@link #getModelName() Model Name }'
- * attribute.
- *
+ * The default value of the '{@link #getModelName() Model Name }' attribute.
+ *
* @see #getModelName()
* @generated
* @ordered
@@ -171,9 +148,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final String MODEL_NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getModelName() Model Name }'
- * attribute.
- *
+ * The cached value of the '{@link #getModelName() Model Name }' attribute.
+ *
* @see #getModelName()
* @generated
* @ordered
@@ -201,9 +177,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected Stage phase = PHASE_EDEFAULT;
/**
- * The default value of the '{@link #getLanguage() Language }'
- * attribute.
- *
+ * The default value of the '{@link #getLanguage() Language }' attribute.
+ *
* @see #getLanguage()
* @generated
* @ordered
@@ -213,7 +188,6 @@ public class ProjectImpl extends EObjectImpl implements Project {
/**
* The cached value of the '{@link #getLanguage() Language }' attribute.
*
- *
* @see #getLanguage()
* @generated
* @ordered
@@ -221,9 +195,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected String language = LANGUAGE_EDEFAULT;
/**
- * The cached value of the '{@link #getDomainModel() Domain Model }'
- * containment reference.
- *
+ * The cached value of the '{@link #getDomainModel() Domain Model }' containment reference.
+ *
* @see #getDomainModel()
* @generated
* @ordered
@@ -233,7 +206,6 @@ public class ProjectImpl extends EObjectImpl implements Project {
/**
* The default value of the '{@link #getLocale() Locale }' attribute.
*
- *
* @see #getLocale()
* @generated
* @ordered
@@ -244,13 +216,21 @@ public class ProjectImpl extends EObjectImpl implements Project {
/**
* The cached value of the '{@link #getLocale() Locale }' attribute.
*
- *
* @see #getLocale()
* @generated
* @ordered
*/
protected Locale locale = LOCALE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getResource() Resource }' reference.
+ *
+ * @see #getResource()
+ * @generated
+ * @ordered
+ */
+ protected Resource resource;
+
/**
* The default value of the '{@link #getName() Name }' attribute.
@@ -272,9 +252,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected String name = NAME_EDEFAULT;
/**
- * The default value of the '{@link #getProjectName() Project Name }'
- * attribute.
- *
+ * The default value of the '{@link #getProjectName() Project Name }' attribute.
+ *
* @see #getProjectName()
* @generated
* @ordered
@@ -282,9 +261,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final String PROJECT_NAME_EDEFAULT = "";
/**
- * The cached value of the '{@link #getProjectName() Project Name }'
- * attribute.
- *
+ * The cached value of the '{@link #getProjectName() Project Name }' attribute.
+ *
* @see #getProjectName()
* @generated
* @ordered
@@ -312,9 +290,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected boolean dirty = DIRTY_EDEFAULT;
/**
- * The default value of the '{@link #getResourcePath() Resource Path }'
- * attribute.
- *
+ * The default value of the '{@link #getResourcePath() Resource Path }' attribute.
+ *
* @see #getResourcePath()
* @generated
* @ordered
@@ -322,10 +299,9 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final String RESOURCE_PATH_EDEFAULT = null;
/**
- * The default value of the '{@link #isNeedCompletionNotification() Need
- * Completion Notification }' attribute.
- *
* @see #isNeedCompletionNotification()
* @generated
* @ordered
@@ -333,10 +309,9 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final boolean NEED_COMPLETION_NOTIFICATION_EDEFAULT = false;
/**
- * The cached value of the '{@link #isNeedCompletionNotification() Need
- * Completion Notification }' attribute.
- *
* @see #isNeedCompletionNotification()
* @generated
* @ordered
@@ -366,9 +341,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected ResourceChangeListener resourceReloadListener;
/**
- * The default value of the '{@link #isSavingResource() Saving
- * Resource }' attribute.
- *
+ * The default value of the '{@link #isSavingResource() Saving Resource }' attribute.
+ *
* @see #isSavingResource()
* @generated
* @ordered
@@ -376,9 +350,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final boolean SAVING_RESOURCE_EDEFAULT = false;
/**
- * The cached value of the '{@link #isSavingResource() Saving
- * Resource }' attribute.
- *
+ * The cached value of the '{@link #isSavingResource() Saving Resource }' attribute.
+ *
* @see #isSavingResource()
* @generated
* @ordered
@@ -388,7 +361,6 @@ public class ProjectImpl extends EObjectImpl implements Project {
/**
* The cached value of the '{@link #getRevisions() Revisions }' map.
*
- *
* @see #getRevisions()
* @generated
* @ordered
@@ -396,9 +368,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected EMap revisions;
/**
- * The default value of the '{@link #getProjectVersion() Project
- * Version }' attribute.
- *
+ * The default value of the '{@link #getProjectVersion() Project Version }' attribute.
+ *
* @see #getProjectVersion()
* @generated
* @ordered
@@ -406,9 +377,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected static final Version PROJECT_VERSION_EDEFAULT = null;
/**
- * The cached value of the '{@link #getProjectVersion() Project
- * Version }' attribute.
- *
+ * The cached value of the '{@link #getProjectVersion() Project Version }' attribute.
+ *
* @see #getProjectVersion()
* @generated
* @ordered
@@ -416,9 +386,8 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected Version projectVersion = PROJECT_VERSION_EDEFAULT;
/**
- * The cached value of the '{@link #getSelectRevealHandler() Select Reveal
- * Handler }' reference.
- *
+ * The cached value of the '{@link #getSelectRevealHandler() Select Reveal Handler }' reference.
+ *
* @see #getSelectRevealHandler()
* @generated
* @ordered
@@ -438,7 +407,6 @@ public class ProjectImpl extends EObjectImpl implements Project {
/**
* The cached value of the '{@link #getVersion() Version }' attribute.
*
- *
* @see #getVersion()
* @generated
* @ordered
@@ -446,22 +414,46 @@ public class ProjectImpl extends EObjectImpl implements Project {
protected Version version = VERSION_EDEFAULT;
/**
- * The cached value of the '{@link #getModelResourceAdapter() Model Resource
- * Adapter }' containment reference.
- *
* @see #getModelResourceAdapter()
* @generated
* @ordered
*/
protected ResourceAdapter modelResourceAdapter;
+ /**
+ * The default value of the '{@link #getClassLoader() Class Loader }' attribute.
+ *
+ * @see #getClassLoader()
+ * @generated
+ * @ordered
+ */
+ protected static final ClassLoader CLASS_LOADER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassLoader() Class Loader }' attribute.
+ *
+ * @see #getClassLoader()
+ * @generated
+ * @ordered
+ */
+ protected ClassLoader classLoader = CLASS_LOADER_EDEFAULT;
+
+ /**
+ * This is true if the Class Loader attribute has been set.
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean classLoaderESet;
+
protected ListenerList completionListeners = new ListenerList();
protected ListenerList resourceChangeListeners = new ListenerList();
- protected LoadingEList children;
-
protected ResourceChangeAdapter resourceChangeAdapter = new ResourceChangeAdapter(this);
public class ProjectNameAdapter extends AdapterImpl {
@@ -483,16 +475,16 @@ && eIsSet(ClassMakerPackage.PROJECT__WORKSPACE))
protected Adapter stateModelAdapter = new AdapterImpl() {
@Override
public void notifyChanged(Notification msg) {
- if (msg.getFeatureID(State.class) == ClassMakerPackage.STATE__RESOURCE
+ if (msg.getFeatureID(Project.class) == ClassMakerPackage.ITEM__RESOURCE
&& msg.getEventType() == Notification.SET) {
- if (isStateSet() && getState().eIsSet(ClassMakerPackage.Literals.STATE__RESOURCE)) {
+ if (isStateSet() && eIsSet(ClassMakerPackage.Literals.ITEM__RESOURCE)) {
ResourceAdapter modelResourceAdapter = null;
if (eIsSet(ClassMakerPackage.PROJECT__MODEL_RESOURCE_ADAPTER)) {
modelResourceAdapter = getModelResourceAdapter();
} else {
modelResourceAdapter = ClassMakerFactory.eINSTANCE.createResourceAdapter();
}
- modelResourceAdapter.setResource(getState().getResource());
+ modelResourceAdapter.setResource(getResource());
modelResourceAdapter.setProject(ProjectImpl.this);
}
}
@@ -513,7 +505,6 @@ protected ProjectImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -523,7 +514,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -533,7 +523,6 @@ public String getModelName() {
/**
*
- *
* @generated
*/
@Override
@@ -547,7 +536,6 @@ public void setModelName(String newModelName) {
/**
*
- *
* @generated
*/
@Override
@@ -557,7 +545,6 @@ public Stage getPhase() {
/**
*
- *
* @generated
*/
@Override
@@ -570,7 +557,6 @@ public void setPhase(Stage newPhase) {
/**
*
- *
* @generated
*/
@Override
@@ -580,7 +566,6 @@ public String getLanguage() {
/**
*
- *
* @generated
*/
@Override
@@ -594,7 +579,6 @@ public void setLanguage(String newLanguage) {
/**
*
- *
* @generated
*/
@Override
@@ -604,7 +588,6 @@ public Models getDomainModel() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetDomainModel(Models newDomainModel, NotificationChain msgs) {
@@ -623,7 +606,6 @@ public NotificationChain basicSetDomainModel(Models newDomainModel, Notification
/**
*
- *
* @generated
*/
@Override
@@ -659,7 +641,6 @@ public EMap getCustomizers() {
/**
*
- *
* @generated
*/
@Override
@@ -688,7 +669,6 @@ public void setParent(Item newParent) {
/**
*
- *
* @generated
*/
@Override
@@ -698,7 +678,6 @@ public Locale getLocale() {
/**
*
- *
* @generated
*/
@Override
@@ -712,7 +691,6 @@ public void setLocale(Locale newLocale) {
/**
*
- *
* @generated
*/
@Override
@@ -741,7 +719,15 @@ public void setProject(Project newProject) {
/**
*
- *
+ * @generated
+ */
+ @Override
+ public Resource getResource() {
+ return resource;
+ }
+
+ /**
+ *
* @generated
*/
@Override
@@ -751,7 +737,6 @@ public String getName() {
/**
*
- *
* @generated
*/
@Override
@@ -764,7 +749,6 @@ public void setName(String newName) {
/**
*
- *
* @generated
*/
@Override
@@ -787,48 +771,6 @@ public void setProjectName(String newProjectName) {
/**
*
- *
- * @generated NOT
- */
- @SuppressWarnings("unchecked")
- public EList getChildren() {
- if (children == null || children.isEmpty() || children.get(0) == null) {
- if (getModelResourceAdapter() != null)
- children = new LoadingEList(getModelResourceAdapter().getResource());
- else {
- try {
- load(false, false);
- } catch (CoreException e) {
- ClassMakerPlugin.getInstance().getLog().log(e.getStatus());
- }
- if (getModelResourceAdapter() != null)
- children = new LoadingEList(getModelResourceAdapter().getResource());
- else
- children = new LoadingEList(null);
- }
-
- eAdapters().remove(modelAdapter);
- eAdapters().add(modelAdapter);
- }
- return (EList) (EList>) children;
- }
-
- private Adapter modelAdapter = new AdapterImpl() {
-
- @Override
- public void notifyChanged(Notification msg) {
- super.notifyChanged(msg);
- if (msg.getFeatureID(Project.class) == ClassMakerPackage.PROJECT__MODEL_RESOURCE_ADAPTER
- && msg.getEventType() == Notification.SET && msg.getNewValue() != null) {
- children.setContents(getModelResourceAdapter().getResource());
- }
- }
-
- };
-
- /**
- *
- *
* @generated
*/
@Override
@@ -838,7 +780,6 @@ public boolean isDirty() {
/**
*
- *
* @generated
*/
@Override
@@ -851,7 +792,6 @@ public void setDirty(boolean newDirty) {
/**
*
- *
* @generated
*/
@Override
@@ -863,7 +803,6 @@ public Workspace getWorkspace() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetWorkspace(Workspace newWorkspace, NotificationChain msgs) {
@@ -873,7 +812,6 @@ public NotificationChain basicSetWorkspace(Workspace newWorkspace, NotificationC
/**
*
- *
* @generated
*/
@Override
@@ -915,7 +853,6 @@ protected boolean isStateSet() {
/**
*
- *
* @generated
*/
@Override
@@ -925,7 +862,6 @@ public boolean isNeedCompletionNotification() {
/**
*
- *
* @generated
*/
@Override
@@ -940,7 +876,6 @@ public void setNeedCompletionNotification(boolean newNeedCompletionNotification)
/**
*
- *
* @generated
*/
@Override
@@ -961,7 +896,6 @@ public CompletionNotificationAdapter getCompletionNotificationAdapter() {
/**
*
- *
* @generated
*/
public CompletionNotificationAdapter basicGetCompletionNotificationAdapter() {
@@ -970,7 +904,6 @@ public CompletionNotificationAdapter basicGetCompletionNotificationAdapter() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetCompletionNotificationAdapter(
@@ -991,7 +924,6 @@ public NotificationChain basicSetCompletionNotificationAdapter(
/**
*
- *
* @generated
*/
@Override
@@ -1028,7 +960,7 @@ public ResourceChangeListener getResourceReloadListener() {
@Override
public void changed(Notification notification) throws Exception {
- Resource theResource = (Resource) getChildren().get(0);
+ Resource theResource = getResource();
Resource resource = (Resource) notification.getNotifier();
if (!loading && !isSavingResource() && resource.getURI().equals(theResource.getURI())
&& theResource.isLoaded()) {
@@ -1037,7 +969,7 @@ public void changed(Notification notification) throws Exception {
getSelectRevealHandler().prepare();
if (!theResource.isModified())
setResource(resource);
- theResource = ((Resource) getChildren().get(0));
+ theResource = getResource();
// theResource.setURI(getResourceURI());
// theResource.unload();
// theResource.load(Collections.emptyMap());
@@ -1052,14 +984,8 @@ public void changed(Notification notification) throws Exception {
return resourceReloadListener;
}
- protected void setResource(Resource resource) {
- getRevision().getState().setResource(resource);
- getChildren().set(0, resource);
- }
-
/**
*
- *
* @generated
*/
@Override
@@ -1069,7 +995,6 @@ public boolean isSavingResource() {
/**
*
- *
* @generated
*/
@Override
@@ -1083,7 +1008,6 @@ public void setSavingResource(boolean newSavingResource) {
/**
*
- *
* @generated
*/
@Override
@@ -1115,7 +1039,6 @@ public void setRevision(Revision newRevision) {
/**
*
- *
* @generated
*/
@Override
@@ -1129,7 +1052,6 @@ public EMap getRevisions() {
/**
*
- *
* @generated
*/
@Override
@@ -1139,7 +1061,6 @@ public Version getProjectVersion() {
/**
*
- *
* @generated
*/
@Override
@@ -1153,7 +1074,6 @@ public void setProjectVersion(Version newProjectVersion) {
/**
*
- *
* @generated
*/
@Override
@@ -1173,7 +1093,6 @@ public SelectRevealHandler getSelectRevealHandler() {
/**
*
- *
* @generated
*/
public SelectRevealHandler basicGetSelectRevealHandler() {
@@ -1182,7 +1101,6 @@ public SelectRevealHandler basicGetSelectRevealHandler() {
/**
*
- *
* @generated
*/
@Override
@@ -1196,7 +1114,6 @@ public void setSelectRevealHandler(SelectRevealHandler newSelectRevealHandler) {
/**
*
- *
* @generated
*/
@Override
@@ -1206,7 +1123,6 @@ public Version getVersion() {
/**
*
- *
* @generated
*/
@Override
@@ -1220,7 +1136,6 @@ public void setVersion(Version newVersion) {
/**
*
- *
* @generated
*/
@Override
@@ -1240,7 +1155,6 @@ public State basicGetState() {
/**
*
- *
* @generated
*/
@Override
@@ -1250,7 +1164,6 @@ public ResourceAdapter getModelResourceAdapter() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetModelResourceAdapter(ResourceAdapter newModelResourceAdapter,
@@ -1269,6 +1182,67 @@ public NotificationChain basicSetModelResourceAdapter(ResourceAdapter newModelRe
return msgs;
}
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public ClassLoader getClassLoader() {
+ return classLoader;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setClassLoader(ClassLoader newClassLoader) {
+ ClassLoader oldClassLoader = classLoader;
+ classLoader = newClassLoader;
+ boolean oldClassLoaderESet = classLoaderESet;
+ classLoaderESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.PROJECT__CLASS_LOADER,
+ oldClassLoader, classLoader, !oldClassLoaderESet));
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void unsetClassLoader() {
+ ClassLoader oldClassLoader = classLoader;
+ boolean oldClassLoaderESet = classLoaderESet;
+ classLoader = CLASS_LOADER_EDEFAULT;
+ classLoaderESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, ClassMakerPackage.PROJECT__CLASS_LOADER,
+ oldClassLoader, CLASS_LOADER_EDEFAULT, oldClassLoaderESet));
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public boolean isSetClassLoader() {
+ return classLoaderESet;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setResource(Resource newResource) {
+ Resource oldResource = resource;
+ resource = newResource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.PROJECT__RESOURCE, oldResource,
+ resource));
+ }
+
/**
*
*
@@ -1307,6 +1281,8 @@ public void delete(IProgressMonitor monitor) throws CoreException {
getWorkspace().getResourceSet().eAdapters().remove(resourceChangeAdapter);
getWorkspace().unregisterProject(this);
}
+ ResourceUtils.delete(Platform.getStateLocation(Platform.getBundle(ClassMakerPlugin.PLUGIN_ID))
+ .append(getProjectName()).toFile(), null);
}
/**
@@ -1315,7 +1291,7 @@ public void delete(IProgressMonitor monitor) throws CoreException {
* @generated NOT
*/
public void delete(EList objects) {
- TreeIterator it = ((Resource) getChildren().get(0)).getAllContents();
+ TreeIterator it = getResource().getAllContents();
while (it.hasNext()) {
EObject o = it.next();
ListIterator li = objects.listIterator();
@@ -1328,7 +1304,7 @@ public void delete(EList objects) {
try {
Map options = new HashMap();
options.put(XMLResource.OPTION_ENCODING, "UTF-8");
- ((Resource) getChildren().get(0)).save(options);
+ getResource().save(options);
} catch (IOException e) {
ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
}
@@ -1369,7 +1345,7 @@ public Revision newRevision(Version version) {
Revision newRevision = newBareRevision(version);
doNewRevision(newRevision);
- newRevision.initialize(false);
+ newRevision.initialize();
return newRevision;
}
@@ -1391,7 +1367,11 @@ public Revision newBareRevision(Version version) {
* @generated NOT
*/
public void doNewRevision(Revision newRevision) {
- State newState = newRevision.newState();
+ State newState = null;
+ if (newRevision.eIsSet(ClassMakerPackage.Literals.REVISION__TIMESTAMP))
+ newState = newRevision.newState(newRevision.getTimestamp());
+ else
+ newState = newRevision.newState();
newRevision.setTimestamp(newState.getTimestamp());
}
@@ -1506,12 +1486,11 @@ public void checkout(Version version, long time) {
if (revision == null) {
revision = newBareRevision(version);
doNewRevision(revision);
- revision.initialize(false);
+ revision.initialize();
revision.checkout(time);
} else if (revision.getStateHistory().containsKey(time)) {
State state = revision.getStateHistory().get((Object) time);
- EList commits = state.getCommitIds();
- if (!commits.isEmpty()) {
+ if (!state.eIsSet(ClassMakerPackage.Literals.STATE__COMMIT_ID)) {
revision.checkout(time, state.getCommitId());
} else
revision.checkout(time);
@@ -1552,7 +1531,7 @@ public void checkout(long time) {
public void checkout(long time, String commitId) {
if (getRevision().getStateHistory().containsKey(time)) {
State state = getRevision().getStateHistory().get((Object) time);
- if (state.getCommitIds().contains(commitId))
+ if (state.getCommitId().equals(commitId))
getRevision().checkout(time, commitId);
}
}
@@ -1563,7 +1542,7 @@ public void checkout(long time, String commitId) {
* @generated NOT
*/
public void checkout(String commitId) {
- if (getState().getCommitIds().contains(commitId))
+ if (getState().getCommitId().equals(commitId))
getState().checkout(commitId, true);
}
@@ -1598,7 +1577,7 @@ public void notifyChanged(Notification msg) {
* @generated NOT
*/
public void load(boolean create, boolean loadOnDemand) throws CoreException {
- initialize(false);
+ initialize();
if (isRevisionSet()) {
if (create) {
try {
@@ -1671,7 +1650,7 @@ public boolean open(IProgressMonitor monitor) throws CoreException {
String projectName = getProjectName();
if (projectName.isEmpty())
return false;
- initialize(false);
+ initialize();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
if (ClassMakerPlugin.getInstance().isTurnOffAutoBuilding() && workspace.isAutoBuilding()) {
ResourceUtils.setAutoBuilding(workspace, false);
@@ -1707,8 +1686,9 @@ public void close(IProgressMonitor monitor) throws CoreException {
*
* @generated NOT
*/
- public String initialize(boolean commit) {
- setName(getProjectName());
+ public String initialize() {
+ setName(getModelName() != null ? getModelName() : CodeGenUtil.capName(getProjectName()));
+ ClassMakerPlugin.print(NLS.bind("Project {0} initialize", getName()));
URI uri = getResourceURI();
Resource resource = null;
if (new File(uri.toFileString()).exists()) {
@@ -1718,7 +1698,7 @@ public String initialize(boolean commit) {
if (e.exception() instanceof PackageNotFoundException) {
Contribution contribution = getWorkspace()
.getContribution(((PackageNotFoundException) e.exception()).uri(), Stage.MODELED);
- if (contribution.getPhase().getValue() >= Stage.INSTALLED_VALUE)
+ if (contribution != null && contribution.getPhase().getValue() >= Stage.INSTALLED_VALUE)
try {
contribution.build(ClassMakerPlugin.getProgressMonitor());
resource = getWorkspace().getResourceSet().getResource(uri, true);
@@ -1733,61 +1713,96 @@ public String initialize(boolean commit) {
} catch (IOException e) {
ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
}
+
@SuppressWarnings("unchecked")
SCMOperator operator = (SCMOperator) getWorkspace().getSCMRegistry().get(getProjectName());
- setName(getProjectName());
try {
Git git = operator.getRepositorySCM();
String currentBranch = git.getRepository().getBranch();
+
ListBranchCommand listBranches = git.branchList();
List[ branches = listBranches.call();
+ branches.sort(new Comparator][() {
+
+ @Override
+ public int compare(Ref o1, Ref o2) {
+ Version v1, v2;
+ try {
+ String[] name = o1.getName().split("/");
+ v1 = operator.decodeVersion(name[name.length - 1]);
+ } catch (Exception e) {
+ v1 = Version.emptyVersion;
+ }
+ try {
+ String[] name = o2.getName().split("/");
+ v2 = operator.decodeVersion(name[name.length - 1]);
+ } catch (Exception e) {
+ v2 = Version.emptyVersion;
+ }
+ return v2.compareTo(v1);
+ }
+
+ });
Iterator][ it = branches.iterator();
Ref branch = null;
+ if (it.hasNext())
+ branch = it.next();
long timestamp = -1;
String commitId = "";
- do {
- Version version = null;
- if (it.hasNext()) {
- branch = it.next();
- String[] name = branch.getName().split("/"); //$NON-NLS-1$
- try {
- version = operator.decodeVersion(name[name.length - 1]);
- ReflogCommand reflog = git.reflog();
- reflog.setRef(branch.getName().toString());
- Collection] refs = reflog.call();
- for (ReflogEntry ref : refs)
- if (ref.getNewId().equals(branch.getObjectId())) {
- timestamp = operator.decodeTimestamp(ref.getComment());
- if (timestamp == -1)
- timestamp = operator.decodeTimestamp(version.getQualifier());
- }
- } catch (IllegalArgumentException e) {
- continue;
- }
- }
- if (version != null && !getRevisions().containsKey(version)) {
- Revision newRevision = newBareRevision(version);
- newRevision.setTimestamp(timestamp);
- newRevision.setProject(this);
- doNewRevision(newRevision);
- commitId = newRevision.initialize(commit);
+ Version version = null;
+ if (branch != null) {
+ String[] name = branch.getName().split("/"); //$NON-NLS-1$
+ try {
+ version = operator.decodeVersion(name[name.length - 1]);
+ ReflogCommand reflog = git.reflog();
+ reflog.setRef(branch.getName().toString());
+ Collection refs = reflog.call();
+ for (ReflogEntry ref : refs)
+ if (ref.getNewId().equals(branch.getObjectId())) {
+ timestamp = operator.decodeTimestamp(ref.getComment());
+ if (timestamp == -1)
+ timestamp = operator.decodeTimestamp(
+ String.valueOf(Long.valueOf(version.getQualifier()) / 1000));
+ }
+ } catch (IllegalArgumentException e) {
+ return commitId;
}
- } while (it.hasNext());
+ }
+ if (version != null && !getRevisions().containsKey(version)) {
+ Revision newRevision = newBareRevision(version);
+ newRevision.setTimestamp(timestamp);
+ newRevision.setProject(this);
+ doNewRevision(newRevision);
+ commitId = newRevision.initialize();
+ }
if (!getRevisions().isEmpty() && getVersion().equals(Version.emptyVersion))
setVersion(ListUtil.getLast(getRevisions()).getKey());
- else if (!getVersion().equals(Version.emptyVersion))
+ else if (!getVersion().equals(Version.emptyVersion)) {
+ if (isStateSet()) {
+ try {
+ getState().add(".");
+ getState().commit();
+ } catch (JGitInternalException e) {
+ }
+ }
checkout(getVersion(), timestamp);
+ }
if (currentBranch.equals(SCMOperator.MASTER_BRANCH))
checkout(getVersion(), timestamp);
if (eIsSet(ClassMakerPackage.PROJECT__REVISION)
&& getRevision().eIsSet(ClassMakerPackage.Literals.REVISION__STATE)) {
- getRevision().getState().setResource(resource);
+ setResource(resource);
initAdapters(getRevision());
}
- onModelResourceCreate(resource);
- if (!getWorkspace().getResourceSet().eAdapters().contains(resourceChangeAdapter))
- getWorkspace().getResourceSet().eAdapters().add(resourceChangeAdapter);
- addResourceChangeListener(getResourceReloadListener());
+ if (getPhase().equals(Stage.MODELED)) {
+ EPackage ePackage = (EPackage) getDomainModel().getDynamic();
+ if (ePackage != null)
+ Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
+ } else if (getPhase().equals(Stage.LOADED)) {
+ EPackage ePackage = (EPackage) getDomainModel().getGenerated();
+ if (ePackage != null)
+ Registry.INSTANCE.put(ePackage.getNsURI(), ePackage);
+ }
return commitId;
} catch (Exception e) {
ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
@@ -1800,30 +1815,28 @@ && getRevision().eIsSet(ClassMakerPackage.Literals.REVISION__STATE)) {
}
}
} else {
- createResource(uri, commit);
+ createResource(uri);
}
} else {
- createResource(uri, commit);
+ createResource(uri);
}
if (!getWorkspace().getResourceSet().eAdapters().contains(resourceChangeAdapter))
getWorkspace().getResourceSet().eAdapters().add(resourceChangeAdapter);
addResourceChangeListener(getResourceReloadListener());
+ onModelResourceCreate(resource);
return ""; //$NON-NLS-1$
}
- private void createResource(URI uri, boolean commit) {
+ private void createResource(URI uri) {
Resource resource = getWorkspace().getResourceSet().createResource(uri);
- if (eIsSet(ClassMakerPackage.PROJECT__REVISION)
- && getRevision().eIsSet(ClassMakerPackage.Literals.REVISION__STATE))
- getRevision().getState().setResource(resource);
- if (commit)
- try {
- Map options = new HashMap();
- options.put(XMLResource.OPTION_ENCODING, "UTF-8");
- resource.save(options);
- } catch (IOException e) {
- ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
- }
+ setResource(resource);
+ try {
+ Map options = new HashMap();
+ options.put(XMLResource.OPTION_ENCODING, "UTF-8");
+ resource.save(options);
+ } catch (IOException e) {
+ ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
+ }
onModelResourceCreate(resource);
}
@@ -1832,124 +1845,6 @@ private URI getResourceURI() {
return URI.createFileURI(workspacePath.append(getResourcePath()).toString());
}
- protected class LoadingEList extends NotifyingInternalEListImpl {
-
- private static final long serialVersionUID = 164926149524632079L;
- private Notifier object;
- private Adapter initAdapter = new AdapterImpl() {
-
- @Override
- public void notifyChanged(Notification msg) {
- super.notifyChanged(msg);
- if (msg.getFeatureID(ResourceAdapter.class) == ClassMakerPackage.RESOURCE_ADAPTER__RESOURCE
- && msg.getEventType() == Notification.SET && msg.getNewValue() != null)
- setContents((Notifier) msg.getNewValue());
- }
-
- };
-
- public LoadingEList(Notifier object) {
- setContents(object);
- }
-
- private class ResourceNotificationImpl extends NotificationImpl {
-
- public ResourceNotificationImpl(int eventType, Object oldValue, Object newValue) {
- super(eventType, oldValue, newValue);
- }
-
- public ResourceNotificationImpl(int eventType, Object oldValue, Object newValue, int position) {
- super(eventType, oldValue, newValue, position);
- }
-
- @Override
- public int getFeatureID(Class> expectedClass) {
- if (expectedClass.isAssignableFrom(Resource.class))
- return Resource.RESOURCE__CONTENTS;
- return super.getFeatureID(expectedClass);
- }
-
- public Object getNotifier() {
- return ProjectImpl.this;
- }
-
- }
-
- private void fill(Notifier object) {
- if (object instanceof Resource) {
- clear();
- add(object);
- } else if (object instanceof EObject) {
- ((Resource) this.object).getContents().clear();
- ((Resource) this.object).getContents().add((EObject) object);
- }
- }
-
- @Override
- protected void didSet(int index, Notifier newObject, Notifier oldObject) {
- detachInitAdapter();
- setObject(newObject);
- super.didSet(index, newObject, oldObject);
- attachInitAdapter();
- if (eNotificationRequired())
- eNotify(new ResourceNotificationImpl(Notification.SET, oldObject, newObject, index));
- }
-
- @Override
- protected void didAdd(int index, Notifier newObject) {
- super.didAdd(index, newObject);
- attachInitAdapter();
- setObject(newObject);
- if (eNotificationRequired())
- eNotify(new ResourceNotificationImpl(Notification.ADD, null, newObject, index));
- }
-
- @Override
- protected void didRemove(int index, Notifier oldObject) {
- detachInitAdapter();
- setObject(null);
- super.didRemove(index, oldObject);
- if (eNotificationRequired())
- eNotify(new ResourceNotificationImpl(Notification.REMOVE, oldObject, null, index));
- }
-
- @Override
- protected void didClear(int size, Object[] oldObjects) {
- detachInitAdapter();
- setObject(null);
- super.didClear(size, oldObjects);
- if (eNotificationRequired())
- eNotify(new ResourceNotificationImpl(Notification.REMOVE_MANY, oldObjects, null));
- }
-
- private void attachInitAdapter() {
- if (object == null)
- return;
- object.eAdapters().add(initAdapter);
- }
-
- private void detachInitAdapter() {
- if (object == null)
- return;
- object.eAdapters().remove(initAdapter);
- }
-
- public void setContents(Notifier object) {
- detachInitAdapter();
- setObject(object);
- attachInitAdapter();
- fill(object);
- }
-
- private void setObject(Notifier object) {
- if (object instanceof Resource)
- this.object = object;
- else if (object instanceof EObject)
- ((Resource) this.object).getContents().add((EObject) object);
- }
-
- }
-
/**
*
*
@@ -1985,7 +1880,6 @@ public void onModelResourceCreate(Resource eResource) {
/**
*
- *
* @generated
*/
@Override
@@ -2017,7 +1911,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -2041,7 +1934,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -2088,7 +1980,6 @@ public boolean isConflicting(ISchedulingRule rule) {
/**
*
- *
* @generated
*/
@Override
@@ -2117,12 +2008,12 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
if (resolve)
return getProject();
return basicGetProject();
+ case ClassMakerPackage.PROJECT__RESOURCE:
+ return getResource();
case ClassMakerPackage.PROJECT__NAME:
return getName();
case ClassMakerPackage.PROJECT__PROJECT_NAME:
return getProjectName();
- case ClassMakerPackage.PROJECT__CHILDREN:
- return getChildren();
case ClassMakerPackage.PROJECT__DIRTY:
return isDirty();
case ClassMakerPackage.PROJECT__WORKSPACE:
@@ -2162,13 +2053,14 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
return basicGetState();
case ClassMakerPackage.PROJECT__MODEL_RESOURCE_ADAPTER:
return getModelResourceAdapter();
+ case ClassMakerPackage.PROJECT__CLASS_LOADER:
+ return getClassLoader();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
- *
* @generated
*/
@Override
@@ -2198,6 +2090,9 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.PROJECT__PROJECT:
setProject((Project) newValue);
return;
+ case ClassMakerPackage.PROJECT__RESOURCE:
+ setResource((Resource) newValue);
+ return;
case ClassMakerPackage.PROJECT__NAME:
setName((String) newValue);
return;
@@ -2234,13 +2129,15 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.PROJECT__VERSION:
setVersion((Version) newValue);
return;
+ case ClassMakerPackage.PROJECT__CLASS_LOADER:
+ setClassLoader((ClassLoader) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
/**
*
- *
* @generated
*/
@Override
@@ -2270,6 +2167,9 @@ public void eUnset(int featureID) {
case ClassMakerPackage.PROJECT__PROJECT:
setProject((Project) null);
return;
+ case ClassMakerPackage.PROJECT__RESOURCE:
+ setResource((Resource) null);
+ return;
case ClassMakerPackage.PROJECT__NAME:
setName(NAME_EDEFAULT);
return;
@@ -2306,13 +2206,15 @@ public void eUnset(int featureID) {
case ClassMakerPackage.PROJECT__VERSION:
setVersion(VERSION_EDEFAULT);
return;
+ case ClassMakerPackage.PROJECT__CLASS_LOADER:
+ unsetClassLoader();
+ return;
}
super.eUnset(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -2334,12 +2236,12 @@ public boolean eIsSet(int featureID) {
return LOCALE_EDEFAULT == null ? locale != null : !LOCALE_EDEFAULT.equals(locale);
case ClassMakerPackage.PROJECT__PROJECT:
return basicGetProject() != null;
+ case ClassMakerPackage.PROJECT__RESOURCE:
+ return resource != null;
case ClassMakerPackage.PROJECT__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case ClassMakerPackage.PROJECT__PROJECT_NAME:
return PROJECT_NAME_EDEFAULT == null ? projectName != null : !PROJECT_NAME_EDEFAULT.equals(projectName);
- case ClassMakerPackage.PROJECT__CHILDREN:
- return !getChildren().isEmpty();
case ClassMakerPackage.PROJECT__DIRTY:
return dirty != DIRTY_EDEFAULT;
case ClassMakerPackage.PROJECT__WORKSPACE:
@@ -2370,13 +2272,14 @@ public boolean eIsSet(int featureID) {
return basicGetState() != null;
case ClassMakerPackage.PROJECT__MODEL_RESOURCE_ADAPTER:
return modelResourceAdapter != null;
+ case ClassMakerPackage.PROJECT__CLASS_LOADER:
+ return isSetClassLoader();
}
return super.eIsSet(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -2399,6 +2302,8 @@ public int eBaseStructuralFeatureID(int derivedFeatureID, Class> baseClass) {
return ClassMakerPackage.ITEM__LOCALE;
case ClassMakerPackage.PROJECT__PROJECT:
return ClassMakerPackage.ITEM__PROJECT;
+ case ClassMakerPackage.PROJECT__RESOURCE:
+ return ClassMakerPackage.ITEM__RESOURCE;
default:
return -1;
}
@@ -2408,7 +2313,6 @@ public int eBaseStructuralFeatureID(int derivedFeatureID, Class> baseClass) {
/**
*
- *
* @generated
*/
@Override
@@ -2431,6 +2335,8 @@ public int eDerivedStructuralFeatureID(int baseFeatureID, Class> baseClass) {
return ClassMakerPackage.PROJECT__LOCALE;
case ClassMakerPackage.ITEM__PROJECT:
return ClassMakerPackage.PROJECT__PROJECT;
+ case ClassMakerPackage.ITEM__RESOURCE:
+ return ClassMakerPackage.PROJECT__RESOURCE;
default:
return -1;
}
@@ -2465,7 +2371,6 @@ public boolean equals(Object obj) {
/**
*
- *
* @generated
*/
@Override
@@ -2496,6 +2401,11 @@ public String toString() {
result.append(projectVersion);
result.append(", version: ");
result.append(version);
+ result.append(", classLoader: ");
+ if (classLoaderESet)
+ result.append(classLoader);
+ else
+ result.append("");
result.append(')');
return result.toString();
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceAdapterImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceAdapterImpl.java
index f8762b6b..f79f48a3 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceAdapterImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceAdapterImpl.java
@@ -24,6 +24,7 @@
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
@@ -41,12 +42,9 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getResource
- * Resource }
- * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getFilename
- * Filename }
- * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getProject
- * Project }
+ * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getResource Resource }
+ * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getFilename Filename }
+ * {@link org.enterprisedomain.classmaker.impl.ResourceAdapterImpl#getProject Project }
*
*
* @generated
@@ -55,7 +53,6 @@ public class ResourceAdapterImpl extends EObjectImpl implements ResourceAdapter
/**
* The cached value of the '{@link #getResource() Resource }' reference.
*
- *
* @see #getResource()
* @generated
* @ordered
@@ -63,9 +60,8 @@ public class ResourceAdapterImpl extends EObjectImpl implements ResourceAdapter
protected Resource resource;
/**
- * The default value of the '{@link #getFilename() Filename }'
- * attribute.
- *
+ * The default value of the '{@link #getFilename() Filename }' attribute.
+ *
* @see #getFilename()
* @generated
* @ordered
@@ -74,7 +70,6 @@ public class ResourceAdapterImpl extends EObjectImpl implements ResourceAdapter
/**
*
- *
* @generated
*/
protected ResourceAdapterImpl() {
@@ -83,7 +78,6 @@ protected ResourceAdapterImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -102,7 +96,6 @@ public Resource getResource() {
/**
*
- *
* @generated
*/
public Resource basicGetResource() {
@@ -148,7 +141,6 @@ public String getFilename() {
/**
*
- *
* @generated
*/
@Override
@@ -160,7 +152,6 @@ public Project getProject() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetProject(Project newProject, NotificationChain msgs) {
@@ -170,7 +161,6 @@ public NotificationChain basicSetProject(Project newProject, NotificationChain m
/**
*
- *
* @generated
*/
@Override
@@ -195,7 +185,6 @@ public void setProject(Project newProject) {
/**
*
- *
* @generated
*/
@Override
@@ -211,7 +200,6 @@ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, No
/**
*
- *
* @generated
*/
@Override
@@ -225,7 +213,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -240,7 +227,6 @@ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs
/**
*
- *
* @generated
*/
@Override
@@ -260,7 +246,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -278,7 +263,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -296,7 +280,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeAdapter.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeAdapter.java
index 66c3abc3..6a132e1d 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeAdapter.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeAdapter.java
@@ -32,9 +32,10 @@ public void notifyChanged(Notification notification) {
super.notifyChanged(notification);
if (notification.getFeatureID(Resource.class) == Resource.RESOURCE__IS_MODIFIED
&& notification.getEventType() == Notification.SET && notification.getNotifier() instanceof Resource
- && project != null && project instanceof Project && !project.getChildren().isEmpty()
- && project.getChildren().get(0) instanceof Resource && ((Resource) project.getChildren().get(0))
- .getURI().equals(((Resource) notification.getNotifier()).getURI()))
+ && project != null && project instanceof Project && project.getModelResourceAdapter() != null
+ && project.getModelResourceAdapter().getResource() instanceof Resource
+ && ((Resource) project.getModelResourceAdapter().getResource()).getURI()
+ .equals(((Resource) notification.getNotifier()).getURI()))
try {
project.notifyResourceChanged(notification);
} catch (Exception e) {
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeListenerImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeListenerImpl.java
index 4d16f0e0..20a381d3 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeListenerImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/ResourceChangeListenerImpl.java
@@ -30,7 +30,6 @@
public class ResourceChangeListenerImpl extends EObjectImpl implements ResourceChangeListener {
/**
*
- *
* @generated
*/
protected ResourceChangeListenerImpl() {
@@ -39,7 +38,6 @@ protected ResourceChangeListenerImpl() {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/RevisionImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/RevisionImpl.java
index ce051cc8..99b356f0 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/RevisionImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/RevisionImpl.java
@@ -39,6 +39,7 @@
import org.eclipse.jgit.api.errors.RefNotFoundException;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.osgi.util.NLS;
import org.enterprisedomain.classmaker.ClassMakerFactory;
import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.Contribution;
@@ -61,16 +62,11 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getState
- * State }
- * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getTimestamp
- * Timestamp }
- * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getStateHistory
- * State History }
- * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getLatestTimestamp
- * Latest Timestamp }
- * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getVersion
- * Version }
+ * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getState State }
+ * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getTimestamp Timestamp }
+ * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getStateHistory State History }
+ * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getLatestTimestamp Latest Timestamp }
+ * {@link org.enterprisedomain.classmaker.impl.RevisionImpl#getVersion Version }
*
*
* @generated
@@ -82,9 +78,8 @@ public class RevisionImpl extends ItemImpl implements Revision {
}
/**
- * The default value of the '{@link #getTimestamp() Timestamp }'
- * attribute.
- *
+ * The default value of the '{@link #getTimestamp() Timestamp }' attribute.
+ *
* @see #getTimestamp()
* @generated
* @ordered
@@ -92,9 +87,8 @@ public class RevisionImpl extends ItemImpl implements Revision {
protected static final long TIMESTAMP_EDEFAULT = 0L;
/**
- * The cached value of the '{@link #getTimestamp() Timestamp }'
- * attribute.
- *
+ * The cached value of the '{@link #getTimestamp() Timestamp }' attribute.
+ *
* @see #getTimestamp()
* @generated
* @ordered
@@ -102,9 +96,8 @@ public class RevisionImpl extends ItemImpl implements Revision {
protected long timestamp = TIMESTAMP_EDEFAULT;
/**
- * The cached value of the '{@link #getStateHistory() State History }'
- * map.
- *
+ * The cached value of the '{@link #getStateHistory() State History }' map.
+ *
* @see #getStateHistory()
* @generated
* @ordered
@@ -112,9 +105,8 @@ public class RevisionImpl extends ItemImpl implements Revision {
protected EMap stateHistory;
/**
- * The default value of the '{@link #getLatestTimestamp() Latest
- * Timestamp }' attribute.
- *
+ * The default value of the '{@link #getLatestTimestamp() Latest Timestamp }' attribute.
+ *
* @see #getLatestTimestamp()
* @generated
* @ordered
@@ -124,7 +116,6 @@ public class RevisionImpl extends ItemImpl implements Revision {
/**
* The default value of the '{@link #getVersion() Version }' attribute.
*
- *
* @see #getVersion()
* @generated
* @ordered
@@ -134,7 +125,6 @@ public class RevisionImpl extends ItemImpl implements Revision {
/**
* The cached value of the '{@link #getVersion() Version }' attribute.
*
- *
* @see #getVersion()
* @generated
* @ordered
@@ -143,7 +133,6 @@ public class RevisionImpl extends ItemImpl implements Revision {
/**
*
- *
* @generated
*/
protected RevisionImpl() {
@@ -152,7 +141,6 @@ protected RevisionImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -172,7 +160,6 @@ public void setProject(Project newProject) {
/**
*
- *
* @generated
*/
@Override
@@ -203,7 +190,6 @@ public void setState(State newState) {
/**
*
- *
* @generated
*/
@Override
@@ -213,7 +199,6 @@ public long getTimestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -227,7 +212,6 @@ public void setTimestamp(long newTimestamp) {
/**
*
- *
* @generated
*/
@Override
@@ -252,7 +236,6 @@ public long getLatestTimestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -262,7 +245,6 @@ public Version getVersion() {
/**
*
- *
* @generated
*/
@Override
@@ -320,8 +302,10 @@ public void setParent(Item newParent) {
}
@Override
- public String initialize(boolean commit) {
- super.initialize(commit);
+ public String initialize() {
+ super.initialize();
+ ClassMakerPlugin.print(NLS.bind("Revision {0} of {1} initialize", getVersion(), getProject().getName()));
+ String commitId = getState().getCommitId();
@SuppressWarnings("unchecked")
SCMOperator operator = (SCMOperator) getProject().getWorkspace().getSCMRegistry()
.get(getProject().getProjectName());
@@ -333,31 +317,26 @@ public String initialize(boolean commit) {
if (branch != null) {
log.add(branch.getObjectId());
Iterable commits = log.call();
+ long timestamp = -1;
for (RevCommit c : commits) {
- long timestamp = operator.decodeTimestamp(c.getShortMessage());
- if (timestamp == -1) {
- timestamp = operator.decodeTimestamp(getVersion().getQualifier());
- if (timestamp == -1)
- continue;
- }
- State state = null;
- if (getStateHistory().containsKey(timestamp))
- state = (State) getStateHistory().get((Object) timestamp);
- else {
- state = ClassMakerFactory.eINSTANCE.createState();
- state.setTimestamp(timestamp);
- getStateHistory().put(timestamp, state);
- state.getProject().setVersion(getVersion());
+ if (extractTimestamp(operator, c) > timestamp) {
+ timestamp = extractTimestamp(operator, c);
+ commitId = c.getId().toString();
}
- String commitId = c.getId().toString();
- state.getCommitIds().add(commitId);
- state.setCommitId(commitId);
- setTimestamp(timestamp);
- state.initialize(commit);
}
- if (getStateHistory().isEmpty())
- return null;
+ State state = null;
+ if (getStateHistory().containsKey(timestamp))
+ state = (State) getStateHistory().get((Object) timestamp);
+ else {
+ state = ClassMakerFactory.eINSTANCE.createState();
+ state.setTimestamp(timestamp);
+ getStateHistory().put(timestamp, state);
+ }
+ state.setCommitId(commitId);
+ return state.initialize();
}
+ if (getStateHistory().isEmpty())
+ return null;
} catch (NoHeadException e) {
return null;
} catch (Exception e) {
@@ -370,7 +349,15 @@ public String initialize(boolean commit) {
ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
}
}
- return getState().getCommitId();
+ return commitId;
+ }
+
+ private long extractTimestamp(SCMOperator operator, RevCommit c) {
+ long timestamp = operator.decodeTimestamp(c.getShortMessage());
+ if (timestamp == -1) {
+ timestamp = operator.decodeTimestamp(String.valueOf(Long.valueOf(getVersion().getQualifier()) / 1000));
+ }
+ return timestamp;
}
/**
@@ -448,7 +435,7 @@ public void checkout(long stateTime) {
*/
public void checkout(String commitId) {
for (State state : getStateHistory().values())
- if (state.getCommitIds().contains(commitId))
+ if (state.getCommitId().equals(commitId))
checkout(state.getTimestamp(), commitId);
}
@@ -458,12 +445,25 @@ public void checkout(String commitId) {
* @generated NOT
*/
public State newState() {
+ return newState((long) (Calendar.getInstance(Revision.VERSION_QUALIFIER_FORMAT.getTimeZone()).getTimeInMillis()
+ / 1000));
+
+ }
+
+ /**
+ *
+ *
+ * @generated NOT
+ */
+ @Override
+ public State newState(long timestamp) {
State newState = ClassMakerFactory.eINSTANCE.createState();
- newState.setTimestamp(
- (long) (Calendar.getInstance(Revision.VERSION_QUALIFIER_FORMAT.getTimeZone()).getTimeInMillis()
- / 1000));
+ newState.setTimestamp(timestamp);
+ if (isStateSet()) {
+ newState.setEdit(getState().isEdit());
+ newState.setEditor(getState().isEditor());
+ }
getStateHistory().put(newState.getTimestamp(), newState);
- newState.getProject().setVersion(getVersion());
return newState;
}
@@ -480,7 +480,7 @@ public String make(IProgressMonitor monitor) throws Exception {
@Override
public void load(boolean create, boolean loadOnDemand) throws CoreException {
- initialize(false);
+ initialize();
if (create && isStateSet()) {
@SuppressWarnings("unchecked")
SCMOperator operator = (SCMOperator) getProject().getWorkspace().getSCMRegistry()
@@ -493,7 +493,7 @@ public void load(boolean create, boolean loadOnDemand) throws CoreException {
if (create) {
create(ClassMakerPlugin.getProgressMonitor());
}
- getState().initialize(false);
+ getState().initialize();
}
} catch (Exception e) {
throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
@@ -546,7 +546,6 @@ public void copyModel(Revision from) {
/**
*
- *
* @generated
*/
@Override
@@ -560,7 +559,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -587,7 +585,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -611,7 +608,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -635,7 +631,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -657,7 +652,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMOperatorImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMOperatorImpl.java
index 1f5ff064..b7c35e30 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMOperatorImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMOperatorImpl.java
@@ -35,10 +35,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl#getProjectName
- * Project Name }
- * {@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl#getRegistry
- * Registry }
+ * {@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.impl.SCMOperatorImpl#getRegistry Registry }
*
*
* @generated
@@ -46,18 +44,16 @@
public abstract class SCMOperatorImpl extends EObjectImpl implements SCMOperator {
/**
- * The default value of the '{@link #getProjectName() Project Name }'
- * attribute.
- *
+ * The default value of the '{@link #getProjectName() Project Name }' attribute.
+ *
* @see #getProjectName()
* @generated
* @ordered
*/
protected static final String PROJECT_NAME_EDEFAULT = "";
/**
- * The cached value of the '{@link #getProjectName() Project Name }'
- * attribute.
- *
+ * The cached value of the '{@link #getProjectName() Project Name }' attribute.
+ *
* @see #getProjectName()
* @generated
* @ordered
@@ -67,7 +63,6 @@ public abstract class SCMOperatorImpl extends EObjectImpl implements SCMOpera
/**
* The cached value of the '{@link #getRegistry() Registry }' reference.
*
- *
* @see #getRegistry()
* @generated
* @ordered
@@ -76,7 +71,6 @@ public abstract class SCMOperatorImpl extends EObjectImpl implements SCMOpera
/**
*
- *
* @generated
*/
protected SCMOperatorImpl() {
@@ -85,7 +79,6 @@ protected SCMOperatorImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -95,7 +88,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -105,7 +97,6 @@ public String getProjectName() {
/**
*
- *
* @generated
*/
@Override
@@ -119,7 +110,6 @@ public void setProjectName(String newProjectName) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -139,7 +129,6 @@ public SCMRegistry getRegistry() {
/**
*
- *
* @generated
*/
public SCMRegistry basicGetRegistry() {
@@ -148,7 +137,6 @@ public SCMRegistry basicGetRegistry() {
/**
*
- *
* @generated
*/
@Override
@@ -238,7 +226,6 @@ public void setRegistry(SCMRegistry newRegistry) {
/**
*
- *
* @generated
*/
@Override
@@ -256,7 +243,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -275,7 +261,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -293,7 +278,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -309,7 +293,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMRegistryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMRegistryImpl.java
index cd3f3d6d..f5024c57 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMRegistryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SCMRegistryImpl.java
@@ -39,7 +39,6 @@ public class SCMRegistryImpl extends EObjectImpl implements SCMRegistry {
/**
*
- *
* @generated
*/
protected SCMRegistryImpl() {
@@ -48,7 +47,6 @@ protected SCMRegistryImpl() {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SelectRevealHandlerImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SelectRevealHandlerImpl.java
index d1012ba3..03ac3867 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SelectRevealHandlerImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/SelectRevealHandlerImpl.java
@@ -30,7 +30,6 @@
public class SelectRevealHandlerImpl extends EObjectImpl implements SelectRevealHandler {
/**
*
- *
* @generated
*/
protected SelectRevealHandlerImpl() {
@@ -39,7 +38,6 @@ protected SelectRevealHandlerImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -49,7 +47,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -61,7 +58,6 @@ public void prepare() {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierImpl.java
index 526ceb29..99de799c 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierImpl.java
@@ -32,10 +32,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.StageQualifierImpl#getStage
- * Stage }
- * {@link org.enterprisedomain.classmaker.impl.StageQualifierImpl#getStep
- * Step }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierImpl#getStage Stage }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierImpl#getStep Step }
*
*
* @generated
@@ -83,7 +81,6 @@ public class StageQualifierImpl extends EObjectImpl implements StageQualifier {
/**
*
- *
* @generated
*/
protected StageQualifierImpl() {
@@ -92,7 +89,6 @@ protected StageQualifierImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -102,7 +98,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -112,7 +107,6 @@ public Stage getStage() {
/**
*
- *
* @generated
*/
@Override
@@ -126,7 +120,6 @@ public void setStage(Stage newStage) {
/**
*
- *
* @generated
*/
@Override
@@ -136,7 +129,6 @@ public String getStep() {
/**
*
- *
* @generated
*/
@Override
@@ -167,7 +159,6 @@ public boolean equals(Object obj) {
/**
*
- *
* @generated
*/
@Override
@@ -183,7 +174,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -201,7 +191,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -219,7 +208,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -235,7 +223,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToCustomizerMapEntryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToCustomizerMapEntryImpl.java
index 510990dd..247e2a46 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToCustomizerMapEntryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToCustomizerMapEntryImpl.java
@@ -35,10 +35,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl#getTypedKey
- * Key }
- * {@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl#getTypedValue
- * Value }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl#getTypedKey Key }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierToCustomizerMapEntryImpl#getTypedValue Value }
*
*
* @generated
@@ -56,9 +54,8 @@ public class StageQualifierToCustomizerMapEntryImpl extends EObjectImpl
protected StageQualifier key;
/**
- * The cached value of the '{@link #getTypedValue() Value }' containment
- * reference.
- *
+ * The cached value of the '{@link #getTypedValue() Value }' containment reference.
+ *
* @see #getTypedValue()
* @generated
* @ordered
@@ -67,7 +64,6 @@ public class StageQualifierToCustomizerMapEntryImpl extends EObjectImpl
/**
*
- *
* @generated
*/
protected StageQualifierToCustomizerMapEntryImpl() {
@@ -76,7 +72,6 @@ protected StageQualifierToCustomizerMapEntryImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -86,7 +81,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
public StageQualifier getTypedKey() {
@@ -104,7 +98,6 @@ public StageQualifier getTypedKey() {
/**
*
- *
* @generated
*/
public StageQualifier basicGetTypedKey() {
@@ -113,7 +106,6 @@ public StageQualifier basicGetTypedKey() {
/**
*
- *
* @generated
*/
public void setTypedKey(StageQualifier newKey) {
@@ -126,7 +118,6 @@ public void setTypedKey(StageQualifier newKey) {
/**
*
- *
* @generated
*/
public Customizer getTypedValue() {
@@ -135,7 +126,6 @@ public Customizer getTypedValue() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetTypedValue(Customizer newValue, NotificationChain msgs) {
@@ -154,7 +144,6 @@ public NotificationChain basicSetTypedValue(Customizer newValue, NotificationCha
/**
*
- *
* @generated
*/
public void setTypedValue(Customizer newValue) {
@@ -178,7 +167,6 @@ public void setTypedValue(Customizer newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -192,7 +180,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -210,7 +197,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -228,7 +214,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -246,7 +231,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -262,14 +246,12 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
protected int hash = -1;
/**
*
- *
* @generated
*/
@Override
@@ -283,7 +265,6 @@ public int getHash() {
/**
*
- *
* @generated
*/
@Override
@@ -293,7 +274,6 @@ public void setHash(int hash) {
/**
*
- *
* @generated
*/
@Override
@@ -303,7 +283,6 @@ public StageQualifier getKey() {
/**
*
- *
* @generated
*/
@Override
@@ -313,7 +292,6 @@ public void setKey(StageQualifier key) {
/**
*
- *
* @generated
*/
@Override
@@ -323,7 +301,6 @@ public Customizer getValue() {
/**
*
- *
* @generated
*/
@Override
@@ -335,7 +312,6 @@ public Customizer setValue(Customizer value) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/bundles/org.enterprisedomain.ecp/src/org/enterprisedomain/ecp/impl/EParameterToObjectMapEntryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToWorkersMapEntryImpl.java
similarity index 50%
rename from bundles/org.enterprisedomain.ecp/src/org/enterprisedomain/ecp/impl/EParameterToObjectMapEntryImpl.java
rename to bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToWorkersMapEntryImpl.java
index 83627883..56f4d954 100644
--- a/bundles/org.enterprisedomain.ecp/src/org/enterprisedomain/ecp/impl/EParameterToObjectMapEntryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StageQualifierToWorkersMapEntryImpl.java
@@ -1,35 +1,51 @@
/**
+ * Copyright 2023 Kyrill Zotkin
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 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.
*/
-package org.enterprisedomain.ecp.impl;
+package org.enterprisedomain.classmaker.impl;
+
+import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EParameter;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.enterprisedomain.ecp.ECPPackage;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectEList;
+import org.enterprisedomain.classmaker.ClassMakerPackage;
+import org.enterprisedomain.classmaker.StageQualifier;
+import org.enterprisedomain.classmaker.jobs.Worker;
/**
- * An implementation of the model object
- * 'EParameter To Object Map Entry '.
+ * An implementation of the model object 'Stage
+ * Qualifier To Workers Map Entry '.
*
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.ecp.impl.EParameterToObjectMapEntryImpl#getTypedKey
- * Key }
- * {@link org.enterprisedomain.ecp.impl.EParameterToObjectMapEntryImpl#getTypedValue
- * Value }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl#getTypedKey Key }
+ * {@link org.enterprisedomain.classmaker.impl.StageQualifierToWorkersMapEntryImpl#getTypedValue Value }
*
*
* @generated
*/
-public class EParameterToObjectMapEntryImpl extends MinimalEObjectImpl.Container
- implements BasicEMap.Entry {
+public class StageQualifierToWorkersMapEntryImpl extends EObjectImpl
+ implements BasicEMap.Entry> {
/**
* The cached value of the '{@link #getTypedKey() Key }' reference.
@@ -38,60 +54,46 @@ public class EParameterToObjectMapEntryImpl extends MinimalEObjectImpl.Container
* @generated
* @ordered
*/
- protected EParameter key;
-
- /**
- * The default value of the '{@link #getTypedValue() Value }' attribute.
- *
- *
- * @see #getTypedValue()
- * @generated
- * @ordered
- */
- protected static final Object VALUE_EDEFAULT = null;
+ protected StageQualifier key;
/**
- * The cached value of the '{@link #getTypedValue() Value }' attribute.
+ * The cached value of the '{@link #getTypedValue() Value }' reference list.
*
- *
* @see #getTypedValue()
* @generated
* @ordered
*/
- protected Object value = VALUE_EDEFAULT;
+ protected EList value;
/**
*
- *
* @generated
*/
- protected EParameterToObjectMapEntryImpl() {
+ protected StageQualifierToWorkersMapEntryImpl() {
super();
}
/**
*
- *
* @generated
*/
@Override
protected EClass eStaticClass() {
- return ECPPackage.Literals.EPARAMETER_TO_OBJECT_MAP_ENTRY;
+ return ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY;
}
/**
*
- *
* @generated
*/
- public EParameter getTypedKey() {
+ public StageQualifier getTypedKey() {
if (key != null && key.eIsProxy()) {
InternalEObject oldKey = (InternalEObject) key;
- key = (EParameter) eResolveProxy(oldKey);
+ key = (StageQualifier) eResolveProxy(oldKey);
if (key != oldKey) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE,
- ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY, oldKey, key));
+ ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY, oldKey, key));
}
}
return key;
@@ -99,61 +101,48 @@ public EParameter getTypedKey() {
/**
*
- *
* @generated
*/
- public EParameter basicGetTypedKey() {
+ public StageQualifier basicGetTypedKey() {
return key;
}
/**
*
- *
* @generated
*/
- public void setTypedKey(EParameter newKey) {
- EParameter oldKey = key;
+ public void setTypedKey(StageQualifier newKey) {
+ StageQualifier oldKey = key;
key = newKey;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY,
- oldKey, key));
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY, oldKey, key));
}
/**
*
- *
* @generated
*/
- public Object getTypedValue() {
+ public EList getTypedValue() {
+ if (value == null) {
+ value = new EObjectEList(Worker.class, this,
+ ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE);
+ }
return value;
}
/**
*
- *
- * @generated
- */
- public void setTypedValue(Object newValue) {
- Object oldValue = value;
- value = newValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__VALUE,
- oldValue, value));
- }
-
- /**
- *
- *
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY:
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY:
if (resolve)
return getTypedKey();
return basicGetTypedKey();
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__VALUE:
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE:
return getTypedValue();
}
return super.eGet(featureID, resolve, coreType);
@@ -161,17 +150,18 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY:
- setTypedKey((EParameter) newValue);
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY:
+ setTypedKey((StageQualifier) newValue);
return;
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__VALUE:
- setTypedValue(newValue);
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE:
+ getTypedValue().clear();
+ getTypedValue().addAll((Collection extends Worker>) newValue);
return;
}
super.eSet(featureID, newValue);
@@ -179,17 +169,16 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY:
- setTypedKey((EParameter) null);
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY:
+ setTypedKey((StageQualifier) null);
return;
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__VALUE:
- setTypedValue(VALUE_EDEFAULT);
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE:
+ getTypedValue().clear();
return;
}
super.eUnset(featureID);
@@ -197,49 +186,30 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__KEY:
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__KEY:
return key != null;
- case ECPPackage.EPARAMETER_TO_OBJECT_MAP_ENTRY__VALUE:
- return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case ClassMakerPackage.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY__VALUE:
+ return value != null && !value.isEmpty();
}
return super.eIsSet(featureID);
}
/**
*
- *
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy())
- return super.toString();
-
- StringBuilder result = new StringBuilder(super.toString());
- result.append(" (value: ");
- result.append(value);
- result.append(')');
- return result.toString();
- }
-
- /**
- *
- *
* @generated
*/
protected int hash = -1;
/**
*
- *
* @generated
*/
+ @Override
public int getHash() {
if (hash == -1) {
Object theKey = getKey();
@@ -250,60 +220,60 @@ public int getHash() {
/**
*
- *
* @generated
*/
+ @Override
public void setHash(int hash) {
this.hash = hash;
}
/**
*
- *
* @generated
*/
- public EParameter getKey() {
+ @Override
+ public StageQualifier getKey() {
return getTypedKey();
}
/**
*
- *
* @generated
*/
- public void setKey(EParameter key) {
+ @Override
+ public void setKey(StageQualifier key) {
setTypedKey(key);
}
/**
*
- *
* @generated
*/
- public Object getValue() {
+ @Override
+ public EList getValue() {
return getTypedValue();
}
/**
*
- *
* @generated
*/
- public Object setValue(Object value) {
- Object oldValue = getValue();
- setTypedValue(value);
+ @Override
+ public EList setValue(EList value) {
+ EList oldValue = getValue();
+ getTypedValue().clear();
+ getTypedValue().addAll(value);
return oldValue;
}
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
- public EMap getEMap() {
+ public EMap> getEMap() {
EObject container = eContainer();
- return container == null ? null : (EMap) container.eGet(eContainmentFeature());
+ return container == null ? null : (EMap>) container.eGet(eContainmentFeature());
}
-} // EParameterToObjectMapEntryImpl
+} // StageQualifierToWorkersMapEntryImpl
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StateImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StateImpl.java
index a914a4e6..c75e2ec2 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StateImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StateImpl.java
@@ -19,13 +19,6 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.nio.file.FileSystems;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.StandardWatchEventKinds;
-import java.nio.file.WatchEvent;
-import java.nio.file.WatchKey;
-import java.nio.file.WatchService;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -102,7 +95,6 @@
import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
import org.enterprisedomain.classmaker.core.WrappingProgressMonitor;
import org.enterprisedomain.classmaker.jobs.EnterpriseDomainJob;
-import org.enterprisedomain.classmaker.util.ListUtil;
import org.enterprisedomain.classmaker.util.ModelUtil;
import org.enterprisedomain.classmaker.util.ResourceUtils;
import org.osgi.framework.Version;
@@ -114,44 +106,25 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getPackageClassName
- * Package Class Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditPluginClassName
- * Edit Plugin Class Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditorPluginClassName
- * Editor Plugin Class Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getRequiredPlugins
- * Required Plugins }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getRevision
- * Revision }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getTimestamp
- * Timestamp }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getDeployableUnitName
- * Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditDeployableUnitName
- * Edit Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditorDeployableUnitName
- * Editor Deployable Unit Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getJobFamily
- * Job Family }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getResource
- * Resource }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getCommitIds
- * Commit Ids }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getCommitId
- * Commit Id }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getStateCustomizers
- * State Customizers }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getProjectName
- * Project Name }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#isMaking
- * Making }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#isEdit
- * Edit }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#isEditor
- * Editor }
- * {@link org.enterprisedomain.classmaker.impl.StateImpl#getStrategy
- * Strategy }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getPackageClassName Package Class Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditPluginClassName Edit Plugin Class Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditorPluginClassName Editor Plugin Class Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getRequiredPlugins Required Plugins }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getRevision Revision }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getTimestamp Timestamp }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getDeployableUnitName Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditDeployableUnitName Edit Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getEditorDeployableUnitName Editor Deployable Unit Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getJobFamily Job Family }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getCommitId Commit Id }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getStateCustomizers State Customizers }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getNonExclusiveStateCustomizers Non Exclusive State Customizers }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getProjectName Project Name }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#isMaking Making }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#isEdit Edit }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#isEditor Editor }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getStrategy Strategy }
+ * {@link org.enterprisedomain.classmaker.impl.StateImpl#getBasePackage Base Package }
*
*
* @generated
@@ -159,9 +132,8 @@
public class StateImpl extends ItemImpl implements State {
/**
- * The default value of the '{@link #getPackageClassName() Package Class
- * Name }' attribute.
- *
+ * The default value of the '{@link #getPackageClassName() Package Class Name }' attribute.
+ *
* @see #getPackageClassName()
* @generated
* @ordered
@@ -169,9 +141,8 @@ public class StateImpl extends ItemImpl implements State {
protected static final String PACKAGE_CLASS_NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getPackageClassName() Package Class
- * Name }' attribute.
- *
+ * The cached value of the '{@link #getPackageClassName() Package Class Name }' attribute.
+ *
* @see #getPackageClassName()
* @generated
* @ordered
@@ -179,9 +150,8 @@ public class StateImpl extends ItemImpl implements State {
protected String packageClassName = PACKAGE_CLASS_NAME_EDEFAULT;
/**
- * The default value of the '{@link #getEditPluginClassName() Edit Plugin
- * Class Name }' attribute.
- *
+ * The default value of the '{@link #getEditPluginClassName() Edit Plugin Class Name }' attribute.
+ *
* @see #getEditPluginClassName()
* @generated
* @ordered
@@ -189,9 +159,8 @@ public class StateImpl extends ItemImpl implements State {
protected static final String EDIT_PLUGIN_CLASS_NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getEditPluginClassName() Edit Plugin
- * Class Name }' attribute.
- *
+ * The cached value of the '{@link #getEditPluginClassName() Edit Plugin Class Name }' attribute.
+ *
* @see #getEditPluginClassName()
* @generated
* @ordered
@@ -210,9 +179,8 @@ public class StateImpl extends ItemImpl implements State {
protected static final String EDITOR_PLUGIN_CLASS_NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getEditorPluginClassName() Editor Plugin
- * Class Name }' attribute.
- *
+ * The cached value of the '{@link #getEditorPluginClassName() Editor Plugin Class Name }' attribute.
+ *
* @see #getEditorPluginClassName()
* @generated
* @ordered
@@ -220,9 +188,8 @@ public class StateImpl extends ItemImpl implements State {
protected String editorPluginClassName = EDITOR_PLUGIN_CLASS_NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getRequiredPlugins() Required
- * Plugins }' attribute list.
- *
+ * The cached value of the '{@link #getRequiredPlugins() Required Plugins }' attribute list.
+ *
* @see #getRequiredPlugins()
* @generated
* @ordered
@@ -269,9 +236,8 @@ public void completed(Project result) throws Exception {
}
/**
- * The default value of the '{@link #getTimestamp() Timestamp }'
- * attribute.
- *
+ * The default value of the '{@link #getTimestamp() Timestamp }' attribute.
+ *
* @see #getTimestamp()
* @generated
* @ordered
@@ -279,9 +245,8 @@ public void completed(Project result) throws Exception {
protected static final long TIMESTAMP_EDEFAULT = 0L;
/**
- * The cached value of the '{@link #getTimestamp() Timestamp }'
- * attribute.
- *
+ * The cached value of the '{@link #getTimestamp() Timestamp }' attribute.
+ *
* @see #getTimestamp()
* @generated
* @ordered
@@ -299,9 +264,8 @@ public void completed(Project result) throws Exception {
protected static final Version VERSION_EDEFAULT = Version.emptyVersion;
/**
- * The default value of the '{@link #getDeployableUnitName() Deployable Unit
- * Name }' attribute.
- *
+ * The default value of the '{@link #getDeployableUnitName() Deployable Unit Name }' attribute.
+ *
* @see #getDeployableUnitName()
* @generated
* @ordered
@@ -309,10 +273,9 @@ public void completed(Project result) throws Exception {
protected static final String DEPLOYABLE_UNIT_NAME_EDEFAULT = ""; //$NON-NLS-1$
/**
- * The default value of the '{@link #getEditDeployableUnitName() Edit
- * Deployable Unit Name }' attribute.
- *
* @see #getEditDeployableUnitName()
* @generated
* @ordered
@@ -320,10 +283,9 @@ public void completed(Project result) throws Exception {
protected static final String EDIT_DEPLOYABLE_UNIT_NAME_EDEFAULT = "";
/**
- * The default value of the '{@link #getEditorDeployableUnitName() Editor
- * Deployable Unit Name }' attribute.
- *
* @see #getEditorDeployableUnitName()
* @generated
* @ordered
@@ -331,9 +293,8 @@ public void completed(Project result) throws Exception {
protected static final String EDITOR_DEPLOYABLE_UNIT_NAME_EDEFAULT = "";
/**
- * The default value of the '{@link #getJobFamily() Job Family }'
- * attribute.
- *
+ * The default value of the '{@link #getJobFamily() Job Family }' attribute.
+ *
* @see #getJobFamily()
* @generated
* @ordered
@@ -341,9 +302,8 @@ public void completed(Project result) throws Exception {
protected static final String JOB_FAMILY_EDEFAULT = null;
/**
- * The cached value of the '{@link #getJobFamily() Job Family }'
- * attribute.
- *
+ * The cached value of the '{@link #getJobFamily() Job Family }' attribute.
+ *
* @see #getJobFamily()
* @generated
* @ordered
@@ -351,29 +311,8 @@ public void completed(Project result) throws Exception {
protected String jobFamily = JOB_FAMILY_EDEFAULT;
/**
- * The cached value of the '{@link #getResource() Resource }' reference.
+ * The default value of the '{@link #getCommitId() Commit Id }' attribute.
*
- *
- * @see #getResource()
- * @generated
- * @ordered
- */
- protected Resource resource;
-
- /**
- * The cached value of the '{@link #getCommitIds() Commit Ids }'
- * attribute list.
- *
- * @see #getCommitIds()
- * @generated
- * @ordered
- */
- protected EList commitIds;
-
- /**
- * The default value of the '{@link #getCommitId() Commit Id }'
- * attribute.
- *
* @see #getCommitId()
* @generated
* @ordered
@@ -381,9 +320,8 @@ public void completed(Project result) throws Exception {
protected static final String COMMIT_ID_EDEFAULT = null;
/**
- * The cached value of the '{@link #getCommitId() Commit Id }'
- * attribute.
- *
+ * The cached value of the '{@link #getCommitId() Commit Id }' attribute.
+ *
* @see #getCommitId()
* @generated
* @ordered
@@ -391,9 +329,8 @@ public void completed(Project result) throws Exception {
protected String commitId = COMMIT_ID_EDEFAULT;
/**
- * The cached value of the '{@link #getStateCustomizers() State
- * Customizers }' map.
- *
+ * The cached value of the '{@link #getStateCustomizers() State Customizers }' map.
+ *
* @see #getStateCustomizers()
* @generated
* @ordered
@@ -401,9 +338,18 @@ public void completed(Project result) throws Exception {
protected EMap stateCustomizers;
/**
- * The default value of the '{@link #getProjectName() Project Name }'
- * attribute.
- *
+ * The cached value of the '{@link #getNonExclusiveStateCustomizers() Non Exclusive State Customizers }' map.
+ *
+ * @see #getNonExclusiveStateCustomizers()
+ * @generated
+ * @ordered
+ */
+ protected EMap nonExclusiveStateCustomizers;
+
+ /**
+ * The default value of the '{@link #getProjectName() Project Name }' attribute.
+ *
* @see #getProjectName()
* @generated
* @ordered
@@ -413,7 +359,6 @@ public void completed(Project result) throws Exception {
/**
* The default value of the '{@link #isMaking() Making }' attribute.
*
- *
* @see #isMaking()
* @generated
* @ordered
@@ -453,7 +398,6 @@ public void completed(Project result) throws Exception {
/**
* The default value of the '{@link #isEditor() Editor }' attribute.
*
- *
* @see #isEditor()
* @generated
* @ordered
@@ -473,21 +417,36 @@ public void completed(Project result) throws Exception {
/**
* The cached value of the '{@link #getStrategy() Strategy }' reference.
*
- *
* @see #getStrategy()
* @generated
* @ordered
*/
protected Strategy strategy;
+ /**
+ * The default value of the '{@link #getBasePackage() Base Package }' attribute.
+ *
+ * @see #getBasePackage()
+ * @generated
+ * @ordered
+ */
+ protected static final String BASE_PACKAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBasePackage() Base Package }' attribute.
+ *
+ * @see #getBasePackage()
+ * @generated
+ * @ordered
+ */
+ protected String basePackage = BASE_PACKAGE_EDEFAULT;
+
protected String language = LANGUAGE_EDEFAULT;
private boolean loading = false;
private Object makingLock = new Object();
- private WatchService watch = null;
-
/**
*
*
@@ -511,15 +470,21 @@ public void resourceChanged(IResourceChangeEvent event) {
@Override
public boolean visit(IResourceDelta delta) throws CoreException {
- if (delta.getResource().getType() == IResource.FILE && delta.getResource().getLocation()
- .toFile().getPath().equals(getResource().getURI().toFileString())) {
+ if (delta.getResource().getType() == IResource.FILE
+ && delta.getResource().getLocation() != null && delta.getResource().getLocation()
+ .toFile().getPath().equals(getResource().getURI().toFileString())) {
if ((delta.getFlags() & IResourceDelta.CONTENT) != 0) {
try {
Resource resource = getProject().getWorkspace().getResourceSet().getResource(
URI.createFileURI(delta.getResource().getLocation().toString()), false);
+ EObject eObject = null;
+ if (!resource.getContents().isEmpty())
+ eObject = resource.getContents().get(0);
resource.unload();
resource.load(new FileInputStream(delta.getResource().getLocation().toFile()),
Collections.emptyMap());
+ if (resource.getContents().isEmpty())
+ resource.getContents().add(eObject);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
@@ -540,7 +505,6 @@ public boolean visit(IResourceDelta delta) throws CoreException {
/**
*
- *
* @generated
*/
@Override
@@ -550,7 +514,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
@Override
@@ -560,7 +523,6 @@ public String getPackageClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -574,7 +536,6 @@ public void setPackageClassName(String newPackageClassName) {
/**
*
- *
* @generated
*/
@Override
@@ -584,7 +545,6 @@ public String getEditPluginClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -598,7 +558,6 @@ public void setEditPluginClassName(String newEditPluginClassName) {
/**
*
- *
* @generated
*/
@Override
@@ -608,7 +567,6 @@ public String getEditorPluginClassName() {
/**
*
- *
* @generated
*/
@Override
@@ -638,7 +596,6 @@ public EList getRequiredPlugins() {
/**
*
- *
* @generated
*/
@Override
@@ -648,7 +605,6 @@ public long getTimestamp() {
/**
*
- *
* @generated
*/
@Override
@@ -730,65 +686,66 @@ public void setParent(Item newParent) {
}
@Override
- public String initialize(boolean commit) {
+ public String initialize() {
if (!eIsSet(ClassMakerPackage.STATE__MODEL_NAME))
- super.initialize(commit);
+ super.initialize();
if (eIsSet(ClassMakerPackage.STATE__PROJECT)
&& getProject().eIsSet(ClassMakerPackage.Literals.PROJECT__PROJECT_NAME)
&& ResourceUtils.isProjectExists(getProjectName())) {
- URI modelURI = getModelURI();
+ ClassMakerPlugin.print(NLS.bind("State {0} of {1} {2} initialize",
+ new Object[] { getTimestamp(), getProject().getName(), getRevision().getVersion() }));
+ URI modelURI = obtainModelURI();
loadResource(modelURI, !eIsSet(ClassMakerPackage.STATE__RESOURCE), true);
saveResource();
if (!getPhase().equals(Stage.LOADED))
setPhase(Stage.MODELED);
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- if (commit)
- try {
- String[] segments = modelURI.deresolve(URI.createFileURI(root.getRawLocation().toString()))
- .segments();
- String[] path = new String[segments.length - 2];
- System.arraycopy(segments, 2, path, 0, segments.length - 2);
- add(URI.createHierarchicalURI(path, null, null).toString());
- String result = commit();
- return result;
- } catch (Exception e) {
- ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
- return null;
- }
- else {
- @SuppressWarnings("unchecked")
- SCMOperator operator = (SCMOperator) getProject().getWorkspace().getSCMRegistry()
- .get(getProjectName());
- try {
- Git git = operator.getRepositorySCM();
- Ref branch = git.getRepository().findRef(getRevision().getVersion().toString());
- LogCommand log = git.log();
- log.add(branch.getObjectId());
- Iterable commits = log.call();
- for (RevCommit c : commits) {
- if (operator.decodeTimestamp(c.getShortMessage()) == getTimestamp()) {
- String id = c.getId().toString();
- getCommitIds().add(id);
- setCommitId(id);
- }
+ @SuppressWarnings("unchecked")
+ SCMOperator operator = (SCMOperator) getProject().getWorkspace().getSCMRegistry()
+ .get(getProjectName());
+ try {
+ Git git = operator.getRepositorySCM();
+ Ref branch = git.getRepository().findRef(getRevision().getVersion().toString());
+ LogCommand log = git.log();
+ log.add(branch.getObjectId());
+ Iterable commits = log.call();
+ for (RevCommit c : commits) {
+ if (operator.decodeTimestamp(c.getShortMessage()) == getTimestamp()) {
+ String id = c.getId().toString();
+ setCommitId(id);
}
- } catch (Exception e) {
- } finally {
+ }
+ if (getCommitId().isEmpty()) {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
try {
- operator.ungetRepositorySCM();
+ String[] segments = modelURI.deresolve(URI.createFileURI(root.getRawLocation().toString()))
+ .segments();
+ String[] path = new String[segments.length - 2];
+ System.arraycopy(segments, 2, path, 0, segments.length - 2);
+ add(URI.createHierarchicalURI(path, null, null).toString());
+ String result = commit();
+ setCommitId(result);
+ return result;
} catch (Exception e) {
- ClassMakerPlugin.getInstance().getLog()
- .log(new Status(IStatus.ERROR, ClassMakerPlugin.PLUGIN_ID, e.getLocalizedMessage(), e));
+ ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
+ return null;
}
}
+ } catch (Exception e) {
+ } finally {
+ try {
+ operator.ungetRepositorySCM();
+ } catch (Exception e) {
+ ClassMakerPlugin.getInstance().getLog()
+ .log(new Status(IStatus.ERROR, ClassMakerPlugin.PLUGIN_ID, e.getLocalizedMessage(), e));
+ }
}
}
- return getCommitId(); // $NON-NLS-1$
+ return getCommitId();
}
private URI modelURI;
- private URI getModelURI() {
+ private URI obtainModelURI() {
if (modelURI == null) {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject(
@@ -924,10 +881,12 @@ && objectsDiffer(getDomainModel().getDynamic(), resource.getContents())
setPhase(Stage.MODELED);
}
if (!resource.getContents().isEmpty()) {
- Map options = new HashMap();
+ Map options = new HashMap();
options.put(XMLResource.OPTION_ENCODING, "UTF-8");
options.put(XMLResource.OPTION_SAVE_ONLY_IF_CHANGED,
XMLResource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ ((XMLResource) resource).getDefaultSaveOptions().put(XMLResource.OPTION_PROCESS_DANGLING_HREF,
+ XMLResource.OPTION_PROCESS_DANGLING_HREF_RECORD);
resource.save(options);
}
} catch (IOException e) {
@@ -942,7 +901,6 @@ && objectsDiffer(getDomainModel().getDynamic(), resource.getContents())
/**
*
- *
* @generated
*/
@Override
@@ -992,13 +950,13 @@ public String make(IProgressMonitor monitor) throws Exception {
SubMonitor m = null;
try {
if (isMaking())
- if (!getCommitIds().isEmpty())
- return ListUtil.getLast(getCommitIds());
+ if (!eIsSet(ClassMakerPackage.STATE__COMMIT_ID))
+ return getCommitId();
else
return ""; //$NON-NLS-1$
saveResource();
try {
- loadResource(getModelURI(), !eIsSet(ClassMakerPackage.STATE__RESOURCE), true);
+ loadResource(obtainModelURI(), !eIsSet(ClassMakerPackage.STATE__RESOURCE), true);
} catch (Exception e) {
}
saveResource();
@@ -1025,7 +983,8 @@ public String make(IProgressMonitor monitor) throws Exception {
ResourceUtils.createProject(project, ClassMakerPlugin.CONTRIBUTION_NATURE_ID, wrappingMonitor);
}
- getStrategy().configureJobs(getStrategy().getGenerators().isEmpty(), wrappingMonitor);
+ getStrategy().configureJobs(getStrategy().get(Stage.GENERATED, "project.create.generator").isEmpty(),
+ wrappingMonitor);
monitor.beginTask(Messages.Save, 4);
@@ -1035,23 +994,23 @@ public String make(IProgressMonitor monitor) throws Exception {
saveResource();
setPhase(Stage.MODELED);
case Stage.MODELED_VALUE:
- job = EnterpriseDomainJob
- .getJob(getStrategy().getGenerators().get(getStrategy().getGenerators().size() - 1));
+ job = EnterpriseDomainJob.getJob(getStrategy().get(Stage.GENERATED, "project.create.generator")
+ .get(getStrategy().get(Stage.GENERATED, "project.create.generator").size() - 1));
job.schedule();
break;
case Stage.GENERATED_VALUE:
- job = EnterpriseDomainJob
- .getJob(getStrategy().getExporters().get(getStrategy().getExporters().size() - 1));
+ job = EnterpriseDomainJob.getJob(getStrategy().get(Stage.EXPORTED, "project.create.exporter")
+ .get(getStrategy().get(Stage.EXPORTED, "project.create.exporter").size() - 1));
job.schedule();
break;
case Stage.EXPORTED_VALUE:
- job = EnterpriseDomainJob
- .getJob(getStrategy().getInstallers().get(getStrategy().getInstallers().size() - 1));
+ job = EnterpriseDomainJob.getJob(getStrategy().get(Stage.INSTALLED, "project.create.installer")
+ .get(getStrategy().get(Stage.INSTALLED, "project.create.installer").size() - 1));
job.schedule();
break;
case Stage.INSTALLED_VALUE:
- job = EnterpriseDomainJob
- .getJob(getStrategy().getLoaders().get(getStrategy().getLoaders().size() - 1));
+ job = EnterpriseDomainJob.getJob(getStrategy().get(Stage.LOADED, "project.create.loader")
+ .get(getStrategy().get(Stage.LOADED, "project.create.loader").size() - 1));
job.schedule();
break;
}
@@ -1106,11 +1065,12 @@ public String make(IProgressMonitor monitor) throws Exception {
*/
@Override
public void load(boolean create, boolean loadOnDemand) throws CoreException {
- loadResource(getModelURI(), create, loadOnDemand);
+ loadResource(obtainModelURI(), create, loadOnDemand);
if (ClassMakerServiceImpl.initializing && getPhase().getValue() == Stage.LOADED_VALUE) {
- getStrategy().configureJobs(getStrategy().getLoaders().isEmpty(), ClassMakerPlugin.getProgressMonitor());
- Job job = EnterpriseDomainJob
- .getJob(getStrategy().getInstallers().get(getStrategy().getInstallers().size() - 1));
+ getStrategy().configureJobs(getStrategy().get(Stage.LOADED, "project.create.loader").isEmpty(),
+ ClassMakerPlugin.getProgressMonitor());
+ Job job = EnterpriseDomainJob.getJob(getStrategy().get(Stage.INSTALLED, "project.create.installer")
+ .get(getStrategy().get(Stage.INSTALLED, "project.create.installer").size() - 1));
job.schedule();
try {
job.join();
@@ -1125,11 +1085,8 @@ public void load(boolean create, boolean loadOnDemand) throws CoreException {
* @generated NOT
*/
public void checkout() {
- if (getCommitIds().isEmpty()) {
- return;
- }
if (!eIsSet(ClassMakerPackage.STATE__COMMIT_ID))
- setCommitId(ListUtil.getLast(getCommitIds()));
+ setCommitId(getCommitId());
checkout(getCommitId(), true);
}
@@ -1155,7 +1112,6 @@ public void checkout(String commitId, boolean forced) {
} catch (Exception e) {
ClassMakerPlugin.getInstance().getLog().log(ClassMakerPlugin.createErrorStatus(e));
}
-
}
/**
@@ -1181,14 +1137,12 @@ public String commit() throws Exception {
.get(getProjectName());
String commitId = null;
commitId = operator.commit(operator.encodeCommitMessage(this));
- getCommitIds().add(commitId);
setCommitId(commitId);
return commitId;
}
/**
*
- *
* @generated
*/
@Override
@@ -1196,6 +1150,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
switch (featureID) {
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
return ((InternalEList>) getStateCustomizers()).basicRemove(otherEnd, msgs);
+ case ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS:
+ return ((InternalEList>) getNonExclusiveStateCustomizers()).basicRemove(otherEnd, msgs);
case ClassMakerPackage.STATE__STRATEGY:
return basicSetStrategy(null, msgs);
}
@@ -1309,6 +1265,8 @@ public void notifyChanged(Notification notification) {
public void copyModel(Item from) {
if (from instanceof Contribution && !((ContributionImpl) from).isStateSet())
return;
+ if (from.getResource() != null)
+ EcoreUtil.resolveAll(from.getResource());
super.copyModel(from);
}
@@ -1335,7 +1293,6 @@ public void setProject(Project newProject) {
/**
*
- *
* @generated
*/
@Override
@@ -1380,7 +1337,6 @@ public String getJobFamily() {
/**
*
- *
* @generated
*/
@Override
@@ -1394,44 +1350,6 @@ public void setJobFamily(String newJobFamily) {
/**
*
- *
- * @generated
- */
- @Override
- public Resource getResource() {
- return resource;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void setResource(Resource newResource) {
- Resource oldResource = resource;
- resource = newResource;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.STATE__RESOURCE, oldResource,
- resource));
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getCommitIds() {
- if (commitIds == null) {
- commitIds = new EDataTypeUniqueEList(String.class, this, ClassMakerPackage.STATE__COMMIT_IDS);
- }
- return commitIds;
- }
-
- /**
- *
- *
* @generated
*/
@Override
@@ -1441,7 +1359,6 @@ public String getCommitId() {
/**
*
- *
* @generated
*/
@Override
@@ -1460,7 +1377,6 @@ public EMap getCustomizers() {
/**
*
- *
* @generated
*/
@Override
@@ -1473,6 +1389,21 @@ public EMap getStateCustomizers() {
return stateCustomizers;
}
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public EMap getNonExclusiveStateCustomizers() {
+ if (nonExclusiveStateCustomizers == null) {
+ nonExclusiveStateCustomizers = new EcoreEMap(
+ ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY,
+ StageQualifierToCustomizerMapEntryImpl.class, this,
+ ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS);
+ }
+ return nonExclusiveStateCustomizers;
+ }
+
/**
*
*
@@ -1496,7 +1427,6 @@ public void setProjectName(String newProjectName) {
/**
*
- *
* @generated
*/
@Override
@@ -1506,7 +1436,6 @@ public boolean isMaking() {
/**
*
- *
* @generated
*/
@Override
@@ -1519,7 +1448,6 @@ public void setMaking(boolean newMaking) {
/**
*
- *
* @generated
*/
@Override
@@ -1529,7 +1457,6 @@ public boolean isEdit() {
/**
*
- *
* @generated
*/
@Override
@@ -1542,7 +1469,6 @@ public void setEdit(boolean newEdit) {
/**
*
- *
* @generated
*/
@Override
@@ -1552,7 +1478,6 @@ public boolean isEditor() {
/**
*
- *
* @generated
*/
@Override
@@ -1565,7 +1490,6 @@ public void setEditor(boolean newEditor) {
/**
*
- *
* @generated
*/
@Override
@@ -1584,7 +1508,6 @@ public Strategy getStrategy() {
/**
*
- *
* @generated
*/
public Strategy basicGetStrategy() {
@@ -1593,7 +1516,6 @@ public Strategy basicGetStrategy() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetStrategy(Strategy newStrategy, NotificationChain msgs) {
@@ -1612,7 +1534,6 @@ public NotificationChain basicSetStrategy(Strategy newStrategy, NotificationChai
/**
*
- *
* @generated
*/
@Override
@@ -1633,6 +1554,28 @@ public void setStrategy(Strategy newStrategy) {
newStrategy));
}
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public String getBasePackage() {
+ return basePackage;
+ }
+
+ /**
+ *
+ * @generated
+ */
+ @Override
+ public void setBasePackage(String newBasePackage) {
+ String oldBasePackage = basePackage;
+ basePackage = newBasePackage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ClassMakerPackage.STATE__BASE_PACKAGE, oldBasePackage,
+ basePackage));
+ }
+
/**
*
*
@@ -1718,7 +1661,6 @@ public EObject find(EObject eObject, Stage stage) {
/**
*
- *
* @generated
*/
@Override
@@ -1746,10 +1688,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
return getEditorDeployableUnitName();
case ClassMakerPackage.STATE__JOB_FAMILY:
return getJobFamily();
- case ClassMakerPackage.STATE__RESOURCE:
- return getResource();
- case ClassMakerPackage.STATE__COMMIT_IDS:
- return getCommitIds();
case ClassMakerPackage.STATE__COMMIT_ID:
return getCommitId();
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
@@ -1757,6 +1695,11 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
return getStateCustomizers();
else
return getStateCustomizers().map();
+ case ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS:
+ if (coreType)
+ return getNonExclusiveStateCustomizers();
+ else
+ return getNonExclusiveStateCustomizers().map();
case ClassMakerPackage.STATE__PROJECT_NAME:
return getProjectName();
case ClassMakerPackage.STATE__MAKING:
@@ -1769,13 +1712,14 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
if (resolve)
return getStrategy();
return basicGetStrategy();
+ case ClassMakerPackage.STATE__BASE_PACKAGE:
+ return getBasePackage();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
@@ -1813,19 +1757,15 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.STATE__JOB_FAMILY:
setJobFamily((String) newValue);
return;
- case ClassMakerPackage.STATE__RESOURCE:
- setResource((Resource) newValue);
- return;
- case ClassMakerPackage.STATE__COMMIT_IDS:
- getCommitIds().clear();
- getCommitIds().addAll((Collection extends String>) newValue);
- return;
case ClassMakerPackage.STATE__COMMIT_ID:
setCommitId((String) newValue);
return;
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
((EStructuralFeature.Setting) getStateCustomizers()).set(newValue);
return;
+ case ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS:
+ ((EStructuralFeature.Setting) getNonExclusiveStateCustomizers()).set(newValue);
+ return;
case ClassMakerPackage.STATE__PROJECT_NAME:
setProjectName((String) newValue);
return;
@@ -1841,13 +1781,15 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.STATE__STRATEGY:
setStrategy((Strategy) newValue);
return;
+ case ClassMakerPackage.STATE__BASE_PACKAGE:
+ setBasePackage((String) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
/**
*
- *
* @generated
*/
@Override
@@ -1883,18 +1825,15 @@ public void eUnset(int featureID) {
case ClassMakerPackage.STATE__JOB_FAMILY:
setJobFamily(JOB_FAMILY_EDEFAULT);
return;
- case ClassMakerPackage.STATE__RESOURCE:
- setResource((Resource) null);
- return;
- case ClassMakerPackage.STATE__COMMIT_IDS:
- getCommitIds().clear();
- return;
case ClassMakerPackage.STATE__COMMIT_ID:
setCommitId(COMMIT_ID_EDEFAULT);
return;
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
getStateCustomizers().clear();
return;
+ case ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS:
+ getNonExclusiveStateCustomizers().clear();
+ return;
case ClassMakerPackage.STATE__PROJECT_NAME:
setProjectName(PROJECT_NAME_EDEFAULT);
return;
@@ -1910,13 +1849,15 @@ public void eUnset(int featureID) {
case ClassMakerPackage.STATE__STRATEGY:
setStrategy((Strategy) null);
return;
+ case ClassMakerPackage.STATE__BASE_PACKAGE:
+ setBasePackage(BASE_PACKAGE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -1948,14 +1889,12 @@ public boolean eIsSet(int featureID) {
: !EDITOR_DEPLOYABLE_UNIT_NAME_EDEFAULT.equals(getEditorDeployableUnitName());
case ClassMakerPackage.STATE__JOB_FAMILY:
return JOB_FAMILY_EDEFAULT == null ? jobFamily != null : !JOB_FAMILY_EDEFAULT.equals(jobFamily);
- case ClassMakerPackage.STATE__RESOURCE:
- return resource != null;
- case ClassMakerPackage.STATE__COMMIT_IDS:
- return commitIds != null && !commitIds.isEmpty();
case ClassMakerPackage.STATE__COMMIT_ID:
return COMMIT_ID_EDEFAULT == null ? commitId != null : !COMMIT_ID_EDEFAULT.equals(commitId);
case ClassMakerPackage.STATE__STATE_CUSTOMIZERS:
return stateCustomizers != null && !stateCustomizers.isEmpty();
+ case ClassMakerPackage.STATE__NON_EXCLUSIVE_STATE_CUSTOMIZERS:
+ return nonExclusiveStateCustomizers != null && !nonExclusiveStateCustomizers.isEmpty();
case ClassMakerPackage.STATE__PROJECT_NAME:
return PROJECT_NAME_EDEFAULT == null ? getProjectName() != null
: !PROJECT_NAME_EDEFAULT.equals(getProjectName());
@@ -1967,13 +1906,14 @@ public boolean eIsSet(int featureID) {
return editor != EDITOR_EDEFAULT;
case ClassMakerPackage.STATE__STRATEGY:
return strategy != null;
+ case ClassMakerPackage.STATE__BASE_PACKAGE:
+ return BASE_PACKAGE_EDEFAULT == null ? basePackage != null : !BASE_PACKAGE_EDEFAULT.equals(basePackage);
}
return super.eIsSet(featureID);
}
/**
*
- *
* @generated
*/
@Override
@@ -1994,8 +1934,6 @@ public String toString() {
result.append(timestamp);
result.append(", jobFamily: ");
result.append(jobFamily);
- result.append(", commitIds: ");
- result.append(commitIds);
result.append(", commitId: ");
result.append(commitId);
result.append(", making: ");
@@ -2004,6 +1942,8 @@ public String toString() {
result.append(edit);
result.append(", editor: ");
result.append(editor);
+ result.append(", basePackage: ");
+ result.append(basePackage);
result.append(')');
return result.toString();
}
@@ -2056,22 +1996,23 @@ public void build(IProgressMonitor monitor) throws CoreException {
break;
case Stage.MODELED_VALUE:
saveResource();
- generatorJob = EnterpriseDomainJob
- .getJob(getStrategy().getGenerators().get(getStrategy().getGenerators().size() - 1));
+ generatorJob = EnterpriseDomainJob.getJob(getStrategy().get(Stage.GENERATED, "project.create.generator")
+ .get(getStrategy().get(Stage.GENERATED, "project.create.generator").size() - 1));
generatorJob.schedule();
break;
case Stage.GENERATED_VALUE:
- exportJob = EnterpriseDomainJob
- .getJob(getStrategy().getExporters().get(getStrategy().getExporters().size() - 1));
+ exportJob = EnterpriseDomainJob.getJob(getStrategy().get(Stage.EXPORTED, "project.create.exporter")
+ .get(getStrategy().get(Stage.EXPORTED, "project.create.exporter").size() - 1));
exportJob.schedule();
break;
case Stage.EXPORTED_VALUE:
- installJob = EnterpriseDomainJob
- .getJob(getStrategy().getInstallers().get(getStrategy().getInstallers().size() - 1));
+ installJob = EnterpriseDomainJob.getJob(getStrategy().get(Stage.INSTALLED, "project.create.installer")
+ .get(getStrategy().get(Stage.INSTALLED, "project.create.installer").size() - 1));
installJob.schedule();
break;
case Stage.INSTALLED_VALUE:
- loadJob = EnterpriseDomainJob.getJob(getStrategy().getLoaders().get(getStrategy().getLoaders().size() - 1));
+ loadJob = EnterpriseDomainJob.getJob(getStrategy().get(Stage.LOADED, "project.create.loader")
+ .get(getStrategy().get(Stage.LOADED, "project.create.loader").size() - 1));
loadJob.schedule();
break;
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StrategyImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StrategyImpl.java
index 808d4622..bb6d7b6b 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StrategyImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/StrategyImpl.java
@@ -15,7 +15,7 @@
*/
package org.enterprisedomain.classmaker.impl;
-import java.util.Collection;
+import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -26,11 +26,14 @@
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.ECollections;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.ClassMakerService;
import org.enterprisedomain.classmaker.Customizer;
@@ -51,70 +54,34 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getGenerators
- * Generators }
- * {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getExporters
- * Exporters }
- * {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getInstallers
- * Installers }
- * {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getLoaders
- * Loaders }
* {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getState
* State }
+ * {@link org.enterprisedomain.classmaker.impl.StrategyImpl#getWorkers
+ * Workers }
*
*
* @generated
*/
public class StrategyImpl extends EObjectImpl implements Strategy {
/**
- * The cached value of the '{@link #getGenerators() Generators }'
- * reference list.
- *
- * @see #getGenerators()
- * @generated
- * @ordered
- */
- protected EList generators;
-
- /**
- * The cached value of the '{@link #getExporters() Exporters }'
- * reference list.
- *
- * @see #getExporters()
- * @generated
- * @ordered
- */
- protected EList exporters;
-
- /**
- * The cached value of the '{@link #getInstallers() Installers }'
- * reference list.
- *
- * @see #getInstallers()
- * @generated
- * @ordered
- */
- protected EList installers;
-
- /**
- * The cached value of the '{@link #getLoaders() Loaders }' reference
- * list.
+ * The cached value of the '{@link #getState() State }' reference.
*
- * @see #getLoaders()
+ * @see #getState()
* @generated
* @ordered
*/
- protected EList loaders;
+ protected State state;
/**
- * The cached value of the '{@link #getState() State }' reference.
*
- * @see #getState()
+ * @see #getWorkers()
* @generated
* @ordered
*/
- protected State state;
+ protected EMap> workers;
/**
*
@@ -135,58 +102,6 @@ protected EClass eStaticClass() {
return ClassMakerPackage.Literals.STRATEGY;
}
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getGenerators() {
- if (generators == null) {
- generators = new EObjectEList(Worker.class, this, ClassMakerPackage.STRATEGY__GENERATORS);
- }
- return generators;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getExporters() {
- if (exporters == null) {
- exporters = new EObjectEList(Worker.class, this, ClassMakerPackage.STRATEGY__EXPORTERS);
- }
- return exporters;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getInstallers() {
- if (installers == null) {
- installers = new EObjectEList(Worker.class, this, ClassMakerPackage.STRATEGY__INSTALLERS);
- }
- return installers;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public EList getLoaders() {
- if (loaders == null) {
- loaders = new EObjectEList(Worker.class, this, ClassMakerPackage.STRATEGY__LOADERS);
- }
- return loaders;
- }
-
/**
*
*
@@ -260,13 +175,16 @@ public void setState(State newState) {
/**
*
*
- * @generated NOT
+ * @generated
*/
- public Worker createGenerator() {
- getGenerators().add(createWithCustomizer(
- ClassMakerService.Stages.lookup(ClassMakerService.Stages.ID_PREFIX + "project.create.generator"), //$NON-NLS-1$
- getGenerators().size(), getEclipseProject(), getState().getTimestamp()));
- return getGenerators().get(getGenerators().size() - 1);
+ @Override
+ public EMap> getWorkers() {
+ if (workers == null) {
+ workers = new EcoreEMap>(
+ ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_WORKERS_MAP_ENTRY,
+ StageQualifierToWorkersMapEntryImpl.class, this, ClassMakerPackage.STRATEGY__WORKERS);
+ }
+ return workers;
}
/**
@@ -274,35 +192,30 @@ public Worker createGenerator() {
*
* @generated NOT
*/
- public Worker createExporter() {
- getExporters().add(createWithCustomizer(
- ClassMakerService.Stages.lookup(ClassMakerService.Stages.ID_PREFIX + "project.create.exporter"), //$NON-NLS-1$
- getExporters().size(), Long.valueOf(getState().getTimestamp())));
- return getExporters().get(getExporters().size() - 1);
+ private Worker create(Stage stage, String step) {
+ StageQualifier stageQualifier = stageLookup(stage, step);
+ Worker worker = createWithCustomizer(stageQualifier,
+ getWorkers().get(stageQualifier) != null ? getWorkers().get(stageQualifier).size() : 0,
+ getState().getTimestamp(), getEclipseProject());
+ if (getWorkers().containsKey(stageQualifier)) {
+ EList workers = getWorkers().get(stageQualifier);
+ workers.add(worker);
+ getWorkers().put(stageQualifier, workers);
+ } else {
+ getWorkers().put(stageQualifier, ECollections.newBasicEList(worker));
+ }
+ return worker;
}
- /**
- *
- *
- * @generated NOT
- */
- public Worker createInstaller() {
- getInstallers().add(createWithCustomizer(
- ClassMakerService.Stages.lookup(ClassMakerService.Stages.ID_PREFIX + "project.create.installer"), //$NON-NLS-1$
- getInstallers().size(), Long.valueOf(getState().getTimestamp())));
- return getInstallers().get(getInstallers().size() - 1);
+ private StageQualifier stageLookup(Stage stage, String step) {
+ return ClassMakerService.Stages.lookup(stage, step);
}
- /**
- *
- *
- * @generated NOT
- */
- public Worker createModelLoader() {
- getLoaders().add(createWithCustomizer(
- ClassMakerService.Stages.lookup(ClassMakerService.Stages.ID_PREFIX + "project.create.loader"), //$NON-NLS-1$
- getLoaders().size(), Long.valueOf(getState().getTimestamp())));
- return getLoaders().get(getLoaders().size() - 1);
+ private Worker getOrCreate(boolean create, Stage stage, String step) {
+ if (create)
+ return create(stage, step);
+ else
+ return get(stage, step).get(get(stage, step).size() - 1);
}
/**
@@ -312,11 +225,16 @@ public Worker createModelLoader() {
*/
@Override
public Worker getReturnWorker() {
- int depth = configureJobs(getGenerators().size() < 5, ClassMakerPlugin.getProgressMonitor());
- EnterpriseDomainJob generatorJob = EnterpriseDomainJob.getJob(getGenerators().get(depth));
- EnterpriseDomainJob exporterJob = EnterpriseDomainJob.getJob(getExporters().get(depth));
- EnterpriseDomainJob installerJob = EnterpriseDomainJob.getJob(getInstallers().get(depth));
- EnterpriseDomainJob loaderJob = EnterpriseDomainJob.getJob(getLoaders().get(depth));
+ int depth = configureJobs(get(Stage.GENERATED, "project.create.generator").size() < 5,
+ ClassMakerPlugin.getProgressMonitor());
+ EnterpriseDomainJob generatorJob = EnterpriseDomainJob
+ .getJob(get(Stage.GENERATED, "project.create.generator").get(depth));
+ EnterpriseDomainJob exporterJob = EnterpriseDomainJob
+ .getJob(get(Stage.EXPORTED, "project.create.exporter").get(depth));
+ EnterpriseDomainJob installerJob = EnterpriseDomainJob
+ .getJob(get(Stage.INSTALLED, "project.create.installer").get(depth));
+ EnterpriseDomainJob loaderJob = EnterpriseDomainJob
+ .getJob(get(Stage.LOADED, "project.create.loader").get(depth));
switch (depth % 5) {
case 1:
switch (getState().getPhase().getValue()) {
@@ -377,11 +295,7 @@ private IProject getEclipseProject() {
*/
@Override
public int configureJobs(boolean create, IProgressMonitor monitor) {
- Worker exporter = null;
- if (create)
- exporter = createExporter();
- else
- exporter = getExporters().get(getExporters().size() - 1);
+ Worker exporter = getOrCreate(create, Stage.EXPORTED, "project.create.exporter");
EnterpriseDomainJob exporterJob = EnterpriseDomainJob.getJob(exporter);
exporterJob.setContributionState(getState());
@@ -391,13 +305,9 @@ public int configureJobs(boolean create, IProgressMonitor monitor) {
exporterJob.setProject(getEclipseProject());
exporterJob.setChangeRule(changeRule);
exporter.getProperties().put(AbstractExporter.EXPORT_DESTINATION_PROP,
- ResourceUtils.getExportDestination(getEclipseProject()).toString());
+ ResourceUtils.getExportDestination(getState()).toString());
- Worker generator = null;
- if (create)
- generator = createGenerator();
- else
- generator = getGenerators().get(getGenerators().size() - 1);
+ Worker generator = getOrCreate(create, Stage.GENERATED, "project.create.generator");
EnterpriseDomainJob generatorJob = EnterpriseDomainJob.getJob(generator);
generatorJob.setResourceSet(getState().getProject().getWorkspace().getResourceSet());
generatorJob.setContributionState(getState());
@@ -405,27 +315,19 @@ public int configureJobs(boolean create, IProgressMonitor monitor) {
generatorJob.setProgressGroup(monitor, 1);
generatorJob.setNextJob(exporterJob);
- Worker installer = null;
- if (create)
- installer = createInstaller();
- else
- installer = getInstallers().get(getInstallers().size() - 1);
+ Worker installer = getOrCreate(create, Stage.INSTALLED, "project.create.installer");
EnterpriseDomainJob installJob = EnterpriseDomainJob.getJob(installer);
installJob.setContributionState(getState());
installJob.setProject(getEclipseProject());
exporterJob.setNextJob(installJob);
- Worker modelLoader = null;
- if (create)
- modelLoader = createModelLoader();
- else
- modelLoader = getLoaders().get(getLoaders().size() - 1);
+ Worker modelLoader = getOrCreate(create, Stage.LOADED, "project.create.loader");
EnterpriseDomainJob loadJob = EnterpriseDomainJob.getJob(modelLoader);
loadJob.setContributionState(getState());
loadJob.addListener();
installJob.setNextJob(loadJob);
- return getGenerators().size() - 1;
+ return get(Stage.GENERATED, "project.create.generator").size() - 1;
}
/**
@@ -435,14 +337,14 @@ public int configureJobs(boolean create, IProgressMonitor monitor) {
*/
@Override
public void configuteBuildJobs(IProgressMonitor monitor) {
- Worker exporter = createExporter();
+ Worker exporter = create(Stage.EXPORTED, "project.create.exporter");
EnterpriseDomainJob exportJob = EnterpriseDomainJob.getJob(exporter);
exportJob.setContributionState(getState());
exportJob.setProject(getEclipseProject());
exporter.getProperties().put(AbstractExporter.EXPORT_DESTINATION_PROP,
- ResourceUtils.getExportDestination(getEclipseProject()).toString());
+ ResourceUtils.getExportDestination(getState()).toString());
- Worker generator = createGenerator();
+ Worker generator = create(Stage.GENERATED, "project.create.generator");
EnterpriseDomainJob generatorJob = EnterpriseDomainJob.getJob(generator);
generatorJob.setResourceSet(getState().getProject().getWorkspace().getResourceSet());
generatorJob.setContributionState(getState());
@@ -450,11 +352,12 @@ public void configuteBuildJobs(IProgressMonitor monitor) {
generatorJob.setProgressGroup(monitor, 1);
generatorJob.setNextJob(exportJob);
- EnterpriseDomainJob installJob = EnterpriseDomainJob.getJob(createInstaller());
+ EnterpriseDomainJob installJob = EnterpriseDomainJob
+ .getJob(create(Stage.INSTALLED, "project.create.installer"));
installJob.setContributionState(getState());
installJob.setProject(getEclipseProject());
- EnterpriseDomainJob loadJob = EnterpriseDomainJob.getJob(createModelLoader());
+ EnterpriseDomainJob loadJob = EnterpriseDomainJob.getJob(create(Stage.LOADED, "project.create.loader"));
loadJob.setContributionState(getState());
loadJob.addListener();
@@ -462,6 +365,20 @@ public void configuteBuildJobs(IProgressMonitor monitor) {
installJob.setNextJob(loadJob);
}
+ /**
+ *
+ *
+ * @generated NOT
+ */
+ @Override
+ public EList get(Stage stage, String step) {
+ StageQualifier stageQualifier = stageLookup(stage, step);
+ if (getWorkers().containsKey(stageQualifier))
+ return getWorkers().get(stageQualifier);
+ else
+ return ECollections.emptyEList();
+ }
+
/**
*
*
@@ -489,6 +406,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
switch (featureID) {
case ClassMakerPackage.STRATEGY__STATE:
return basicSetState(null, msgs);
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ return ((InternalEList>) getWorkers()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -497,8 +416,32 @@ private Worker createWithCustomizer(StageQualifier stage, Object... customizerAr
SortedSet customizers = createCustomizers(stage);
if (customizers == null)
return null;
- Customizer customizer = customizers.last();
- return (Worker) (customizer.customize(ECollections.asEList(customizerArgs)));
+ Customizer c = customizers.last();
+ SortedSet neCustomizers = createNonExclusiveCustomizers(stage);
+ Worker w = (Worker) c.customize(ECollections.asEList(customizerArgs));
+ EnterpriseDomainJob e = w.getAdapter(EnterpriseDomainJob.class);
+ if (neCustomizers == null)
+ return w;
+ EnterpriseDomainJob job = null;
+ Iterator it = neCustomizers.iterator();
+ Customizer n = null;
+ if (it.hasNext()) {
+ n = it.next();
+ job = ((Worker) n.customize(ECollections.asEList(customizerArgs))).getAdapter(EnterpriseDomainJob.class);
+ job.setExclusive(false);
+ e.setNextJob(job);
+ }
+ while (it.hasNext()) {
+ job = ((Worker) n.customize(ECollections.asEList(customizerArgs))).getAdapter(EnterpriseDomainJob.class);
+ if (job != null) {
+ job.setExclusive(false);
+ n = it.next();
+ job.setNextJob(((Worker) n.customize(ECollections.asEList(customizerArgs)))
+ .getAdapter(EnterpriseDomainJob.class));
+ job.getNextJob().setExclusive(false);
+ }
+ }
+ return w;
}
private SortedSet createCustomizers(StageQualifier stage) {
@@ -515,6 +458,20 @@ private SortedSet createCustomizers(StageQualifier stage) {
return customizers;
}
+ private SortedSet createNonExclusiveCustomizers(StageQualifier stage) {
+ SortedSet customizers = new TreeSet(new Customizer.CustomizerComparator());
+
+ for (StageQualifier filter : getState().getNonExclusiveStateCustomizers().keySet())
+ if (stage.equals(filter))
+ customizers.add(getState().getNonExclusiveStateCustomizers().get(filter));
+ for (StageQualifier filter : getState().getProject().getWorkspace().getNonExclusiveCustomizers().keySet())
+ if (filter.equals(stage))
+ customizers.add(getState().getProject().getWorkspace().getNonExclusiveCustomizers().get(filter));
+ if (customizers.isEmpty())
+ return null;
+ return customizers;
+ }
+
/**
*
*
@@ -523,18 +480,15 @@ private SortedSet createCustomizers(StageQualifier stage) {
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case ClassMakerPackage.STRATEGY__GENERATORS:
- return getGenerators();
- case ClassMakerPackage.STRATEGY__EXPORTERS:
- return getExporters();
- case ClassMakerPackage.STRATEGY__INSTALLERS:
- return getInstallers();
- case ClassMakerPackage.STRATEGY__LOADERS:
- return getLoaders();
case ClassMakerPackage.STRATEGY__STATE:
if (resolve)
return getState();
return basicGetState();
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ if (coreType)
+ return getWorkers();
+ else
+ return getWorkers().map();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -544,29 +498,15 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
*
* @generated
*/
- @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case ClassMakerPackage.STRATEGY__GENERATORS:
- getGenerators().clear();
- getGenerators().addAll((Collection extends Worker>) newValue);
- return;
- case ClassMakerPackage.STRATEGY__EXPORTERS:
- getExporters().clear();
- getExporters().addAll((Collection extends Worker>) newValue);
- return;
- case ClassMakerPackage.STRATEGY__INSTALLERS:
- getInstallers().clear();
- getInstallers().addAll((Collection extends Worker>) newValue);
- return;
- case ClassMakerPackage.STRATEGY__LOADERS:
- getLoaders().clear();
- getLoaders().addAll((Collection extends Worker>) newValue);
- return;
case ClassMakerPackage.STRATEGY__STATE:
setState((State) newValue);
return;
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ ((EStructuralFeature.Setting) getWorkers()).set(newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -579,21 +519,12 @@ public void eSet(int featureID, Object newValue) {
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case ClassMakerPackage.STRATEGY__GENERATORS:
- getGenerators().clear();
- return;
- case ClassMakerPackage.STRATEGY__EXPORTERS:
- getExporters().clear();
- return;
- case ClassMakerPackage.STRATEGY__INSTALLERS:
- getInstallers().clear();
- return;
- case ClassMakerPackage.STRATEGY__LOADERS:
- getLoaders().clear();
- return;
case ClassMakerPackage.STRATEGY__STATE:
setState((State) null);
return;
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ getWorkers().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -606,16 +537,10 @@ public void eUnset(int featureID) {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case ClassMakerPackage.STRATEGY__GENERATORS:
- return generators != null && !generators.isEmpty();
- case ClassMakerPackage.STRATEGY__EXPORTERS:
- return exporters != null && !exporters.isEmpty();
- case ClassMakerPackage.STRATEGY__INSTALLERS:
- return installers != null && !installers.isEmpty();
- case ClassMakerPackage.STRATEGY__LOADERS:
- return loaders != null && !loaders.isEmpty();
case ClassMakerPackage.STRATEGY__STATE:
return state != null;
+ case ClassMakerPackage.STRATEGY__WORKERS:
+ return workers != null && !workers.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/VersionToRevisionMapEntryImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/VersionToRevisionMapEntryImpl.java
index e01f3ce3..84007885 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/VersionToRevisionMapEntryImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/VersionToRevisionMapEntryImpl.java
@@ -35,10 +35,8 @@
* The following features are implemented:
*
*
- * {@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl#getTypedKey
- * Key }
- * {@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl#getTypedValue
- * Value }
+ * {@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl#getTypedKey Key }
+ * {@link org.enterprisedomain.classmaker.impl.VersionToRevisionMapEntryImpl#getTypedValue Value }
*
*
* @generated
@@ -47,7 +45,6 @@ public class VersionToRevisionMapEntryImpl extends EObjectImpl implements BasicE
/**
* The default value of the '{@link #getTypedKey() Key }' attribute.
*
- *
* @see #getTypedKey()
* @generated
* @ordered
@@ -65,9 +62,8 @@ public class VersionToRevisionMapEntryImpl extends EObjectImpl implements BasicE
protected Version key = KEY_EDEFAULT;
/**
- * The cached value of the '{@link #getTypedValue() Value }' containment
- * reference.
- *
+ * The cached value of the '{@link #getTypedValue() Value }' containment reference.
+ *
* @see #getTypedValue()
* @generated
* @ordered
@@ -76,7 +72,6 @@ public class VersionToRevisionMapEntryImpl extends EObjectImpl implements BasicE
/**
*
- *
* @generated
*/
protected VersionToRevisionMapEntryImpl() {
@@ -85,7 +80,6 @@ protected VersionToRevisionMapEntryImpl() {
/**
*
- *
* @generated
*/
@Override
@@ -95,7 +89,6 @@ protected EClass eStaticClass() {
/**
*
- *
* @generated
*/
public Version getTypedKey() {
@@ -104,7 +97,6 @@ public Version getTypedKey() {
/**
*
- *
* @generated
*/
public void setTypedKey(Version newKey) {
@@ -117,7 +109,6 @@ public void setTypedKey(Version newKey) {
/**
*
- *
* @generated
*/
public Revision getTypedValue() {
@@ -126,7 +117,6 @@ public Revision getTypedValue() {
/**
*
- *
* @generated
*/
public NotificationChain basicSetTypedValue(Revision newValue, NotificationChain msgs) {
@@ -145,7 +135,6 @@ public NotificationChain basicSetTypedValue(Revision newValue, NotificationChain
/**
*
- *
* @generated
*/
public void setTypedValue(Revision newValue) {
@@ -167,7 +156,6 @@ public void setTypedValue(Revision newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -181,7 +169,6 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
/**
*
- *
* @generated
*/
@Override
@@ -197,7 +184,6 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
/**
*
- *
* @generated
*/
@Override
@@ -215,7 +201,6 @@ public void eSet(int featureID, Object newValue) {
/**
*
- *
* @generated
*/
@Override
@@ -233,7 +218,6 @@ public void eUnset(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -249,7 +233,6 @@ public boolean eIsSet(int featureID) {
/**
*
- *
* @generated
*/
@Override
@@ -266,14 +249,12 @@ public String toString() {
/**
*
- *
* @generated
*/
protected int hash = -1;
/**
*
- *
* @generated
*/
@Override
@@ -287,7 +268,6 @@ public int getHash() {
/**
*
- *
* @generated
*/
@Override
@@ -297,7 +277,6 @@ public void setHash(int hash) {
/**
*
- *
* @generated
*/
@Override
@@ -307,7 +286,6 @@ public Version getKey() {
/**
*
- *
* @generated
*/
@Override
@@ -317,7 +295,6 @@ public void setKey(Version key) {
/**
*
- *
* @generated
*/
@Override
@@ -327,7 +304,6 @@ public Revision getValue() {
/**
*
- *
* @generated
*/
@Override
@@ -339,7 +315,6 @@ public Revision setValue(Revision value) {
/**
*
- *
* @generated
*/
@SuppressWarnings("unchecked")
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/WorkspaceImpl.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/WorkspaceImpl.java
index 90c5fc05..b83d7999 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/WorkspaceImpl.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/impl/WorkspaceImpl.java
@@ -23,6 +23,7 @@
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
@@ -64,6 +65,7 @@
import org.eclipse.emf.ecore.resource.URIConverter;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.EcoreEMap;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
@@ -89,6 +91,8 @@
import org.enterprisedomain.classmaker.State;
import org.enterprisedomain.classmaker.Workspace;
import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+import org.enterprisedomain.classmaker.jobs.EnterpriseDomainJob;
+import org.enterprisedomain.classmaker.jobs.Worker;
import org.enterprisedomain.classmaker.util.ClassMakerSwitch;
import org.enterprisedomain.classmaker.util.ModelUtil;
import org.enterprisedomain.classmaker.util.ResourceUtils;
@@ -109,10 +113,14 @@
* Resource Set }
* {@link org.enterprisedomain.classmaker.impl.WorkspaceImpl#getCustomizers
* Customizers }
+ * {@link org.enterprisedomain.classmaker.impl.WorkspaceImpl#getNonExclusiveCustomizers
+ * Non Exclusive Customizers }
* {@link org.enterprisedomain.classmaker.impl.WorkspaceImpl#getService
* Service }
* {@link org.enterprisedomain.classmaker.impl.WorkspaceImpl#getSCMRegistry
* SCM Registry }
+ * {@link org.enterprisedomain.classmaker.impl.WorkspaceImpl#getExcludedEPackages
+ * Excluded EPackages }
*
*
* @generated
@@ -162,6 +170,17 @@ public class WorkspaceImpl extends EObjectImpl implements Workspace {
*/
protected EMap customizers;
+ /**
+ * The cached value of the '{@link #getNonExclusiveCustomizers() Non
+ * Exclusive Customizers }' map.
+ *
+ * @see #getNonExclusiveCustomizers()
+ * @generated
+ * @ordered
+ */
+ protected EMap nonExclusiveCustomizers;
+
/**
* The cached value of the '{@link #getSCMRegistry() SCM Registry }'
* reference.
@@ -172,6 +191,17 @@ public class WorkspaceImpl extends EObjectImpl implements Workspace {
*/
protected SCMRegistry> scmRegistry;
+ /**
+ * The cached value of the '{@link #getExcludedEPackages() Excluded
+ * EPackages }' reference list.
+ *
+ * @see #getExcludedEPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList excludedEPackages;
+
protected IResourceChangeListener resourcesListener = new IResourceChangeListener() {
@Override
@@ -262,20 +292,110 @@ public EMap getCustomizers() {
SortedSet customizers = ClassMakerService.Stages.createCustomizers(id);
if (!customizers.isEmpty())
for (Customizer customizer : customizers)
- this.customizers.put(ClassMakerService.Stages.lookup(id), customizer);
+ if (customizer.isExclusive())
+ this.customizers.put(ClassMakerService.Stages.lookup(id), customizer);
+ this.customizers.sort(new Comparator>() {
+
+ @Override
+ public int compare(Entry o1, Entry o2) {
+ if (o1.getKey().equals(o2.getKey())) {
+ return o1.getValue().getRank() - o2.getValue().getRank();
+ }
+ return 0;
+ }
+ });
}
- this.customizers.sort(new Comparator>() {
+ }
+ return customizers;
+ }
- @Override
- public int compare(Entry o1, Entry o2) {
- if (o1.getKey().equals(o2.getKey())) {
- return o1.getValue().getRank() - o2.getValue().getRank();
- }
- return 0;
+ /**
+ *
+ *
+ * @generated NOT
+ */
+ @Override
+ public EMap getNonExclusiveCustomizers() {
+ if (nonExclusiveCustomizers == null) {
+ nonExclusiveCustomizers = new EcoreEMap(
+ ClassMakerPackage.Literals.STAGE_QUALIFIER_TO_CUSTOMIZER_MAP_ENTRY,
+ StageQualifierToCustomizerMapEntryImpl.class, this,
+ ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS);
+ for (String id : ClassMakerService.Stages.ids()) {
+ SortedSet customizers = ClassMakerService.Stages.createCustomizers(id);
+ if (!customizers.isEmpty()) {
+ EList nonExclusive = ECollections.newBasicEList();
+ for (Customizer customizer : customizers)
+ if (!customizer.isExclusive())
+ nonExclusive.add(customizer);
+ if (!nonExclusive.isEmpty())
+ this.nonExclusiveCustomizers.put(ClassMakerService.Stages.lookup(id), new CustomizerImpl() {
+
+ private int maxRank = 0;
+ private EnterpriseDomainJob next = null;
+
+ @Override
+ public Object customize(EList args) {
+ Iterator it = nonExclusive.iterator();
+ Worker firstWorker = null;
+ if (it.hasNext()) {
+ Customizer c = it.next();
+ maxRank = Math.max(maxRank, c.getRank());
+ firstWorker = (Worker) c.customize(args);
+ if (it.hasNext()) {
+ next = ((Worker) it.next().customize(args))
+ .getAdapter(EnterpriseDomainJob.class);
+ (firstWorker.getAdapter(EnterpriseDomainJob.class)).setNextJob(next);
+ } else if (firstWorker != null) {
+ Iterator ine = nonExclusive.iterator();
+ while (ine.hasNext()) {
+ Customizer neCustomizer = ine.next();
+ Iterator ie = getCustomizers().values().iterator();
+ while (ie.hasNext()) {
+ Customizer eCustomizer = ie.next();
+ if (neCustomizer.isNextAfter(eCustomizer.getClass())) {
+ next = ((Worker) eCustomizer.customize(args))
+ .getAdapter(EnterpriseDomainJob.class);
+ break;
+ }
+ }
+ }
+ (firstWorker.getAdapter(EnterpriseDomainJob.class)).setNextJob(next);
+ }
+ it.forEachRemaining((customizer) -> {
+ maxRank = Math.max(maxRank, customizer.getRank());
+ EnterpriseDomainJob job = ((Worker) customizer.customize(args))
+ .getAdapter(EnterpriseDomainJob.class);
+ if (next != null)
+ next.setNextJob(job);
+ if (it.hasNext()) {
+ next = ((Worker) it.next().customize(args))
+ .getAdapter(EnterpriseDomainJob.class);
+ job.setNextJob(next);
+ }
+ });
+
+ }
+ setRank(maxRank);
+ return firstWorker;
+ }
+
+ });
}
- });
+ this.nonExclusiveCustomizers.sort(new Comparator>() {
+
+ @Override
+ public int compare(Entry o1, Entry o2) {
+ if (o1.getKey().equals(o2.getKey())) {
+ return o1.getValue().getRank() - o2.getValue().getRank();
+ }
+ return 0;
+ }
+
+ });
+ }
}
- return customizers;
+ return nonExclusiveCustomizers;
}
/**
@@ -353,12 +473,27 @@ public SCMRegistry> basicGetSCMRegistry() {
return scmRegistry;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EList getExcludedEPackages() {
+ if (excludedEPackages == null) {
+ excludedEPackages = new EObjectResolvingEList(EPackage.class, this,
+ ClassMakerPackage.WORKSPACE__EXCLUDED_EPACKAGES);
+ }
+ return excludedEPackages;
+ }
+
/**
*
*
* @generated NOT
*/
public void initialize() {
+ ClassMakerPlugin.print("Workspace initialize");
final URI uri = URI.createFileURI(ResourceUtils.WORKSPACE_RESOURCE_PATH.toString());
getService().eAdapters().add(new AdapterImpl() {
@@ -401,6 +536,9 @@ public void notifyChanged(Notification msg) {
if (getContributions().isEmpty()) {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
for (IProject eProject : workspace.getRoot().getProjects()) {
+ if (getProjects().stream().anyMatch(p -> p.getProjectName().equals(eProject.getName()))) {
+ continue;
+ }
Project project = null;
try {
eProject.open(ClassMakerPlugin.getProgressMonitor());
@@ -415,7 +553,7 @@ public void notifyChanged(Notification msg) {
}
project.setProjectName(eProject.getName());
registerProject(project);
- project.initialize(false);
+ project.initialize();
} catch (CoreException e) {
ClassMakerPlugin.getInstance().getLog().log(e.getStatus());
}
@@ -423,14 +561,14 @@ public void notifyChanged(Notification msg) {
} else
for (Contribution contribution : getContributions()) {
- contribution.initialize(false);
+ contribution.initialize();
}
if (getProjects().size() <= getContributions().size() && !edProjects.isEmpty()) {
for (IProject p : edProjects.keySet()) {
Project project = edProjects.get(p);
project.setProjectName(p.getName());
registerProject(project);
- project.initialize(false);
+ project.initialize();
}
} else
for (Project project : getProjects()) {
@@ -442,8 +580,14 @@ public void notifyChanged(Notification msg) {
}
ResourcesPlugin.getWorkspace().addResourceChangeListener(resourcesListener,
IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
+ applyCustomizers(getCustomizers());
+ applyCustomizers(getNonExclusiveCustomizers());
+ }
+
+ @SuppressWarnings("unchecked")
+ private void applyCustomizers(EMap source) {
EList customizers = ECollections.newBasicEList();
- ListIterator> it = getCustomizers().listIterator();
+ ListIterator> it = source.listIterator();
while (it.hasNext()) {
Map.Entry next = it.next();
StageQualifier filter = next.getKey();
@@ -451,7 +595,7 @@ public void notifyChanged(Notification msg) {
it.remove();
continue;
}
- if (filter.equals(ClassMakerService.Stages.lookup(ClassMakerService.Stages.ID_PREFIX + "workspace.init")))
+ if (filter.equals(ClassMakerService.Stages.lookup(Stage.DEFINED, "workspace.init")))
customizers.add(next.getValue());
}
ECollections.sort(customizers, new Customizer.CustomizerComparator());
@@ -530,8 +674,7 @@ public Contribution createContribution(EObject blueprint, IProgressMonitor monit
Contribution result = getContribution(blueprint, true);
if (result != null) {
if (!result.getRevisions().isEmpty()) {
- Revision newRevision = result.newRevision(result.nextVersion());
- result.checkout(newRevision.getVersion());
+ result.checkout(result.getVersion());
} else {
result.createRevision(monitor);
result.load(true, true);
@@ -749,7 +892,7 @@ public Project createProject(String name, IProgressMonitor monitor) throws CoreE
project.create(monitor);
Revision revision = project.createRevision(monitor);
project.checkout(revision.getVersion());
- project.initialize(true);
+ project.initialize();
project.load(true, true);
return project;
} finally {
@@ -799,23 +942,20 @@ public Project getProject(Resource resource) {
uriConverter = resourceSet.getURIConverter();
}
for (Project project : getProjects()) {
- if (uriConverter != null && !project.getChildren().isEmpty()
- && project.getChildren().get(0) instanceof Resource) {
+ if (uriConverter != null && project.getResource() != null) {
if (uriConverter.normalize(resource.getURI())
- .equals(uriConverter.normalize(((Resource) project.getChildren().get(0)).getURI())))
+ .equals(uriConverter.normalize(project.getResource().getURI())))
return project;
- } else if (uriConverter != null && !project.getChildren().isEmpty()
- && project.getChildren().get(0) instanceof EObject) {
- if (uriConverter.normalize(resource.getURI())
- .equals(uriConverter.normalize(((EObject) project.getChildren().get(0)).eResource().getURI())))
+ } else if (uriConverter != null && project.getResource() != null) {
+ if (uriConverter.normalize(resource.getURI()).equals(uriConverter
+ .normalize(((EObject) project.getResource().getContents().get(0)).eResource().getURI())))
return project;
- } else if (uriConverter == null && !project.getChildren().isEmpty()
- && project.getChildren().get(0) instanceof Resource) {
- if (resource.getURI().equals(((Resource) project.getChildren().get(0)).getURI()))
+ } else if (uriConverter == null && project.getResource() != null) {
+ if (resource.getURI().equals(project.getResource().getURI()))
return project;
- } else if (uriConverter == null && !project.getChildren().isEmpty()
- && project.getChildren().get(0) instanceof EObject) {
- if (resource.getURI().equals(((EObject) project.getChildren().get(0)).eResource().getURI()))
+ } else if (uriConverter == null && project.getResource() != null) {
+ if (resource.getURI()
+ .equals(((EObject) project.getResource().getContents().get(0)).eResource().getURI()))
return project;
}
}
@@ -886,6 +1026,8 @@ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID,
return ((InternalEList>) getProjects()).basicRemove(otherEnd, msgs);
case ClassMakerPackage.WORKSPACE__CUSTOMIZERS:
return ((InternalEList>) getCustomizers()).basicRemove(otherEnd, msgs);
+ case ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS:
+ return ((InternalEList>) getNonExclusiveCustomizers()).basicRemove(otherEnd, msgs);
case ClassMakerPackage.WORKSPACE__SERVICE:
return basicSetService(null, msgs);
}
@@ -924,12 +1066,19 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
return getCustomizers();
else
return getCustomizers().map();
+ case ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS:
+ if (coreType)
+ return getNonExclusiveCustomizers();
+ else
+ return getNonExclusiveCustomizers().map();
case ClassMakerPackage.WORKSPACE__SERVICE:
return getService();
case ClassMakerPackage.WORKSPACE__SCM_REGISTRY:
if (resolve)
return getSCMRegistry();
return basicGetSCMRegistry();
+ case ClassMakerPackage.WORKSPACE__EXCLUDED_EPACKAGES:
+ return getExcludedEPackages();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -950,9 +1099,16 @@ public void eSet(int featureID, Object newValue) {
case ClassMakerPackage.WORKSPACE__CUSTOMIZERS:
((EStructuralFeature.Setting) getCustomizers()).set(newValue);
return;
+ case ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS:
+ ((EStructuralFeature.Setting) getNonExclusiveCustomizers()).set(newValue);
+ return;
case ClassMakerPackage.WORKSPACE__SERVICE:
setService((ClassMakerService) newValue);
return;
+ case ClassMakerPackage.WORKSPACE__EXCLUDED_EPACKAGES:
+ getExcludedEPackages().clear();
+ getExcludedEPackages().addAll((Collection extends EPackage>) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -971,9 +1127,15 @@ public void eUnset(int featureID) {
case ClassMakerPackage.WORKSPACE__CUSTOMIZERS:
getCustomizers().clear();
return;
+ case ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS:
+ getNonExclusiveCustomizers().clear();
+ return;
case ClassMakerPackage.WORKSPACE__SERVICE:
setService((ClassMakerService) null);
return;
+ case ClassMakerPackage.WORKSPACE__EXCLUDED_EPACKAGES:
+ getExcludedEPackages().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -992,10 +1154,14 @@ public boolean eIsSet(int featureID) {
return RESOURCE_SET_EDEFAULT == null ? resourceSet != null : !RESOURCE_SET_EDEFAULT.equals(resourceSet);
case ClassMakerPackage.WORKSPACE__CUSTOMIZERS:
return customizers != null && !customizers.isEmpty();
+ case ClassMakerPackage.WORKSPACE__NON_EXCLUSIVE_CUSTOMIZERS:
+ return nonExclusiveCustomizers != null && !nonExclusiveCustomizers.isEmpty();
case ClassMakerPackage.WORKSPACE__SERVICE:
return getService() != null;
case ClassMakerPackage.WORKSPACE__SCM_REGISTRY:
return scmRegistry != null;
+ case ClassMakerPackage.WORKSPACE__EXCLUDED_EPACKAGES:
+ return excludedEPackages != null && !excludedEPackages.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/ContainerJob.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/ContainerJob.java
index 0e98f0cd..4134cd26 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/ContainerJob.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/ContainerJob.java
@@ -15,9 +15,11 @@
*/
package org.enterprisedomain.classmaker.jobs;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -26,6 +28,8 @@
public abstract class ContainerJob extends EnterpriseDomainJob {
+ private Set installedBundles = new LinkedHashSet();
+
public ContainerJob(String name, int depth, long stateTimestamp) {
super(name, depth, stateTimestamp);
}
@@ -33,13 +37,13 @@ public ContainerJob(String name, int depth, long stateTimestamp) {
public Collection getBundles(String symbolicName, Version version, BundleContext context) {
if (context == null)
return null;
- List results = new ArrayList();
+ List results = new LinkedList();
for (Bundle bundle : context.getBundles())
if ((bundle.getSymbolicName().equals(symbolicName)
|| (getContributionState().isEdit() && bundle.getSymbolicName().equals(symbolicName + ".edit"))
|| (getContributionState().isEditor() && bundle.getSymbolicName().equals(symbolicName + ".editor")))
&& (versionsAreEqual(version, bundle.getVersion(), true)
- || versionAreLess(version, bundle.getVersion(), true)))
+ || versionAreLess(bundle.getVersion(), version, true)))
results.add(bundle);
return results;
}
@@ -53,6 +57,10 @@ public Collection getBundles() {
}
+ public Set getInstalledBundles() {
+ return installedBundles;
+ }
+
protected BundleContext getContext() {
return FrameworkUtil.getBundle(this.getClass()).getBundleContext();
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/DelegatingJob.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/DelegatingJob.java
deleted file mode 100644
index 988a89e1..00000000
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/DelegatingJob.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Copyright 2012-2018 Kyrill Zotkin
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * 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.
- */
-package org.enterprisedomain.classmaker.jobs;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.enterprisedomain.classmaker.Stage;
-
-public class DelegatingJob extends EnterpriseDomainJob {
-
- private Job delegate;
-
- private Stage jobStage;
-
- private Stage dirtyStage;
-
- public DelegatingJob(Job delegate, int depth, long stateTimestamp) {
- super(delegate.getName(), depth, stateTimestamp);
- this.delegate = delegate;
- }
-
- @Override
- public IStatus work(IProgressMonitor monitor) throws CoreException {
- delegate.schedule();
- try {
- delegate.join();
- } catch (InterruptedException e) {
- monitor.setCanceled(true);
- return Status.CANCEL_STATUS;
- }
- return delegate.getResult();
- }
-
- public void setResultStage(Stage resultStage) {
- this.jobStage = resultStage;
- }
-
- @Override
- public Stage getResultStage() {
- return jobStage;
- }
-
- public void setDirtyStage(Stage dirtyStage) {
- this.dirtyStage = dirtyStage;
- }
-
- @Override
- public Stage getDirtyStage() {
- return dirtyStage;
- }
-
-}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/EnterpriseDomainJob.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/EnterpriseDomainJob.java
index acfe5238..533d2413 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/EnterpriseDomainJob.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/EnterpriseDomainJob.java
@@ -94,7 +94,8 @@ public void done(IJobChangeEvent event) {
}
prevJob.setNextJob(getNextJob());
}
- setNextJob(job);
+ if (job != null && !EnterpriseDomainJob.this.getClass().equals(job.getClass()))
+ setNextJob(job);
}
if (getNextJob() == null) {
if (ClassMakerPlugin.getPreviousProgressProvider() != null)
@@ -104,13 +105,18 @@ public void done(IJobChangeEvent event) {
return;
}
getNextJob().setProject(getProject());
- getNextJob().schedule();
+ if (getNextJob().isExclusive() || EnterpriseDomainJob.this.getClass() == getNextJob().getAfterJob())
+ getNextJob().schedule();
}
};
+ private Class extends EnterpriseDomainJob> after;
+
private ResourceSet resourceSet;
+ private boolean exclusive = true;
+
private long stateTimestamp = -1;
private boolean commitState = false;
@@ -243,6 +249,26 @@ protected void setDepth(int depth) {
this.depth = depth;
}
+ public boolean isExclusive() {
+ return exclusive;
+ }
+
+ public void setExclusive(boolean exclusive) {
+ this.exclusive = exclusive;
+ }
+
+ /**
+ *
+ * @return job class after which instances should execute this job
+ */
+ public Class extends EnterpriseDomainJob> getAfterJob() {
+ return after;
+ }
+
+ public void setAfterJob(Class extends EnterpriseDomainJob> after) {
+ this.after = after;
+ }
+
protected boolean terminate() {
return false;
}
@@ -257,6 +283,14 @@ public void setProject(IProject project) {
setRule(calcSchedulingRule(project));
}
+ public IProject getEditProject() {
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(getProject().getName() + ".edit");
+ }
+
+ public IProject getEditorProject() {
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(getProject().getName() + ".editor");
+ }
+
protected ISchedulingRule calcSchedulingRule(IProject project) {
if (ClassMakerServiceImpl.initializing)
return project;
@@ -282,11 +316,23 @@ public EnterpriseDomainJob getNextJob() {
}
public void setNextJob(EnterpriseDomainJob nextJob) {
- this.nextJob = nextJob;
- if (this.nextJob != null)
- addListener();
- else
- removeListener();
+ if (this.nextJob != null && !this.nextJob.isExclusive() && this.nextJob != nextJob && nextJob != null
+ && !nextJob.terminate()) {
+ EnterpriseDomainJob toCheck = this.nextJob.getNextJob();
+ EnterpriseDomainJob toSet = toCheck;
+ while (toCheck != null && toCheck != nextJob && toCheck != nextJob.getNextJob() && !toCheck.terminate()) {
+ toSet = toCheck;
+ toCheck = toCheck.getNextJob();
+ }
+ if (toSet != null)
+ toSet.setNextJob(nextJob);
+ } else {
+ this.nextJob = nextJob;
+ if (this.nextJob != null)
+ addListener();
+ else
+ removeListener();
+ }
}
public void removeListener() {
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/CreateGeneratorCustomizer.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/CreateGeneratorCustomizer.java
index 3549144c..37b0c6ec 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/CreateGeneratorCustomizer.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/CreateGeneratorCustomizer.java
@@ -8,8 +8,8 @@ public class CreateGeneratorCustomizer extends CustomizerImpl {
@Override
public Object customize(EList args) {
- EcoreGenerator generator = new EcoreGenerator((Integer) args.get(0), (Long) args.get(2));
- generator.setProject((IProject) args.get(1));
+ EcoreGenerator generator = new EcoreGenerator((Integer) args.get(0), (Long) args.get(1));
+ generator.setProject((IProject) args.get(2));
return generator;
}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/EcoreGenerator.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/EcoreGenerator.java
index 7b2c6e0b..903cbeb7 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/EcoreGenerator.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/codegen/EcoreGenerator.java
@@ -15,12 +15,11 @@
*/
package org.enterprisedomain.classmaker.jobs.codegen;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Set;
-import java.util.concurrent.Semaphore;
import org.eclipse.core.resources.ICommand;
import org.eclipse.core.resources.IFile;
@@ -44,15 +43,14 @@
import org.eclipse.emf.codegen.ecore.Generator;
import org.eclipse.emf.codegen.ecore.genmodel.GenJDKLevel;
import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
+import org.eclipse.emf.codegen.ecore.genmodel.GenOSGiStyle;
import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
import org.eclipse.emf.codegen.util.CodeGenUtil;
import org.eclipse.emf.common.util.ECollections;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.jdt.core.ElementChangedEvent;
+import org.eclipse.jdt.core.IClasspathAttribute;
import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElementDelta;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
@@ -136,7 +134,7 @@ public Stage getDirtyStage() {
}
- protected class GenModelGenerationJob extends GeneratorJob {
+ public class GenModelGenerationJob extends GeneratorJob {
public GenModelGenerationJob(int depth, long stateTimestamp) {
super(Messages.JobNameGenModelGeneration, depth, stateTimestamp);
@@ -163,7 +161,9 @@ public IStatus work(IProgressMonitor monitor) throws CoreException {
}
- protected class CodeGenerationJob extends GeneratorJob {
+ public class CodeGenerationJob extends GeneratorJob {
+
+ private IClasspathEntry entry;
public CodeGenerationJob(int depth, long stateTimestamp) {
super(NLS.bind(Messages.JobNameCodeGeneration, "Code"), depth, stateTimestamp);
@@ -176,9 +176,9 @@ public IStatus work(final IProgressMonitor monitor) throws CoreException {
ResourceUtils.cleanupDir(getProject(), SOURCE_FOLDER_NAME);
try {
getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- } catch (OperationCanceledException e) {
+ } catch (OperationCanceledException ex) {
}
- List args = new ArrayList();
+ List args = new LinkedList();
args.add("-forceOverwrite");
args.add("-codeFormatting");
args.add("default");
@@ -196,43 +196,19 @@ public IStatus work(final IProgressMonitor monitor) throws CoreException {
updateClassPath(monitor);
- ICommand command = ResourceUtils.getBuildSpec(getProject().getDescription(), JavaCore.BUILDER_ID);
- try {
- getProject().getWorkspace().addResourceChangeListener(new IResourceChangeListener() {
-
- @Override
- public void resourceChanged(IResourceChangeEvent event) {
- if (event.getDelta() != null)
- for (IResourceDelta delta : event.getDelta()
- .getAffectedChildren(IResourceDelta.CHANGED))
- if (delta.getResource().equals(getProject()))
- try {
- getProject().notifyAll();
- } catch (IllegalMonitorStateException e) {
- }
- }
- }, IResourceChangeEvent.POST_BUILD);
- getProject().build(IncrementalProjectBuilder.FULL_BUILD, JavaCore.BUILDER_ID,
- command.getArguments(), monitor);
- } catch (OperationCanceledException e) {
- monitor.setCanceled(true);
- } catch (CoreException e) {
- ClassMakerPlugin.getInstance().getLog().log(e.getStatus());
- throw e;
- } catch (Exception e) {
- throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
- }
try {
- notifyAll();
- } catch (IllegalMonitorStateException e) {
+ compile(monitor);
+ } catch (CoreException ex) {
+ return ex.getStatus();
}
+
try {
@SuppressWarnings("unchecked")
SCMOperator operator = (SCMOperator) getContributionState().getProject().getWorkspace()
.getSCMRegistry().get(getProject().getName());
operator.add(".");
- } catch (Exception e) {
- throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
+ } catch (Exception ex) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(ex));
}
if (result == 1)
throw new CoreException(ClassMakerPlugin.createErrorStatus("Code generation failed."));
@@ -247,6 +223,56 @@ public void resourceChanged(IResourceChangeEvent event) {
}
}
+ private void compile(final IProgressMonitor monitor) throws CoreException {
+ final SubMonitor pm = SubMonitor.convert(monitor);
+ pm.setTaskName("Compile Java");
+ pm.subTask("Compiling Java");
+ final SubMonitor m = pm.newChild(5, SubMonitor.SUPPRESS_ISCANCELED);
+ try {
+ build(getProject(), m);
+ if (getContributionState().isEdit()) {
+ build(getProject().getWorkspace().getRoot().getProject(getProject().getName() + ".edit"), m);
+ }
+ if (getContributionState().isEditor()) {
+ build(getProject().getWorkspace().getRoot().getProject(getProject().getName() + ".editor"), m);
+ }
+ } catch (OperationCanceledException ex) {
+ monitor.setCanceled(true);
+ } catch (CoreException ex) {
+ ClassMakerPlugin.getInstance().getLog().log(ex.getStatus());
+ throw ex;
+ } catch (Exception ex) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(ex));
+ } finally {
+ if (m != null)
+ m.done();
+ if (pm != null)
+ pm.done();
+ }
+ try {
+ notifyAll();
+ } catch (IllegalMonitorStateException ex) {
+ }
+ }
+
+ private void build(final IProject project, final IProgressMonitor monitor) throws CoreException {
+ ICommand command = ResourceUtils.getBuildSpec(project.getDescription(), JavaCore.BUILDER_ID);
+ project.getWorkspace().addResourceChangeListener(new IResourceChangeListener() {
+
+ @Override
+ public void resourceChanged(IResourceChangeEvent event) {
+ if (event.getDelta() != null)
+ for (IResourceDelta delta : event.getDelta().getAffectedChildren(IResourceDelta.CHANGED))
+ if (delta.getResource().equals(getProject()))
+ try {
+ project.notifyAll();
+ } catch (IllegalMonitorStateException ex) {
+ }
+ }
+ }, IResourceChangeEvent.POST_BUILD);
+ project.build(IncrementalProjectBuilder.FULL_BUILD, JavaCore.BUILDER_ID, command.getArguments(), monitor);
+ }
+
private void updateClassPath(IProgressMonitor monitor) throws CoreException {
final SubMonitor pm = SubMonitor.convert(monitor);
pm.setTaskName("Update Classpath");
@@ -266,109 +292,97 @@ private void updateClassPath(IProgressMonitor monitor) throws CoreException {
editorJavaProject = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()
.getProject(getProject().getName() + ".editor"));
- } catch (IllegalStateException e) {
- throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
+ } catch (IllegalStateException ex) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(ex));
}
Set entries = new HashSet();
Set editEntries = new HashSet();
Set editorEntries = new HashSet();
- for (IClasspathEntry e : javaProject.getRawClasspath())
- if (!e.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName())))
- entries.add(e);
+ for (IClasspathEntry en : javaProject.getRawClasspath())
+ if (!en.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName())))
+ entries.add(en);
if (editJavaProject != null)
- for (IClasspathEntry e : editJavaProject.getRawClasspath())
- if (!e.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName() + ".edit")))
- editEntries.add(e);
+ for (IClasspathEntry en : editJavaProject.getRawClasspath())
+ if (!en.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName() + ".edit")))
+ editEntries.add(en);
if (editorJavaProject != null)
- for (IClasspathEntry e : editorJavaProject.getRawClasspath())
- if (!e.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName() + ".editor")))
- editorEntries.add(e);
- entries.add(JavaCore.newSourceEntry(
- new Path(IPath.SEPARATOR + getProject().getName() + IPath.SEPARATOR + SOURCE_FOLDER_NAME
- + IPath.SEPARATOR),
- null, new Path(
- IPath.SEPARATOR + getProject().getName() + IPath.SEPARATOR + "bin" + IPath.SEPARATOR)));
+ for (IClasspathEntry en : editorJavaProject.getRawClasspath())
+ if (!en.getPath().equals(new Path(IPath.SEPARATOR + getProject().getName() + ".editor")))
+ editorEntries.add(en);
+ entry = JavaCore.newSourceEntry(
+ new Path(IPath.SEPARATOR + getProject().getName() + IPath.SEPARATOR + SOURCE_FOLDER_NAME), null,
+ new Path(IPath.SEPARATOR + getProject().getName() + IPath.SEPARATOR + "bin" + IPath.SEPARATOR));
+ entries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath()) && en.getOutputLocation() == null;
+ });
+ entries.add(entry);
if (editJavaProject != null) {
- IClasspathEntry e = JavaCore.newSourceEntry(
+ entry = JavaCore.newSourceEntry(
new Path(IPath.SEPARATOR + getProject().getName() + ".edit" + IPath.SEPARATOR
- + SOURCE_FOLDER_NAME + IPath.SEPARATOR),
+ + SOURCE_FOLDER_NAME),
null, new Path(IPath.SEPARATOR + getProject().getName() + ".edit" + IPath.SEPARATOR + "bin"
+ IPath.SEPARATOR));
- if (!editEntries.contains(e))
- editEntries.add(e);
+ editEntries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath()) && en.getOutputLocation() == null;
+ });
+ if (!editEntries.contains(entry))
+ editEntries.add(entry);
}
if (editorJavaProject != null) {
- IClasspathEntry e = JavaCore.newSourceEntry(
+ entry = JavaCore.newSourceEntry(
new Path(IPath.SEPARATOR + getProject().getName() + ".editor" + IPath.SEPARATOR
- + SOURCE_FOLDER_NAME + IPath.SEPARATOR),
+ + SOURCE_FOLDER_NAME),
null, new Path(IPath.SEPARATOR + getProject().getName() + ".editor" + IPath.SEPARATOR
+ "bin" + IPath.SEPARATOR));
- if (!editorEntries.contains(e))
- editorEntries.add(e);
+ editorEntries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath()) && en.getOutputLocation() == null;
+ });
+ if (!editorEntries.contains(entry))
+ editorEntries.add(entry);
}
- entries.add(JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"), null, null,
- false));
+ entry = JavaCore.newContainerEntry(new Path(
+ "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"),
+ null, new IClasspathAttribute[] { JavaCore.newClasspathAttribute("module", "true") }, true);
+ entries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath());
+ });
+ if (!entries.contains(entry))
+ entries.add(entry);
if (editJavaProject != null) {
- IClasspathEntry e = JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"),
- null, null, false);
- if (!editEntries.contains(e))
- editEntries.add(e);
+ entry = JavaCore.newContainerEntry(new Path(
+ "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"),
+ null, new IClasspathAttribute[] { JavaCore.newClasspathAttribute("module", "true") }, true);
+ editEntries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath());
+ });
+ if (!editEntries.contains(entry))
+ editEntries.add(entry);
}
if (editorJavaProject != null) {
- IClasspathEntry e = JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"),
- null, null, false);
- if (!editorEntries.contains(e))
- editorEntries.add(e);
+ entry = JavaCore.newContainerEntry(new Path(
+ "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"),
+ null, new IClasspathAttribute[] { JavaCore.newClasspathAttribute("module", "true") }, true);
+ if (!editorEntries.contains(entry))
+ editorEntries.add(entry);
}
- entries.add(JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"), null, null,
- false));
+ entry = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"), null, null, false);
+ editorEntries.removeIf(en -> {
+ return en.getPath().isPrefixOf(entry.getPath());
+ });
+ if (!entries.contains(entry))
+ entries.add(entry);
if (editJavaProject != null) {
- IClasspathEntry e = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"),
- null, null, false);
- if (!editEntries.contains(e))
- editEntries.add(e);
+ entry = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"), null, null,
+ false);
+ if (!editEntries.contains(entry))
+ editEntries.add(entry);
}
if (editorJavaProject != null) {
- IClasspathEntry e = JavaCore.newSourceEntry(
- new Path(IPath.SEPARATOR + getProject().getName() + ".editor" + IPath.SEPARATOR
- + SOURCE_FOLDER_NAME + IPath.SEPARATOR),
- null, new Path(IPath.SEPARATOR + getProject().getName() + ".editor" + IPath.SEPARATOR
- + "bin" + IPath.SEPARATOR));
- if (!editorEntries.contains(e))
- editorEntries.add(e);
+ entry = JavaCore.newContainerEntry(new Path("org.eclipse.pde.core.requiredPlugins"), null, null,
+ false);
+ if (!editorEntries.contains(entry))
+ editorEntries.add(entry);
}
- Semaphore built = new Semaphore(0);
- JavaCore.addElementChangedListener(new IElementChangedListener() {
-
- private boolean isBuilt = false;
-
- private boolean isEditBuilt = false;
-
- private boolean isEditorBuilt = false;
-
- @Override
- public void elementChanged(ElementChangedEvent event) {
- IJavaElementDelta[] delta = event.getDelta().getChangedChildren();
- if (delta != null && delta.length > 0)
- if (delta[0].getElement().getJavaProject().getProject().equals(getProject())
- && event.getType() == ElementChangedEvent.POST_CHANGE)
- isBuilt = true;
- if ((getContributionState().isEdit() && delta.length > 0
- && delta[0].getElement().getJavaProject().getProject().getName()
- .equals(getProject().getName() + ".edit")
- && event.getType() == ElementChangedEvent.POST_CHANGE)
- || !getContributionState().isEdit())
- isEditBuilt = true;
- if ((getContributionState().isEditor() && delta.length > 0
- && delta[0].getElement().getJavaProject().getProject().getName()
- .equals(getProject().getName() + ".editor")
- && event.getType() == ElementChangedEvent.POST_CHANGE)
- || !getContributionState().isEditor())
- isEditorBuilt = true;
- if (isBuilt && isEditBuilt && isEditorBuilt)
- built.release();
- }
- }, ElementChangedEvent.POST_CHANGE);
javaProject.setRawClasspath((IClasspathEntry[]) entries.toArray(new IClasspathEntry[entries.size()]),
m);
javaProject.getResolvedClasspath(false);
@@ -382,11 +396,9 @@ public void elementChanged(ElementChangedEvent event) {
(IClasspathEntry[]) editorEntries.toArray(new IClasspathEntry[editorEntries.size()]), m);
editorJavaProject.getResolvedClasspath(false);
}
- built.acquire();
} catch (JavaModelException mex) {
throw new CoreException(ClassMakerPlugin.createErrorStatus(mex));
} catch (OperationCanceledException ocex) {
- } catch (InterruptedException iex) {
monitor.setCanceled(true);
} finally {
m.done();
@@ -454,13 +466,20 @@ public IPath getGenModelResourcePath(IPath path) {
protected void setupGenModel(IPath projectPath, GenModel genModel, Collection ePackages) {
for (EPackage ePackage : ePackages) {
GenPackage genPackage = genModel.findGenPackage(ePackage);
- if (genPackage != null)
+ if (genPackage != null) {
genPackage.setEcorePackage(ePackage);
+ }
}
genModel.reconcile();
genModel.initialize(ePackages);
+ for (EPackage ePackage : ePackages) {
+ GenPackage genPackage = genModel.findGenPackage(ePackage);
+ if (genPackage != null) {
+ getContributionState().setBasePackage(genPackage.getBasePackage());
+ }
+ }
genModel.setCanGenerate(true);
- genModel.setComplianceLevel(GenJDKLevel.JDK110_LITERAL);
+ genModel.setComplianceLevel(GenJDKLevel.JDK170_LITERAL);
genModel.setUpdateClasspath(true);
genModel.setModelDirectory(projectPath.append(SOURCE_FOLDER_NAME).toString());
genModel.setSuppressInterfaces(true);
@@ -475,8 +494,7 @@ protected void setupGenModel(IPath projectPath, GenModel genModel, Collection options = new HashMap();
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ }
+ if (!resource.getContents().isEmpty()) {
+ GenModel genModel = (GenModel) resource.getContents().get(0);
+ this.ecoreGenerator.setupGenModel(computeProjectPath(), genModel, ePackages);
+ }
+ try {
+ Map options = new HashMap();
options.put(XMLResource.OPTION_ENCODING, "UTF-8");
+ options.put(XMIResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ options.put(XMLResource.OPTION_PROCESS_DANGLING_HREF, XMLResource.OPTION_PROCESS_DANGLING_HREF_DISCARD);
resource.save(options);
} catch (IOException e) {
throw new CoreException(ClassMakerPlugin.createWarningStatus(e));
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/CreateExporterCustomizer.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/CreateExporterCustomizer.java
index 76ef8133..327176f7 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/CreateExporterCustomizer.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/CreateExporterCustomizer.java
@@ -22,7 +22,7 @@ public class CreateExporterCustomizer extends CustomizerImpl {
@Override
public Object customize(EList args) {
- return new PDEPluginExporter((Integer) args.get(0), (Long) args.get(1));
+ return new PDEBuildExporter((Integer) args.get(0), (Long) args.get(1));
}
}
\ No newline at end of file
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEBuildExporter.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEBuildExporter.java
new file mode 100644
index 00000000..3ee6954f
--- /dev/null
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEBuildExporter.java
@@ -0,0 +1,315 @@
+/**
+ * Copyright 2012-2023 Kyrill Zotkin
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * 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.
+ */
+package org.enterprisedomain.classmaker.jobs.export;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager;
+import org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryFactory;
+import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager;
+import org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory;
+import org.eclipse.equinox.p2.core.ProvisionException;
+import org.eclipse.equinox.p2.publisher.IPublisherAction;
+import org.eclipse.equinox.p2.publisher.IPublisherInfo;
+import org.eclipse.equinox.p2.publisher.Publisher;
+import org.eclipse.equinox.p2.publisher.PublisherInfo;
+import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
+import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.osgi.service.resolver.BundleDescription;
+import org.eclipse.osgi.service.resolver.BundleSpecification;
+import org.eclipse.pde.core.IEditableModel;
+import org.eclipse.pde.core.IModel;
+import org.eclipse.pde.core.IModelProviderEvent;
+import org.eclipse.pde.core.build.IBuild;
+import org.eclipse.pde.core.build.IBuildEntry;
+import org.eclipse.pde.core.build.IBuildModel;
+import org.eclipse.pde.core.plugin.IPluginImport;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+import org.eclipse.pde.internal.core.ModelProviderEvent;
+import org.eclipse.pde.internal.core.PDECore;
+import org.eclipse.pde.internal.core.PluginModelManager;
+import org.eclipse.pde.internal.core.bundle.BundlePluginModel;
+import org.eclipse.pde.internal.core.bundle.WorkspaceBundleModel;
+import org.eclipse.pde.internal.core.plugin.AbstractPluginModelBase;
+import org.enterprisedomain.classmaker.Messages;
+import org.enterprisedomain.classmaker.SCMOperator;
+import org.enterprisedomain.classmaker.Stage;
+import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
+import org.enterprisedomain.classmaker.util.ResourceUtils;
+
+/**
+ * PDE Build-based Plug-in Exporter.
+ */
+@SuppressWarnings("restriction")
+public class PDEBuildExporter extends AbstractExporter {
+
+ private Object lock = new Object();
+
+ public PDEBuildExporter(int depth, long stateTimestamp) {
+ super(depth, stateTimestamp);
+ }
+
+ @Override
+ public IStatus work(final IProgressMonitor monitor) throws CoreException {
+ synchronized (lock) {
+ getContributionState();
+ if (getProperties().isEmpty())
+ getProperties().put(AbstractExporter.EXPORT_DESTINATION_PROP,
+ ResourceUtils.getExportDestination(getContributionState()).toString());
+ cleanup(monitor);
+ PluginModelManager modelManager = PDECore.getDefault().getModelManager();
+ Set models = new HashSet();
+ IPluginModelBase model = modelManager.findModel(getProject());
+ if (model != null) {
+ models.add(model);
+ for (BundleSpecification required : model.getBundleDescription().getRequiredBundles()) {
+ IPluginModelBase requiredModel = modelManager.findModel(required.getName());
+ if (requiredModel instanceof BundlePluginModel)
+ if (((BundlePluginModel) requiredModel).getBundleModel() instanceof WorkspaceBundleModel)
+ models.add(requiredModel);
+ }
+ updateBuildProperties(model);
+ }
+ if (getContributionState().isEdit()) {
+ IPluginModelBase edit = modelManager.findModel(getProject().getName() + ".edit"); //$NON-NLS-1$
+ if (edit != null) {
+ models.add(edit);
+ updateBuildProperties(edit);
+ IPluginModelBase emfEdit = modelManager.findModel("org.eclipse.emf.edit"); //$NON-NLS-1$
+ if (emfEdit != null)
+ models.add(emfEdit);
+ }
+ }
+ if (getContributionState().isEditor()) {
+ IPluginModelBase editor = modelManager.findModel(getProject().getName() + ".editor"); //$NON-NLS-1$
+ if (editor != null) {
+ models.add(editor);
+ updateBuildProperties(editor);
+ IPluginModelBase emfEditor = modelManager.findModel("org.eclipse.emf.edit.ui"); //$NON-NLS-1$
+ if (emfEditor != null)
+ models.add(emfEditor);
+ }
+ }
+ IPublisherInfo info;
+ try {
+ info = createPublisherInfo();
+ } catch (ProvisionException e) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
+ } catch (URISyntaxException e) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
+ }
+ IPublisherAction[] actions = null;
+ if (!models.isEmpty()) {
+ Set ms = new HashSet();
+ for (IPluginModelBase m : models)
+ ms.add(m);
+ IModel[] ma = ms.toArray(new IModel[ms.size()]);
+ actions = createActions(ma);
+ modelManager.modelsChanged(
+ new ModelProviderEvent(getProject(), IModelProviderEvent.MODELS_ADDED, ma, null, null));
+ }
+
+ final SubMonitor pm = SubMonitor.convert(monitor);
+ pm.setTaskName(Messages.TaskNamePluginExport);
+ pm.subTask(Messages.SubTaskNamePluginExport);
+ final SubMonitor m = pm.newChild(9, SubMonitor.SUPPRESS_ISCANCELED);
+
+ Publisher publisher = new Publisher(info);
+ try {
+ return publisher.publish(actions, m);
+ } finally {
+ if (m != null)
+ m.done();
+ if (pm != null)
+ pm.done();
+ }
+ }
+ }
+
+ public IPublisherInfo createPublisherInfo() throws ProvisionException, URISyntaxException {
+ PublisherInfo result = new PublisherInfo();
+
+ Map props = new HashMap();
+
+ props.put("p2.gathering", Boolean.TRUE.toString());
+ props.put("p2.product.qualifier", getContributionState().getProject().getVersion().getQualifier());
+
+ IMetadataRepository metadataRepository = new SimpleMetadataRepositoryFactory().create(
+ new URI("file:/" + getProperties().getProperty(EXPORT_DESTINATION_PROP)), "Metadata Repository",
+ MetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, props);
+
+ IArtifactRepository artifactRepository = new SimpleArtifactRepositoryFactory().create(
+ new URI("file:/" + getProperties().getProperty(EXPORT_DESTINATION_PROP)), "Artifact Repository",
+ ArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, props);
+
+ result.setMetadataRepository(metadataRepository);
+ result.setArtifactRepository(artifactRepository);
+ result.setArtifactOptions(IPublisherInfo.A_PUBLISH | IPublisherInfo.A_INDEX);
+ return result;
+ }
+
+ public IPublisherAction[] createActions(IModel[] models) {
+ IPublisherAction[] result = new IPublisherAction[1];
+ Set bundleLocations = new HashSet();
+ bundleLocations.add(getProject().getLocation().toFile());
+ PluginModelManager modelManager = PDECore.getDefault().getModelManager();
+ for (IModel model : models)
+ if (model instanceof IPluginModelBase) {
+ BundleDescription bundleDescription = ((IPluginModelBase) model).getBundleDescription();
+ if (bundleDescription != null)
+ for (BundleSpecification requiredBundle : bundleDescription.getRequiredBundles()) {
+ IPluginModelBase requiredModel = modelManager.findModel(requiredBundle.getName());
+ if (requiredModel instanceof BundlePluginModel)
+ if (((BundlePluginModel) requiredModel).getBundleModel() instanceof WorkspaceBundleModel) {
+ bundleLocations.add(new File(requiredModel.getInstallLocation()));
+ writeVersion(model, requiredModel);
+ }
+ }
+ }
+ if (getContributionState().isEdit()) {
+ bundleLocations.add(new File(getProject().getLocation().toString() + ".edit"));
+ for (IModel model : models) {
+ if (model instanceof AbstractPluginModelBase && ((AbstractPluginModelBase) model).getBundleDescription()
+ .getName().equals("org.eclipse.emf.edit"))
+ bundleLocations.add(new File(((AbstractPluginModelBase) model).getInstallLocation()));
+ if (model instanceof IPluginModelBase) {
+ BundleDescription bundleDescription = ((IPluginModelBase) model).getBundleDescription();
+ if (bundleDescription != null)
+ for (BundleSpecification requiredBundle : bundleDescription.getRequiredBundles()) {
+ IPluginModelBase requiredModel = modelManager.findModel(requiredBundle.getName() + ".edit");
+ if (requiredModel instanceof BundlePluginModel)
+ if (((BundlePluginModel) requiredModel)
+ .getBundleModel() instanceof WorkspaceBundleModel) {
+ writeVersion(model, requiredModel);
+ }
+ }
+ }
+ }
+ }
+ if (getContributionState().isEditor()) {
+ bundleLocations.add(new File(getProject().getLocation().toString() + ".editor"));
+ for (IModel model : models) {
+ if (model instanceof AbstractPluginModelBase && ((AbstractPluginModelBase) model).getBundleDescription()
+ .getName().equals("org.eclipse.emf.edit.ui"))
+ bundleLocations.add(new File(((AbstractPluginModelBase) model).getInstallLocation()));
+ if (model instanceof IPluginModelBase) {
+ BundleDescription bundleDescription = ((IPluginModelBase) model).getBundleDescription();
+ if (bundleDescription != null)
+ for (BundleSpecification requiredBundle : bundleDescription.getRequiredBundles()) {
+ IPluginModelBase requiredModel = modelManager
+ .findModel(requiredBundle.getName() + ".editor");
+ if (requiredModel instanceof BundlePluginModel)
+ if (((BundlePluginModel) requiredModel)
+ .getBundleModel() instanceof WorkspaceBundleModel) {
+ writeVersion(model, requiredModel);
+ }
+ }
+ }
+ }
+ }
+ BundlesAction bundlesAction = new BundlesAction(bundleLocations.toArray(new File[bundleLocations.size()]));
+ result[0] = bundlesAction;
+ return result;
+ }
+
+ private void writeVersion(IModel model, IPluginModelBase requiredModel) {
+ BundleDescription rDesc = requiredModel.getBundleDescription();
+ if (rDesc != null)
+ for (IPluginImport i : ((IPluginModelBase) model).getPluginBase().getImports()) {
+ BundleDescription desc = i.getPluginModel().getBundleDescription();
+ if (desc != null)
+ if (desc.getSymbolicName().equals(rDesc.getSymbolicName()))
+ try {
+ if (i.getPluginModel().isEditable())
+ i.setVersion(getContributionState().getRevision().getVersion().toString());
+ } catch (CoreException e) {
+ ClassMakerPlugin.getInstance().getLog().log(e.getStatus());
+ }
+ }
+ }
+
+ private void cleanup(IProgressMonitor monitor) throws CoreException {
+ ResourceUtils.cleanupDir(ResourceUtils.getExportDestination(getContributionState()).toString());
+ try {
+ @SuppressWarnings("unchecked")
+ SCMOperator operator = (SCMOperator) getContributionState().getProject().getWorkspace()
+ .getSCMRegistry().get(getProject().getName());
+ operator.add("."); //$NON-NLS-1$
+ } catch (Exception e) {
+ throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
+ }
+ refreshLocal(getProject(), IResource.DEPTH_ONE, monitor);
+ }
+
+ private void refreshLocal(IResource resource, int depth, IProgressMonitor monitor) throws CoreException {
+ try {
+ IProgressMonitor pm = SubMonitor.convert(monitor, 1);
+ resource.refreshLocal(depth, pm);
+ } catch (OperationCanceledException e) {
+ }
+ }
+
+ private void updateBuildProperties(IPluginModelBase model) throws CoreException {
+ IBuildModel buildModel = PluginRegistry.createBuildModel(model);
+ IBuild build = buildModel.getBuild();
+ IBuildEntry srcEntry = build.getEntry("source.."); //$NON-NLS-1$
+ if (srcEntry == null) {
+ srcEntry = buildModel.getFactory().createEntry("source.."); //$NON-NLS-1$
+ if (!srcEntry.contains("src/"))
+ srcEntry.addToken("src/");
+ build.add(srcEntry);
+ }
+ IBuildEntry outputEntry = build.getEntry("output.."); //$NON-NLS-1$
+ if (outputEntry == null) {
+ outputEntry = buildModel.getFactory().createEntry("output.."); //$NON-NLS-1$
+ if (!outputEntry.contains("bin"))
+ outputEntry.addToken("bin");
+ build.add(outputEntry);
+ }
+ if (!srcEntry.contains("src" + IPath.SEPARATOR)) //$NON-NLS-1$
+ srcEntry.addToken("src" + IPath.SEPARATOR); //$NON-NLS-1$
+ IBuildEntry compilerEntry = build.getEntry("compilerArg"); //$NON-NLS-1$
+ if (compilerEntry == null) {
+ compilerEntry = buildModel.getFactory().createEntry("compilerArg"); //$NON-NLS-1$
+ build.add(compilerEntry);
+ }
+ if (!compilerEntry.contains("-proc:none")) //$NON-NLS-1$
+ compilerEntry.addToken("-proc:none"); //$NON-NLS-1$
+ if (buildModel instanceof IEditableModel)
+ ((IEditableModel) buildModel).save();
+ }
+
+ @Override
+ public Stage getDirtyStage() {
+ return Stage.INSTALLED;
+ }
+}
\ No newline at end of file
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEPluginExporter.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEPluginExporter.java
deleted file mode 100644
index d6a50495..00000000
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/export/PDEPluginExporter.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * Copyright 2012-2021 Kyrill Zotkin
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * 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.
- */
-package org.enterprisedomain.classmaker.jobs.export;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.core.runtime.jobs.ProgressProvider;
-import org.eclipse.jgit.api.Git;
-import org.eclipse.pde.core.IEditableModel;
-import org.eclipse.pde.core.IModel;
-import org.eclipse.pde.core.IModelProviderEvent;
-import org.eclipse.pde.core.build.IBuild;
-import org.eclipse.pde.core.build.IBuildEntry;
-import org.eclipse.pde.core.build.IBuildModel;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.eclipse.pde.core.plugin.TargetPlatform;
-import org.eclipse.pde.internal.core.ModelProviderEvent;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.PluginModelManager;
-import org.eclipse.pde.internal.core.exports.FeatureExportInfo;
-import org.eclipse.pde.internal.core.exports.PluginExportOperation;
-import org.enterprisedomain.classmaker.Messages;
-import org.enterprisedomain.classmaker.SCMOperator;
-import org.enterprisedomain.classmaker.Stage;
-import org.enterprisedomain.classmaker.State;
-import org.enterprisedomain.classmaker.core.ClassMakerPlugin;
-import org.enterprisedomain.classmaker.jobs.DelegatingJob;
-import org.enterprisedomain.classmaker.util.ResourceUtils;
-import org.osgi.framework.Version;
-
-@SuppressWarnings("restriction")
-public class PDEPluginExporter extends AbstractExporter {
-
- private PluginExportOperation op = null;
-
- private Object lock = new Object();
-
- public PDEPluginExporter(int depth, long stateTimestamp) {
- super(depth, stateTimestamp);
- }
-
- @Override
- public IStatus work(final IProgressMonitor monitor) throws CoreException {
- synchronized (lock) {
- State state = getContributionState();
- Version version = state.getProject().getVersion();
- final FeatureExportInfo info = new FeatureExportInfo();
- info.destinationDirectory = getProperties().getProperty(EXPORT_DESTINATION_PROP);
- info.toDirectory = true;
- info.useJarFormat = true;
- info.exportMetadata = true;
- info.useWorkspaceCompiledClasses = false;
- info.targets = new String[][] { { "os", TargetPlatform.getOS() }, { "ws", TargetPlatform.getWS() }, //$NON-NLS-1$ //$NON-NLS-2$
- { "arch", TargetPlatform.getOSArch() }, { "nl", TargetPlatform.getNL() } }; //$NON-NLS-1$ //$NON-NLS-2$
- if (!version.equals(Version.emptyVersion))
- info.qualifier = (String) version.getQualifier();
- PluginModelManager modelManager = PDECore.getDefault().getModelManager();
- List models = new ArrayList();
- IPluginModelBase model = modelManager.findModel(getProject());
- if (model != null) {
- models.add(model);
- updateBuildProperties(model, true);
- if (op != null)
- op.deleteBuildFiles(model);
- if (new Version(model.getPluginBase().getVersion()).compareTo(state.getRevision().getVersion()) == 0)
- cleanup(monitor);
- }
- if (getContributionState().isEdit()) {
- IPluginModelBase edit = modelManager.findModel(getProject().getName() + ".edit"); //$NON-NLS-1$
- if (edit != null) {
- models.add(edit);
- updateBuildProperties(edit, false);
- IPluginModelBase emfEdit = modelManager.findModel("org.eclipse.emf.edit"); //$NON-NLS-1$
- if (emfEdit != null)
- models.add(emfEdit);
- }
- if (op != null)
- op.deleteBuildFiles(edit);
- }
- if (getContributionState().isEditor()) {
- IPluginModelBase editor = modelManager.findModel(getProject().getName() + ".editor"); //$NON-NLS-1$
- if (editor != null) {
- models.add(editor);
- updateBuildProperties(editor, false);
- IPluginModelBase emfEditor = modelManager.findModel("org.eclipse.emf.edit.ui"); //$NON-NLS-1$
- if (emfEditor != null)
- models.add(emfEditor);
- }
- if (op != null)
- op.deleteBuildFiles(editor);
- }
- if (!models.isEmpty()) {
- info.items = models.toArray();
- List ms = new ArrayList();
- for (IPluginModelBase m : models)
- ms.add(m);
- IModel[] ma = ms.toArray(new IModel[ms.size()]);
- modelManager.modelsChanged(
- new ModelProviderEvent(getProject(), IModelProviderEvent.MODELS_ADDED, ma, null, null));
- }
- joinJob(Messages.JobNamePDEExport);
- final SubMonitor pm = SubMonitor.convert(monitor);
- pm.setTaskName(Messages.TaskNamePluginExport);
- pm.subTask(Messages.SubTaskNamePluginExport);
- final SubMonitor m = pm.newChild(9, SubMonitor.SUPPRESS_ISCANCELED);
-
- op = new PluginExportOperation(info, Messages.JobNamePDEExport);
- DelegatingJob delegate = new DelegatingJob(op, getDepth(), getStateTimestamp());
- delegate.setProgressProvider(new ProgressProvider() {
-
- @Override
- public IProgressMonitor createMonitor(Job job) {
- return m;
- }
- });
- delegate.setContributionState(getContributionState());
- delegate.setNextJob(getNextJob());
- delegate.setResultStage(getResultStage());
- delegate.setDirtyStage(getDirtyStage());
- setNextJob(delegate);
- delegate.addJobChangeListener(new JobChangeAdapter() {
-
- @Override
- public void done(IJobChangeEvent event) {
- if (event.getJob().getName().equals(Messages.JobNamePDEExport)) {
- m.done();
- pm.done();
- }
- }
-
- });
- return ClassMakerPlugin.createInfoStatus(Messages.PDEExportScheduled);
- }
- }
-
- @Override
- public boolean hasErrors(IStatus status) {
- if (op != null)
- return op.hasAntErrors();
- return super.hasErrors(status);
- }
-
- private void cleanup(IProgressMonitor monitor) throws CoreException {
- ResourceUtils.cleanupDir(getProject(), ResourceUtils.getTargetFolderName());
- try {
- @SuppressWarnings("unchecked")
- SCMOperator operator = (SCMOperator) getContributionState().getProject().getWorkspace()
- .getSCMRegistry().get(getProject().getName());
- operator.add("."); //$NON-NLS-1$
- } catch (Exception e) {
- throw new CoreException(ClassMakerPlugin.createErrorStatus(e));
- }
- refreshLocal(getProject(), IResource.DEPTH_ONE, monitor);
- }
-
- private void refreshLocal(IResource resource, int depth, IProgressMonitor monitor) throws CoreException {
- try {
- IProgressMonitor pm = SubMonitor.convert(monitor, 1);
- resource.refreshLocal(depth, pm);
- } catch (OperationCanceledException e) {
- }
- }
-
- private void updateBuildProperties(IPluginModelBase model, boolean src) throws CoreException {
- IBuildModel buildModel = PluginRegistry.createBuildModel(model);
- IBuild build = buildModel.getBuild();
- if (src) {
- IBuildEntry entry = build.getEntry("source.."); //$NON-NLS-1$
- if (entry == null) {
- entry = buildModel.getFactory().createEntry("source.."); //$NON-NLS-1$
- build.add(entry);
- }
- if (!entry.contains("src" + IPath.SEPARATOR)) //$NON-NLS-1$
- entry.addToken("src" + IPath.SEPARATOR); //$NON-NLS-1$
- }
- IBuildEntry entry = build.getEntry("compilerArg"); //$NON-NLS-1$
- if (entry == null) {
- entry = buildModel.getFactory().createEntry("compilerArg"); //$NON-NLS-1$
- build.add(entry);
- }
- if (!entry.contains("-proc:none")) //$NON-NLS-1$
- entry.addToken("-proc:none"); //$NON-NLS-1$
- if (buildModel instanceof IEditableModel)
- ((IEditableModel) buildModel).save();
- }
-
- @Override
- public Stage getDirtyStage() {
- return Stage.INSTALLED;
- }
-}
diff --git a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/install/OSGiInstaller.java b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/install/OSGiInstaller.java
index 34ba7c79..fef33c75 100644
--- a/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/install/OSGiInstaller.java
+++ b/bundles/org.enterprisedomain.classmaker/src/org/enterprisedomain/classmaker/jobs/install/OSGiInstaller.java
@@ -19,9 +19,12 @@
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.concurrent.Semaphore;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
@@ -29,7 +32,14 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.osgi.service.resolver.BundleDescription;
+import org.eclipse.osgi.service.resolver.BundleSpecification;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.internal.core.PDECore;
+import org.eclipse.pde.internal.core.PluginModelManager;
+import org.eclipse.pde.internal.core.bundle.BundlePluginModel;
+import org.eclipse.pde.internal.core.bundle.WorkspaceBundleModel;
import org.enterprisedomain.classmaker.ClassMakerPackage;
import org.enterprisedomain.classmaker.Messages;
import org.enterprisedomain.classmaker.Revision;
@@ -64,9 +74,9 @@ public void bundleChanged(BundleEvent event) {
&& (versionsAreEqual(
Version.parseVersion(event.getBundle().getHeaders().get(Constants.BUNDLE_VERSION)),
getContributionState().getProject().getVersion(), false)
- || versionAreLess(
+ || versionAreLess(getContributionState().getProject().getVersion(),
Version.parseVersion(event.getBundle().getHeaders().get(Constants.BUNDLE_VERSION)),
- getContributionState().getProject().getVersion(), true)))
+ true)))
switch (event.getType()) {
case BundleEvent.RESOLVED:
case BundleEvent.INSTALLED:
@@ -98,36 +108,23 @@ public IStatus work(IProgressMonitor monitor) throws CoreException {
IStatus result = new MultiStatus(ClassMakerPlugin.PLUGIN_ID, IStatus.OK, "", null);
try {
Bundle existingBundle = null;
- int kind = -1;
for (Bundle bundle : getBundles()) {
if (versionsAreEqual(Version.parseVersion(bundle.getHeaders().get(Constants.BUNDLE_VERSION)),
getContributionState().getProject().getVersion(), false)) {
existingBundle = bundle;
- kind = 0;
- if (getContributionState().isEdit()
- && bundle.getSymbolicName().equals(bundle.getSymbolicName() + ".edit")) {
- kind = 1;
- }
- if (getContributionState().isEditor()
- && bundle.getSymbolicName().equals(bundle.getSymbolicName() + ".editor")) {
- kind = 2;
- }
} else if (versionAreLess(Version.parseVersion(bundle.getHeaders().get(Constants.BUNDLE_VERSION)),
getContributionState().getProject().getVersion(), false)) {
existingBundle = bundle;
- kind = 0;
- if (getContributionState().isEdit()
- && bundle.getSymbolicName().equals(bundle.getSymbolicName() + ".edit"))
- kind = 1;
- if (getContributionState().isEditor()
- && bundle.getSymbolicName().equals(bundle.getSymbolicName() + ".editor"))
- kind = 2;
- result = addStatus(updateBundle(existingBundle, kind, bundleContext), result);
+ if (getContributionState().isEdit())
+ result = addStatus(updateBundle(existingBundle, 1, bundleContext), result);
+ if (getContributionState().isEditor())
+ result = addStatus(updateBundle(existingBundle, 2, bundleContext), result);
if (result.isOK())
return result;
}
}
- result = addStatus(installBundle(existingBundle, kind, bundleContext), result);
+ ((ContainerJob) getNextJob()).getInstalledBundles().clear();
+ result = addStatus(installBundle(existingBundle, 0, bundleContext), result);
if (getContributionState().isEdit())
result = addStatus(installBundle(existingBundle, 1, bundleContext), result);
if (getContributionState().isEditor())
@@ -156,38 +153,40 @@ private IStatus addStatus(IStatus status, IStatus parent) {
}
private IStatus updateBundle(Bundle existingBundle, int kind, BundleContext context) {
+ List bundles = new ArrayList();
if (existingBundle == null)
- return getWarningStatus(existingBundle, null);
+ return getWarningStatus(bundles, null);
try {
context.addBundleListener(listener);
switch (kind) {
case 0:
- existingBundle.update(new FileInputStream(
- ResourceUtils.getTargetResourcePath(getProject(), getContributionState()).toFile()));
+ existingBundle.update(
+ new FileInputStream(ResourceUtils.getTargetResourcePath(getContributionState()).toFile()));
+ bundles.add(existingBundle);
break;
case 1:
if (getContributionState().isEdit())
existingBundle.update(new FileInputStream(
- ResourceUtils.getEditTargetResourcePath(getProject(), getContributionState()).toFile()));
+ ResourceUtils.getEditTargetResourcePath(getContributionState()).toFile()));
break;
case 2:
if (getContributionState().isEditor())
existingBundle.update(new FileInputStream(
- ResourceUtils.getEditorTargetResourcePath(getProject(), getContributionState()).toFile()));
+ ResourceUtils.getEditorTargetResourcePath(getContributionState()).toFile()));
break;
}
- refreshBundle(existingBundle, context);
+ refreshBundle(bundles, context);
installed.acquire();
getContributionState().setPhase(getResultStage());
- return getOKStatus(existingBundle);
+ return getOKStatus(bundles);
} catch (BundleException e) {
if (e.getType() == BundleException.RESOLVE_ERROR)
- return getWarningStatus(existingBundle, e);
+ return getWarningStatus(bundles, e);
else if (e.getType() == BundleException.DUPLICATE_BUNDLE_ERROR)
- return getOKStatus(existingBundle);
- return getWarningStatus(existingBundle, e);
+ return getOKStatus(bundles);
+ return getWarningStatus(bundles, e);
} catch (FileNotFoundException e) {
- return getWarningStatus(existingBundle, e);
+ return getWarningStatus(bundles, e);
} catch (InterruptedException e) {
return Status.CANCEL_STATUS;
} finally {
@@ -197,7 +196,9 @@ else if (e.getType() == BundleException.DUPLICATE_BUNDLE_ERROR)
private IStatus installBundle(Bundle existingBundle, int kind, BundleContext context)
throws InterruptedException, CoreException {
- Bundle bundle = null;
+ List bundles = new ArrayList();
+ String uri = null;
+ Set requiredUris = new HashSet();
try {
context.addBundleListener(listener);
if (existingBundle != null) {
@@ -219,49 +220,116 @@ private IStatus installBundle(Bundle existingBundle, int kind, BundleContext con
switch (kind) {
case -1:
case 0:
- bundle = context.installBundle(URI
- .createFileURI(
- ResourceUtils.getTargetResourcePath(getProject(), getContributionState()).toString())
- .toString());
+ uri = URI.createFileURI(ResourceUtils.getTargetResourcePath(getContributionState()).toString())
+ .toString();
+ extractRequiredURIs(requiredUris, getProject());
break;
case 1:
- if (getContributionState().isEdit())
- bundle = context
- .installBundle(URI
- .createFileURI(ResourceUtils
- .getEditTargetResourcePath(getProject(), getContributionState()).toString())
- .toString());
+ if (getContributionState().isEdit()) {
+ uri = URI.createFileURI(ResourceUtils.getEditTargetResourcePath(getContributionState()).toString())
+ .toString();
+ extractRequiredURIs(requiredUris, getEditProject());
+ }
break;
case 2:
- if (getContributionState().isEditor())
- bundle = context.installBundle(URI
- .createFileURI(ResourceUtils
- .getEditorTargetResourcePath(getProject(), getContributionState()).toString())
- .toString());
+ if (getContributionState().isEditor()) {
+ uri = URI
+ .createFileURI(ResourceUtils.getEditorTargetResourcePath(getContributionState()).toString())
+ .toString();
+ extractRequiredURIs(requiredUris, getEditorProject());
+ }
break;
}
- if (bundle == null)
+ for (String requiredUri : requiredUris) {
+ try {
+ bundles.add(context.installBundle(requiredUri));
+ } catch (BundleException e) {
+ if (e.getType() == BundleException.DUPLICATE_BUNDLE_ERROR) {
+ ((ContainerJob) getNextJob()).getInstalledBundles().addAll(bundles);
+ }
+ }
+ }
+ bundles.add(context.installBundle(uri));
+ if (bundles.isEmpty())
return ClassMakerPlugin
.createErrorStatus(NLS.bind(Messages.BundleNotInstalled, getProject().getName()));
- refreshBundle(bundle, context);
- installed.acquire();
+ ((ContainerJob) getNextJob()).getInstalledBundles().addAll(bundles);
+ refreshBundle(bundles, context);
+// installed.acquire();
getContributionState().setPhase(getResultStage());
- return getOKStatus(bundle);
+ return getOKStatus(bundles);
} catch (BundleException e) {
if (e.getType() == BundleException.DUPLICATE_BUNDLE_ERROR)
- return getOKStatus(existingBundle, bundle);
- return getWarningStatus(bundle, e);
+ return getOKStatus(existingBundle, bundles);
+ if (e.getCause() instanceof FileNotFoundException) {
+ try {
+ for (String requiredUri : requiredUris)
+ bundles.add(context.installBundle(requiredUri));
+ bundles.add(context.installBundle(uri));
+ if (bundles.isEmpty())
+ return ClassMakerPlugin
+ .createErrorStatus(NLS.bind(Messages.BundleNotInstalled, getProject().getName()));
+ refreshBundle(bundles, context);
+// installed.acquire();
+ getContributionState().setPhase(getResultStage());
+ return getOKStatus(bundles);
+ } catch (BundleException ex) {
+ if (ex.getType() == BundleException.DUPLICATE_BUNDLE_ERROR)
+ return getOKStatus(existingBundle, bundles);
+ }
+ }
+ return getWarningStatus(bundles, e);
} finally {
getContext().removeBundleListener(listener);
}
}
- protected Collection refreshBundle(Bundle bundle, BundleContext context) {
- Collection bundles = new ArrayList();
- if (bundle != null)
- bundles.add(bundle);
+ private void extractRequiredURIs(Set requiredUris, IProject project) {
+ PluginModelManager modelManager = PDECore.getDefault().getModelManager();
+ IPluginModelBase model = modelManager.findModel(project);
+ if (model != null) {
+ BundleDescription bundleDescription = ((IPluginModelBase) model).getBundleDescription();
+ if (bundleDescription != null)
+ for (BundleSpecification requiredBundle : bundleDescription.getRequiredBundles()) {
+ IPluginModelBase requiredModel = modelManager.findModel(requiredBundle.getName());
+ if (requiredModel instanceof BundlePluginModel)
+ if (((BundlePluginModel) requiredModel).getBundleModel() instanceof WorkspaceBundleModel) {
+ BundleDescription bd = requiredModel.getBundleDescription();
+ if (!isInstalled(bd))
+ requiredUris.add(URI
+ .createFileURI(ResourceUtils.getExportDestination(getContributionState())
+ .append("plugins") //$NON-NLS-1$
+ .addTrailingSeparator()
+ .append(bd.getSymbolicName() + "_" + bd.getVersion().toString())
+ .addFileExtension("jar").toString()) // $NON-NLS-1
+ .toString());
+ }
+
+ }
+ }
+ }
+
+ /**
+ * @return whether the specified bundle is installed.
+ */
+ private boolean isInstalled(BundleDescription bd) {
+ for (Bundle b : getContext().getBundles()) {
+ if (b.getSymbolicName().equals(bd.getSymbolicName()) && b.getVersion().equals(bd.getVersion())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected Collection refreshBundle(Collection bundles, BundleContext context) {
frameworkWiring = context.getBundle(0).adapt(FrameworkWiring.class);
- frameworkWiring.refreshBundles(bundles, new FrameworkListener[0]);
+ if (bundles != null)
+ frameworkWiring.refreshBundles(bundles, new FrameworkListener[] { (e) -> {
+ if (bundles.contains(context.getBundle())) {
+ uninstalled.release();
+ installed.release();
+ }
+ } });
try {
notifyAll();
} catch (IllegalMonitorStateException e) {
@@ -269,34 +337,41 @@ protected Collection refreshBundle(Bundle bundle, BundleContext context)
return bundles;
}
- private IStatus getWarningStatus(Bundle bundle, Exception e) {
- if (bundle == null)
+ private IStatus getWarningStatus(Collection