[nobug] Various fixes
diff --git a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/EditModel.java b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/EditModel.java
index da2cc78..3fc4199 100644
--- a/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/EditModel.java
+++ b/plugins/org.eclipse.wst.common.emfworkbench.integration/src/org/eclipse/wst/common/internal/emfworkbench/integration/EditModel.java
@@ -23,6 +23,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
@@ -392,7 +393,10 @@
runSaveOperation(runnable, monitor);
} catch (SaveFailedException ex) {
getSaveHandler().handleSaveFailed(ex, monitor);
- } finally {
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ finally {
getSaveHandler().release();
}
}
@@ -471,9 +475,9 @@
registry.assertAccess(accessorKey);
}
- private void runSaveOperation(IWorkspaceRunnable runnable, IProgressMonitor monitor) throws SaveFailedException {
+ protected void runSaveOperation(IWorkspaceRunnable runnable, IProgressMonitor monitor) throws SaveFailedException {
try {
- ResourcesPlugin.getWorkspace().run(runnable, monitor);
+ ResourcesPlugin.getWorkspace().run(runnable, getProject(),IWorkspace.AVOID_UPDATE,monitor);
} catch (CoreException e) {
throw new SaveFailedException(e);
}
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore
index 29d6aa3..dacff0c 100644
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore
+++ b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore
@@ -53,6 +53,7 @@
eType="#//IPath"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dependencyType" lowerBound="1"
eType="#//DependencyType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dependentObject" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="URI" instanceClassName="org.eclipse.emf.common.util.URI">
<eAnnotations source="keywords">
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel
index 4f6460b..2e55524 100644
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel
+++ b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel
@@ -4,11 +4,11 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.wst.common.modulecore/modulecore-src"
editDirectory="/org.eclipse.wst.common.modulecore.edit/src" editorDirectory="/org.eclipse.wst.common.modulecore.editor/src"
modelPluginID="org.eclipse.wst.common.modulecore" runtimeJar="true" modelName="ComponentCore"
- editPluginClass="componentcore.provider.ComponentCoreEditPlugin" editorPluginClass="componentcore.presentation.ComponentCoreEditorPlugin"
- runtimeCompatibility="false">
+ editPluginClass="componentcore.provider.ComponentCoreEditPlugin" editorPluginClass="componentcore.presentation.ComponentCoreEditorPlugin">
<foreignModel>componentCore.ecore</foreignModel>
- <genPackages prefix="Componentcore" basePackage="org.eclipse.wst.common.componentcore.internal"
- disposableProviderFactory="true" ecorePackage="componentCore.ecore#/">
+ <genPackages prefix="Componentcore" basePackage="org.eclipse.wst.common" disposableProviderFactory="true"
+ interfacePackageSuffix="internal" classPackageSuffix="internal.impl" utilityPackageSuffix="internal.util"
+ ecorePackage="componentCore.ecore#/">
<genEnums ecoreEnum="componentCore.ecore#//DependencyType">
<genEnumLiterals ecoreEnumLiteral="componentCore.ecore#//DependencyType/uses"/>
<genEnumLiterals ecoreEnumLiteral="componentCore.ecore#//DependencyType/consumes"/>
@@ -42,6 +42,7 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/handle"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/runtimePath"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/dependencyType"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//ReferencedComponent/dependentObject"/>
</genClasses>
<genClasses ecoreClass="componentCore.ecore#//ProjectComponents">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ProjectComponents/projectName"/>
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java
index 1570430..493b46a 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: ComponentcorePackage.java,v 1.2 2005/04/05 03:35:37 cbridgha Exp $
+ * $Id: ComponentcorePackage.java,v 1.3 2005/09/12 02:48:31 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal;
@@ -25,6 +25,7 @@
* </ul>
* <!-- end-user-doc -->
* @see org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory
+ * @model kind="package"
* @generated
*/
public interface ComponentcorePackage extends EPackage{
@@ -309,13 +310,22 @@
int REFERENCED_COMPONENT__DEPENDENCY_TYPE = 2;
/**
+ * The feature id for the '<em><b>Dependent Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFERENCED_COMPONENT__DEPENDENT_OBJECT = 3;
+
+ /**
* The number of structural features of the the '<em>Referenced Component</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REFERENCED_COMPONENT_FEATURE_COUNT = 3;
+ int REFERENCED_COMPONENT_FEATURE_COUNT = 4;
/**
* The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.ProjectComponentsImpl <em>Project Components</em>}' class.
@@ -634,6 +644,17 @@
EAttribute getReferencedComponent_DependencyType();
/**
+ * Returns the meta object for the reference '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Dependent Object</em>'.
+ * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject()
+ * @see #getReferencedComponent()
+ * @generated
+ */
+ EReference getReferencedComponent_DependentObject();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents <em>Project Components</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java
index 9bf9d33..e2e8128 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java
@@ -36,6 +36,7 @@
* <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getHandle <em>Handle</em>}</li>
* <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getRuntimePath <em>Runtime Path</em>}</li>
* <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependencyType <em>Dependency Type</em>}</li>
+ * <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}</li>
* </ul>
* </p>
*
@@ -124,4 +125,30 @@
*/
void setDependencyType(DependencyType value);
+ /**
+ * Returns the value of the '<em><b>Dependent Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dependent Object</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dependent Object</em>' reference.
+ * @see #setDependentObject(EObject)
+ * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getReferencedComponent_DependentObject()
+ * @model
+ * @generated
+ */
+ EObject getDependentObject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dependent Object</em>' reference.
+ * @see #getDependentObject()
+ * @generated
+ */
+ void setDependentObject(EObject value);
+
} // ReferencedComponent
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java
index f3a8fc4..0396fb8 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: ComponentcoreFactoryImpl.java,v 1.2 2005/05/21 17:44:47 cbridgha Exp $
+ * $Id: ComponentcoreFactoryImpl.java,v 1.3 2005/09/12 02:48:31 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal.impl;
@@ -30,7 +30,7 @@
*/
public class ComponentcoreFactoryImpl extends EFactoryImpl implements ComponentcoreFactory {
/**
- * Creates and instance of the factory.
+ * Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java
index ba74b31..ba96f8f 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: ComponentcorePackageImpl.java,v 1.3 2005/05/21 17:44:47 cbridgha Exp $
+ * $Id: ComponentcorePackageImpl.java,v 1.4 2005/09/12 02:48:31 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal.impl;
@@ -374,6 +374,15 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EReference getReferencedComponent_DependentObject() {
+ return (EReference)referencedComponentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getProjectComponents() {
return projectComponentsEClass;
}
@@ -478,6 +487,7 @@
createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__HANDLE);
createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__RUNTIME_PATH);
createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__DEPENDENCY_TYPE);
+ createEReference(referencedComponentEClass, REFERENCED_COMPONENT__DEPENDENT_OBJECT);
projectComponentsEClass = createEClass(PROJECT_COMPONENTS);
createEAttribute(projectComponentsEClass, PROJECT_COMPONENTS__PROJECT_NAME);
@@ -544,6 +554,7 @@
initEAttribute(getReferencedComponent_Handle(), this.getURI(), "handle", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getReferencedComponent_RuntimePath(), this.getIPath(), "runtimePath", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getReferencedComponent_DependencyType(), this.getDependencyType(), "dependencyType", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReferencedComponent_DependentObject(), ecorePackage.getEObject(), null, "dependentObject", null, 0, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(projectComponentsEClass, ProjectComponents.class, "ProjectComponents", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProjectComponents_ProjectName(), ecorePackage.getEString(), "projectName", "", 1, 1, ProjectComponents.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java
index 5f4e020..084b06e 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: ReferencedComponentImpl.java,v 1.1 2005/04/04 07:04:59 cbridgha Exp $
+ * $Id: ReferencedComponentImpl.java,v 1.2 2005/09/12 02:48:31 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal.impl;
@@ -10,7 +10,10 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
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.wst.common.componentcore.internal.ComponentcorePackage;
@@ -27,6 +30,7 @@
* <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getHandle <em>Handle</em>}</li>
* <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getRuntimePath <em>Runtime Path</em>}</li>
* <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getDependencyType <em>Dependency Type</em>}</li>
+ * <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getDependentObject <em>Dependent Object</em>}</li>
* </ul>
* </p>
*
@@ -94,6 +98,16 @@
protected DependencyType dependencyType = DEPENDENCY_TYPE_EDEFAULT;
/**
+ * The cached value of the '{@link #getDependentObject() <em>Dependent Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDependentObject()
+ * @generated
+ * @ordered
+ */
+ protected EObject dependentObject = null;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -179,6 +193,44 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EObject getDependentObject() {
+ if (dependentObject != null && dependentObject.eIsProxy()) {
+ EObject oldDependentObject = dependentObject;
+ dependentObject = (EObject)eResolveProxy((InternalEObject)dependentObject);
+ if (dependentObject != oldDependentObject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT, oldDependentObject, dependentObject));
+ }
+ }
+ return dependentObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetDependentObject() {
+ return dependentObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDependentObject(EObject newDependentObject) {
+ EObject oldDependentObject = dependentObject;
+ dependentObject = newDependentObject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT, oldDependentObject, dependentObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Object eGet(EStructuralFeature eFeature, boolean resolve) {
switch (eDerivedStructuralFeatureID(eFeature)) {
case ComponentcorePackage.REFERENCED_COMPONENT__HANDLE:
@@ -187,6 +239,9 @@
return getRuntimePath();
case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
return getDependencyType();
+ case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
+ if (resolve) return getDependentObject();
+ return basicGetDependentObject();
}
return eDynamicGet(eFeature, resolve);
}
@@ -207,6 +262,9 @@
case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
setDependencyType((DependencyType)newValue);
return;
+ case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
+ setDependentObject((EObject)newValue);
+ return;
}
eDynamicSet(eFeature, newValue);
}
@@ -227,6 +285,9 @@
case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
setDependencyType(DEPENDENCY_TYPE_EDEFAULT);
return;
+ case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
+ setDependentObject((EObject)null);
+ return;
}
eDynamicUnset(eFeature);
}
@@ -244,6 +305,8 @@
return RUNTIME_PATH_EDEFAULT == null ? runtimePath != null : !RUNTIME_PATH_EDEFAULT.equals(runtimePath);
case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
return dependencyType != DEPENDENCY_TYPE_EDEFAULT;
+ case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
+ return dependentObject != null;
}
return eDynamicIsSet(eFeature);
}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java
index 61af839..f13cf74 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java
@@ -43,6 +43,14 @@
public WTPModulesResourceFactory(RendererFactory aRendererFactory) {
super(aRendererFactory);
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.ibm.etools.emf2xml.RendererFactory.Listener#updateRendererFactory(com.ibm.etools.emf2xml.RendererFactory)
+ */
+ public void updateRendererFactory(RendererFactory newRendererFactory) {
+ //Do Nothing... not allowed to switch
+ }
/**
* @see com.ibm.etools.emf2xml.impl.TranslatorResourceFactory#createResource(URI, Renderer)
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java
new file mode 100644
index 0000000..4b259d8
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java
@@ -0,0 +1,72 @@
+package org.eclipse.wst.common.componentcore.internal.util;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+import org.eclipse.wst.common.internal.emf.resource.TranslatorPath;
+
+public class HRefTranslator extends Translator {
+
+ public HRefTranslator(String domNameAndPath, EClass eClass) {
+ super(domNameAndPath, eClass);
+ // TODO Auto-generated constructor stub
+ }
+
+ public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature) {
+ super(domNameAndPath, aFeature);
+ // TODO Auto-generated constructor stub
+ }
+
+ public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
+ EClass eClass) {
+ super(domNameAndPath, aFeature, eClass);
+ // TODO Auto-generated constructor stub
+ }
+
+ public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
+ TranslatorPath path) {
+ super(domNameAndPath, aFeature, path);
+ // TODO Auto-generated constructor stub
+ }
+
+ public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
+ TranslatorPath[] paths) {
+ super(domNameAndPath, aFeature, paths);
+ // TODO Auto-generated constructor stub
+ }
+
+ public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
+ int style) {
+ super(domNameAndPath, aFeature, style);
+ // TODO Auto-generated constructor stub
+ }
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertStringToValue(java.lang.String,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ public Object convertStringToValue(String aValue, EObject anOwner) {
+ //Resource res = getApplicationResource()
+ //getModuleFromID(res,aValue);
+ return aValue;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertValueToString(java.lang.Object,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ public String convertValueToString(Object aValue, EObject anOwner) {
+ String frag = null;
+ if (((EObject)aValue).eResource() != null)
+ frag = ((EObject)aValue).eResource().getURIFragment((EObject)aValue);
+ else
+ frag = EcoreUtil.getID((EObject)aValue);
+ return frag;
+ }
+
+}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java
index 0502dda..9620671 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java
@@ -1,5 +1,6 @@
package org.eclipse.wst.common.componentcore.internal.util;
+import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
import org.eclipse.wst.common.internal.emf.resource.GenericTranslator;
@@ -86,11 +87,20 @@
result.setChildren(new Translator[] {
new IPathTranslator(RUNTIME_PATH, MODULE_CORE_PKG.getReferencedComponent_RuntimePath(), DOM_ATTRIBUTE),
new URITranslator(HANDLE, MODULE_CORE_PKG.getReferencedComponent_Handle(), DOM_ATTRIBUTE),
+ new HRefTranslator(DEP_OBJECT,MODULE_CORE_PKG.getReferencedComponent_DependentObject()),
new DependencyTypeTranslator()
});
return result;
}
+ private static Translator createDepObjectTranslator(EReference afeature) {
+ GenericTranslator result = new GenericTranslator(DEP_OBJECT, afeature);
+ result.setChildren(new Translator[] {
+ IDTranslator.INSTANCE
+ });
+ return result;
+ }
+
private static Translator createWBResourceTranslator(EStructuralFeature afeature) {
GenericTranslator result = new GenericTranslator(COMPONENT_RESOURCE, afeature);
result.setChildren(new Translator[] {
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java
index 52592d9..1e8ec40 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java
@@ -9,6 +9,8 @@
String META_RESOURCES = "meta-resources";//$NON-NLS-1$
String COMPONENT_TYPE_VERSION = "version";//$NON-NLS-1$
String HANDLE = "handle";//$NON-NLS-1$
+ String DEP_OBJECT = "dependent-object";//$NON-NLS-1$
+ String OBJECTREF = "href";//$NON-NLS-1$
String DEPENDENCY_TYPE = "dependency-type";//$NON-NLS-1$
String SOURCE_PATH = "source-path"; //$NON-NLS-1$
String RUNTIME_PATH = "deploy-path"; //$NON-NLS-1$
@@ -19,4 +21,5 @@
String PROPERTY_NAME = "name";//$NON-NLS-1$
String PROPERTY_VALUE = "value";//$NON-NLS-1$
String RESOURCE_TYPE = "resource-type";//$NON-NLS-1$
+
}