Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java42
1 files changed, 29 insertions, 13 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java
index fba2afd075..0e50cb3e53 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/resource/xml/JpaXmlResource.java
@@ -23,12 +23,14 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
import org.eclipse.jem.util.plugin.JEMUtilPlugin;
+import org.eclipse.jpt.common.core.ContentTypeReference;
import org.eclipse.jpt.common.core.JptResourceModel;
import org.eclipse.jpt.common.core.JptResourceModelListener;
import org.eclipse.jpt.common.core.JptResourceType;
+import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
import org.eclipse.jpt.common.utility.internal.ListenerList;
import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.internal.plugin.JptJpaCorePlugin;
import org.eclipse.jst.j2ee.internal.xml.J2EEXmlDtDEntityResolver;
import org.eclipse.wst.common.internal.emf.resource.Renderer;
import org.eclipse.wst.common.internal.emf.resource.Translator;
@@ -44,7 +46,7 @@ import org.xml.sax.EntityResolver;
* This is a non-blocking call; and as a result it will return <code>null</code>
* if the JPA XML resource or its JPA project is currently under construction.
* <p>
- * See <code>org.eclipse.jpt.jpa.core/plugin.xml</code>.
+ * See <code>org.eclipse.jpt.jpa.core/plugin.xml:org.eclipse.core.runtime.adapters</code>.
* <p>
* Provisional API: This interface is part of an interim API that is still
* under development and expected to change significantly before reaching
@@ -57,7 +59,7 @@ import org.xml.sax.EntityResolver;
*/
public class JpaXmlResource
extends TranslatorResourceImpl
- implements JptResourceModel
+ implements JptResourceModel, ContentTypeReference
{
/**
* cache the content type - if the content type changes, the JPA project
@@ -87,16 +89,18 @@ public class JpaXmlResource
}
/**
- * Build a new resource type every time(?).
+ * The XML schema version is required.
*/
public JptResourceType getResourceType() {
String version = this.getVersion();
- return ((this.contentType == null) || (version == null)) ?
- null :
- new JptResourceType(this.contentType, version);
+ return (version == null) ? null : this.getResourceType(version);
}
-
-
+
+ protected JptResourceType getResourceType(String version) {
+ return (this.contentType == null) ? null : PlatformTools.getResourceType(this.contentType, version);
+ }
+
+
// ********** BasicNotifierImpl override **********
/**
@@ -247,7 +251,7 @@ public class JpaXmlResource
try {
this.save(Collections.EMPTY_MAP);
} catch (IOException ex) {
- JptJpaCorePlugin.log(ex);
+ JptJpaCorePlugin.instance().logError(ex);
}
}
@@ -273,19 +277,31 @@ public class JpaXmlResource
protected void resourceModelChanged() {
for (JptResourceModelListener listener : this.resourceModelListenerList.getListeners()) {
- listener.resourceModelChanged(this);
+ try {
+ listener.resourceModelChanged(this);
+ } catch (Exception ex) {
+ JptJpaCorePlugin.instance().logError(ex);
+ }
}
}
protected void resourceModelReverted() {
for (JptResourceModelListener listener : this.resourceModelListenerList.getListeners()) {
- listener.resourceModelReverted(this);
+ try {
+ listener.resourceModelReverted(this);
+ } catch (Exception ex) {
+ JptJpaCorePlugin.instance().logError(ex);
+ }
}
}
protected void resourceModelUnloaded() {
for (JptResourceModelListener listener : this.resourceModelListenerList.getListeners()) {
- listener.resourceModelUnloaded(this);
+ try {
+ listener.resourceModelUnloaded(this);
+ } catch (Exception ex) {
+ JptJpaCorePlugin.instance().logError(ex);
+ }
}
}

Back to the top