catch up with branch daily
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 15722a6..61f739b 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -25,15 +25,25 @@
<jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.action</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.authorization</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.blip</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.chart</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.cube</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.datainterchange</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.datamart</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.dialog</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.entitymock</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.functionlibrary</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.i18n</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.menu</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.message</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.organization</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.perspective</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.report</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.signal</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.statemachine</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.xtext.strategy</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.table</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.topology</jenkins.build.dependency>
</jenkins.build.dependencies>
</jenkins>
diff --git a/org.eclipse.osbp.dsl.metadata.service/META-INF/MANIFEST.MF b/org.eclipse.osbp.dsl.metadata.service/META-INF/MANIFEST.MF
index 4582269..5fe8fba 100644
--- a/org.eclipse.osbp.dsl.metadata.service/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.dsl.metadata.service/META-INF/MANIFEST.MF
@@ -19,36 +19,44 @@
org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
org.eclipse.bpmn2;bundle-version="1.0.0",
org.eclipse.osbp.bpmn2.ecore;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.perspective;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.action;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.blip;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.functionlibrarydsl;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.datainterchange;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.entitymock;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.menu;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.strategy;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.persistence.jpa;bundle-version="2.6.1",
+ org.eclipse.osbp.ui.api;bundle-version="0.9.0",
+ org.eclipse.osgi.services;bundle-version="3.5.100",
org.eclipse.osbp.dsl.common.xtext;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.dsl.dto.xtext;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.dsl.datatype.xtext;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.xtext.statemachine;bundle-version="0.9.0",
org.eclipse.osbp.ecview.dsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.dsl.lib;bundle-version="0.9.0",
+ org.eclipse.osbp.xtext.i18n;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.authorizationdsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.messagedsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.action;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.functionlibrarydsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.datainterchange;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.datamartdsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.table;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.chart;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.reportdsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.cubedsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.topologydsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.entitymock;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.strategy;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.dialogdsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.perspective;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.blip;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.organizationdsl;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.statemachine;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.menu;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.xtext.signal;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)"
+ org.eclipse.osbp.preferences;bundle-version="0.9.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: javax.validation.constraints,
org.apache.commons.lang3;version="3.4.0",
org.eclipse.e4.core.services.translation,
- org.eclipse.osbp.preferences;version="0.9.0",
- org.eclipse.osbp.ui.api.metadata;version="0.9.0",
- org.eclipse.osbp.ui.api.perspective;version="0.9.0",
- org.eclipse.osbp.xtext.blip;version="0.9.0",
- org.eclipse.osbp.xtext.i18n;version="0.9.0",
- org.eclipse.osbp.xtext.perspective;version="0.9.0",
- org.osgi.service.component;version="1.2.0",
- org.osgi.service.component.annotations,
org.slf4j;resolution:=optional
Export-Package: org.eclipse.osbp.dsl.metadata.service
Service-Component: OSGI-INF/org.eclipse.osbp.dsl.metadata.service.DSLBuilderParticipant.xml
diff --git a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
index aa56d41..d0bd2bb 100644
--- a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
+++ b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
@@ -23,8 +23,8 @@
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Hashtable;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -45,14 +45,14 @@
import org.eclipse.osbp.dsl.semantic.dto.LDto;
import org.eclipse.osbp.dsl.semantic.entity.LEntity;
import org.eclipse.osbp.dsl.xtext.types.bundles.BundleSpaceTypeProvider;
-import org.eclipse.osbp.ecview.core.common.context.IViewContext;
-import org.eclipse.osbp.ecview.core.common.extender.IECViewProviderService;
-import org.eclipse.osbp.ecview.semantic.uimodel.UiModel;
-import org.eclipse.osbp.ecview.semantic.uimodel.UiView;
+import org.eclipse.osbp.ecview.semantic.uimodel.UiIDEView;
+import org.eclipse.osbp.ecview.semantic.uimodel.UiModelPackage;
import org.eclipse.osbp.preferences.ProductConfiguration;
import org.eclipse.osbp.runtime.common.extender.IExtenderConstants;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.perspective.IPerspectiveProvider;
+import org.eclipse.osbp.xtext.action.ActionPackage;
+import org.eclipse.osbp.xtext.action.ActionToolbar;
import org.eclipse.osbp.xtext.authorizationdsl.AuthorizationPackage;
import org.eclipse.osbp.xtext.authorizationdsl.Role;
import org.eclipse.osbp.xtext.builder.metadata.services.AbstractBuilderParticipant;
@@ -70,6 +70,11 @@
import org.eclipse.osbp.xtext.dialogdsl.Dialog;
import org.eclipse.osbp.xtext.dialogdsl.DialogDSLPackage;
import org.eclipse.osbp.xtext.dialogdsl.DialogPackage;
+import org.eclipse.osbp.xtext.dialogdsl.mapper.AutowireUiFactory;
+import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryDSLPackage;
+import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryDialogGroup;
+import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryDialogHook;
+import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryPackage;
import org.eclipse.osbp.xtext.i18n.I18NKeyGenerator;
import org.eclipse.osbp.xtext.organizationdsl.Organization;
import org.eclipse.osbp.xtext.perspective.Perspective;
@@ -89,14 +94,16 @@
import org.eclipse.osbp.xtext.topologydsl.Topology;
import org.eclipse.osbp.xtext.topologydsl.TopologyDSLPackage;
import org.eclipse.osbp.xtext.topologydsl.TopologyPackage;
+import org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider;
+import org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor;
+import org.eclipse.persistence.internal.jpa.deployment.SEPersistenceUnitInfo;
+import org.eclipse.persistence.jpa.Archive;
+import org.eclipse.persistence.jpa.PersistenceProvider;
import org.eclipse.xtext.common.types.JvmDeclaredType;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.Tuples;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
import org.osgi.framework.wiring.BundleWiring;
import org.osgi.service.component.ComponentContext;
@@ -128,6 +135,12 @@
/** The dsl bundles. */
private Map<String, List<Bundle>> dslBundles = new HashMap<>();
+
+ /** The entity class loaders. */
+ private Map<String, ClassLoader> entityClassLoaders = new HashMap<>();
+
+ /** The persistence units. */
+ private Map<String, SEPersistenceUnitInfo> persistenceUnitInfos = new HashMap<>();
/** The used keys. */
private Map<Bundle, List<String>> usedKeys = new HashMap<>();
@@ -139,13 +152,13 @@
private List<Bundle> masterBundles = new ArrayList<>();
/** The translations. */
- private HashMap<String, Properties> translations = new HashMap<>();
+ private Map<String, Properties> translations = new HashMap<>();
/** The translations source. */
- private HashMap<String, Properties> translationSource = new HashMap<>();
+ private Map<String, Properties> translationSource = new HashMap<>();
/** The cache for nearest localeTag to a localeString */
- private HashMap<String, String> localeCache = new HashMap<>();
+ private Map<String, String> localeCache = new HashMap<>();
/** to reduce regex matching */
- private HashMap<String, String> keyCache = new HashMap<>();
+ private Map<String, String> keyCache = new HashMap<>();
private boolean osbee = false;
@@ -293,12 +306,57 @@
if (!scannedBundles.contains(suspect)) {
scanTranslationBundles(suspect);
}
+ if("entity".equals(extension)) {
+ extractPersistenceUnits(wiring);
+ }
}
}
}
}
}
+ private void extractPersistenceUnits(BundleWiring wiring) {
+ List<URL> pUnits = wiring.findEntries("/", "persistence.xml", BundleWiring.LISTRESOURCES_RECURSE);
+ for (URL pUnit : pUnits) {
+ SEPersistenceUnitInfo persistenceUnitInfo = null;
+ Set<Archive> pars;
+ pars = PersistenceUnitProcessor.findPersistenceArchives(wiring.getClassLoader(), pUnit.getPath());
+ try {
+ for (Archive archive : pars) {
+ Iterator<SEPersistenceUnitInfo> persistenceUnits = PersistenceUnitProcessor.getPersistenceUnits(archive, wiring.getClassLoader()).iterator();
+ while(persistenceUnits.hasNext()) {
+ persistenceUnitInfo = persistenceUnits.next();
+ if (persistenceUnitInfo != null && isPersistenceProviderSupported(persistenceUnitInfo.getPersistenceProviderClassName())) {
+ persistenceUnitInfos.put(persistenceUnitInfo.getPersistenceUnitName(), persistenceUnitInfo);
+ for(String clz:persistenceUnitInfo.getManagedClassNames()) {
+ entityClassLoaders.put(getPackageName(clz), wiring.getClassLoader());
+ }
+
+ }
+ }
+ }
+ } finally {
+ for (Archive archive : pars) {
+ archive.close();
+ }
+ }
+ }
+ }
+
+ public static String getPackageName(String className) {
+ int lastDot = className.lastIndexOf('.');
+ if (lastDot == -1) {
+ return "";
+ }
+ return className.substring(0, lastDot);
+ }
+
+ private boolean isPersistenceProviderSupported(String providerClassName) {
+ return (providerClassName == null || providerClassName.equals("")
+ || providerClassName.equals(EntityManagerFactoryProvider.class.getName())
+ || providerClassName.equals(PersistenceProvider.class.getName()));
+ }
+
/**
* Load translations from a bundle. Tries to find an i18n directory with
* different language properties.
@@ -510,6 +568,15 @@
* Provided as an OSGi service to returnmodels for the given qualified name.
*/
public class DSLMetadataService implements IDSLMetadataService {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.ui.api.metadata.IDSLMetadataService#reloadModel(java.lang.String)
+ */
+ @Override
+ public void unloadModel(String extension) {
+ metadataBuilderService.unloadResource(extension);
+ }
+
/*
* (non-Javadoc)
*
@@ -553,14 +620,21 @@
*/
@Override
public Class<?> getClass(EObject eObject, String extension) {
- String className = getClassName(eObject, "");
+ return getClass(getClassName(eObject, ""), extension);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.ui.api.metadata.IDSLMetadataService#getClass(java.lang.String, java.lang.String)
+ */
+ @Override
+ public Class<?> getClass(String fqn, String extension) {
if (dslBundles.containsKey(extension)) {
for (Bundle bundle : dslBundles.get(extension)) {
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
ClassLoader classLoader = bundleWiring.getClassLoader();
Class<?> clz = null;
try {
- clz = classLoader.loadClass(className);
+ clz = classLoader.loadClass(fqn);
} catch (ClassNotFoundException e) {
// nothing to do
}
@@ -569,10 +643,10 @@
}
}
}
- log.error("class {} could not be found for extension {}", className, extension);
+ log.error("class {} could not be found for extension {}", fqn, extension);
return null;
}
-
+
/*
* (non-Javadoc)
*
@@ -582,7 +656,14 @@
*/
@Override
public Object getClassInstance(EObject eObject, String extension) {
- Class<?> clz = getClass(eObject, extension);
+ return getClassInstance(getClass(eObject, extension), extension);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.ui.api.metadata.IDSLMetadataService#getClassInstance(java.lang.Class, java.lang.String)
+ */
+ @Override
+ public Object getClassInstance(Class<?> clz, String extension) {
try {
if (clz != null) {
return clz.newInstance();
@@ -590,12 +671,11 @@
} catch (InstantiationException | IllegalAccessException e) {
log.error("class {} could not be instantiated", clz.getCanonicalName());
if (e.getCause() != null) {
- log.error("because " + e.getCause());
+ log.error("because {}", e.getCause());
}
}
return null;
}
-
/**
* Gets the class URI. As more than one bundle could carry a model
* instance, we must try to load the requested class to be sure to have
@@ -773,13 +853,18 @@
* (java.lang.String, java.lang.String)
*/
@Override
- public Map<String, String> getAllTypeNames(String localeTag, String typeName) {
- HashMap<String, String> subTypesNames = new HashMap<>();
- subTypesNames.put(translate(localeTag, typeName.substring(typeName.lastIndexOf('.') + 1)), typeName);
- JvmDeclaredType type = (JvmDeclaredType) metadataBuilderService.getTypeProvider().findTypeByName(typeName);
- Set<JvmDeclaredType> subTypes = metadataBuilderService.findSubTypes(type);
+ public Map<String, Object> getAllSubtypes(String localeTag, Class<?> type) {
+ LinkedHashMap<String, Object> subTypesNames = new LinkedHashMap<>();
+ subTypesNames.put(translate(localeTag, type.getSimpleName()), type);
+ JvmDeclaredType jvmType = (JvmDeclaredType) metadataBuilderService.getTypeProvider().findTypeByName(type.getCanonicalName());
+ Set<JvmDeclaredType> subTypes = metadataBuilderService.findSubTypes(jvmType);
for (JvmDeclaredType subType : subTypes) {
- subTypesNames.put(translate(localeTag, subType.getSimpleName()), subType.getQualifiedName());
+ try {
+ Class<?> subtypeClass = createType(subType.getQualifiedName());
+ subTypesNames.put(translate(localeTag, subType.getSimpleName()), subtypeClass);
+ } catch (ClassNotFoundException e) {
+ log.error("{}", e);
+ }
}
return subTypesNames;
}
@@ -869,6 +954,31 @@
public boolean isOsbee() {
return osbee;
}
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.ui.api.metadata.IDSLMetadataService#getClassLoader(java.lang.String)
+ */
+ @Override
+ public ClassLoader getClassLoader(String className) {
+ for(Entry<String, ClassLoader> entityBundle:entityClassLoaders.entrySet()) {
+ if(className.startsWith(entityBundle.getKey())) {
+ return entityBundle.getValue();
+ }
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osbp.ui.api.metadata.IDSLMetadataService#getPersistenceUnitInfo(java.lang.String)
+ */
+ @Override
+ public Object getPersistenceUnitInfo(String persistenceUnitName) {
+ if(persistenceUnitInfos.containsKey(persistenceUnitName)) {
+ return persistenceUnitInfos.get(persistenceUnitName);
+ }
+ return null;
+ }
}
/**
@@ -898,9 +1008,10 @@
return IPerspectiveProvider.PerspectiveViewType.TABLE;
} else if (pkg == TopologyDSLPackage.eINSTANCE) {
return IPerspectiveProvider.PerspectiveViewType.TOPOLOGY;
- }
- else if (pkg == SignalDSLPackage.eINSTANCE) {
+ } else if (pkg == SignalDSLPackage.eINSTANCE) {
return IPerspectiveProvider.PerspectiveViewType.SIGNAL;
+ } else if (pkg == FunctionLibraryDSLPackage.eINSTANCE) {
+ return IPerspectiveProvider.PerspectiveViewType.FUNCTIONLIBRARY;
}
throw new IllegalArgumentException(
IDSLMetadataService.ThrowableMessages.NAMING_LOGIC_NOT_REGISTERD + eObject);
@@ -924,8 +1035,12 @@
return getAuthorizationFQN(eObject);
} else if (eObject instanceof Dialog) {
return getDialogFQN(eObject);
+ } else if (eObject instanceof UiIDEView) {
+ return getUiIdeFQN(eObject);
} else if (eObject instanceof LDto) {
return getDtoFQN(eObject);
+ } else if (eObject instanceof LEntity) {
+ return getEntityFQN(eObject);
} else if (eObject instanceof Report) {
return getReportFQN(eObject);
} else if (eObject instanceof Table) {
@@ -936,6 +1051,12 @@
return getDatamartFQN(eObject);
} else if (eObject instanceof SignalDefinition) {
return getSignalFQN(eObject);
+ } else if (eObject instanceof ActionToolbar) {
+ return getActionFQN(eObject);
+ } else if (eObject instanceof FunctionLibraryDialogGroup) {
+ return getDialogGroupFQN(eObject);
+ } else if (eObject instanceof FunctionLibraryDialogHook) {
+ return getDialogHookFQN(eObject);
}
throw new IllegalArgumentException(
IDSLMetadataService.ThrowableMessages.NAMING_LOGIC_NOT_REGISTERD + eObject);
@@ -975,6 +1096,8 @@
return getDataInterchangeClassName(eObject);
} else if (eObject instanceof SignalPackage) {
return getSignalClassName(eObject);
+ } else if (eObject instanceof ActionToolbar) {
+ return getActionToolbarClassName(eObject);
}
throw new IllegalArgumentException(
IDSLMetadataService.ThrowableMessages.NAMING_LOGIC_NOT_REGISTERD + eObject);
@@ -1091,6 +1214,22 @@
DialogPackage pkg = (DialogPackage) dialog.eContainer();
return pkg.getName() + "." + dialog.getName();
}
+
+ /**
+ * Gets the uiModel FQN.
+ *
+ * @param eObject
+ * the e object
+ * @return the dialog FQN
+ */
+ private static String getUiIdeFQN(EObject eObject) {
+ UiIDEView ui = (UiIDEView) eObject;
+ if (ui == null) {
+ return "";
+ }
+ UiModelPackage pkg = (UiModelPackage) ui.eContainer();
+ return pkg.getName() + "." + ui.getName();
+ }
private static String getDatainterchangeFQN(EObject eObject) {
DataInterchangePackage data = (DataInterchangePackage) eObject;
@@ -1149,6 +1288,54 @@
}
/**
+ * Gets the action FQN.
+ *
+ * @param eObject
+ * the e object
+ * @return the action FQN
+ */
+ private static String getActionFQN(EObject eObject) {
+ ActionToolbar actionToolbar = (ActionToolbar) eObject;
+ if (actionToolbar == null) {
+ return "";
+ }
+ ActionPackage pkg = (ActionPackage) actionToolbar.eContainer();
+ return pkg.getName() + "." + actionToolbar.getName();
+ }
+
+ /**
+ * Gets the functionLibraryInitializationGroup FQN.
+ *
+ * @param eObject
+ * the e object
+ * @return the action FQN
+ */
+ private static String getDialogGroupFQN(EObject eObject) {
+ FunctionLibraryDialogGroup functionLibraryDialogGroup = (FunctionLibraryDialogGroup) eObject;
+ if (functionLibraryDialogGroup == null) {
+ return "";
+ }
+ FunctionLibraryPackage pkg = (FunctionLibraryPackage) functionLibraryDialogGroup.eContainer();
+ return pkg.getName() + "." + functionLibraryDialogGroup.getName();
+ }
+
+ /**
+ * Gets the functionLibraryInitialization FQN.
+ *
+ * @param eObject
+ * the e object
+ * @return the action FQN
+ */
+ private static String getDialogHookFQN(EObject eObject) {
+ FunctionLibraryDialogHook functionLibraryDialogHook = (FunctionLibraryDialogHook) eObject;
+ if (functionLibraryDialogHook == null) {
+ return "";
+ }
+ FunctionLibraryPackage pkg = (FunctionLibraryPackage) functionLibraryDialogHook.eContainer().eContainer();
+ return pkg.getName() + "." + functionLibraryDialogHook.getName();
+ }
+
+ /**
* Gets the watcher FQN.
*
* @param eObject
@@ -1223,6 +1410,16 @@
}
/**
+ * Gets the toolbar class name.
+ *
+ * @param eObject
+ * the e object
+ * @return the toolbar class name
+ */
+ private static String getActionToolbarClassName(EObject eObject) {
+ return getActionFQN(eObject) + "Toolbar";
+ }
+ /**
* Gets the report class name.
*
* @param eObject
@@ -1302,18 +1499,7 @@
if (dialog == null) {
return "";
}
- DialogPackage pkg = (DialogPackage) dialog.eContainer();
- String ecviewId = null;
- if (dialog.isAutowire()) {
- ecviewId = pkg.getName() + ".autobinded." + dialog.getName();
- } else if (dialog.getUiView() != null) {
- UiView ui = dialog.getUiView();
- UiModel model = (UiModel) ui.eContainer();
- ecviewId = model.getPackageName() + "." + ui.getName();
- } else {
- ecviewId = pkg.getName() + "." + dialog.getName();
- }
- return ecviewId;
+ return AutowireUiFactory.getECViewPackage(dialog) +"."+ AutowireUiFactory.getECViewName(dialog);
}
}
diff --git a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/StandaloneGrammarsSetup.java b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/StandaloneGrammarsSetup.java
index 600550d..332a082 100644
--- a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/StandaloneGrammarsSetup.java
+++ b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/StandaloneGrammarsSetup.java
@@ -17,6 +17,8 @@
import org.eclipse.osbp.dsl.datatype.xtext.DatatypeGrammarBundleSpaceSetup;
import org.eclipse.osbp.dsl.dto.xtext.DtoGrammarBundleSpaceSetup;
import org.eclipse.osbp.dsl.entity.xtext.EntityGrammarBundleSpaceSetup;
+import org.eclipse.osbp.ecview.dsl.UIGrammarBundleSpaceStandaloneSetup;
+import org.eclipse.osbp.ecview.uisemantics.UISemanticsGrammarBundleSpaceStandaloneSetup;
import org.eclipse.osbp.xtext.action.ActionDSLBundleSpaceStandaloneSetup;
import org.eclipse.osbp.xtext.authorizationdsl.AuthorizationDSLBundleSpaceStandaloneSetup;
import org.eclipse.osbp.xtext.blip.BlipDSLBundleSpaceStandaloneSetup;
@@ -57,6 +59,8 @@
DatatypeGrammarBundleSpaceSetup.doSetup();
DatamartDSLBundleSpaceStandaloneSetup.doSetup();
DialogDSLBundleSpaceStandaloneSetup.doSetup();
+ UIGrammarBundleSpaceStandaloneSetup.doSetup();
+ UISemanticsGrammarBundleSpaceStandaloneSetup.doSetup();
DtoGrammarBundleSpaceSetup.doSetup();
EntityGrammarBundleSpaceSetup.doSetup();
EntityMockDSLBundleSpaceStandaloneSetup.doSetup();