Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOverrideRelationship.java10
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOverrideRelationship.java13
2 files changed, 14 insertions, 9 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOverrideRelationship.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOverrideRelationship.java
index 65040835c4..f9deb2abef 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOverrideRelationship.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOverrideRelationship.java
@@ -15,13 +15,13 @@ import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.MappedByRelationship;
import org.eclipse.jpt.jpa.core.context.OverrideRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyBaseColumn;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyTableColumn.Owner;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumn;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumnRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinTable;
import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinTableRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyOverrideRelationship;
import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
+import org.eclipse.jpt.jpa.core.context.ReadOnlyTableColumn.Owner;
import org.eclipse.jpt.jpa.core.context.Relationship;
import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
import org.eclipse.jpt.jpa.core.context.RelationshipStrategy;
@@ -285,7 +285,7 @@ public class GenericJavaOverrideRelationship
return result;
}
- return this.strategy.getCompletionProposals(pos);
+ return (this.strategy == null) ? null : this.strategy.getCompletionProposals(pos);
}
@@ -298,7 +298,11 @@ public class GenericJavaOverrideRelationship
@Override
public void validate(List<IMessage> messages, IReporter reporter) {
super.validate(messages, reporter);
- this.strategy.validate(messages, reporter);
+ // prevent NPE on JPA 2_0 platforms
+ // this.strategy == null when the mapping relationship strategy, e.g. mappedBy, cannot be overridden
+ if (this.strategy != null) {
+ this.strategy.validate(messages, reporter);
+ }
}
public JptValidator buildJoinTableValidator(ReadOnlyJoinTable table) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOverrideRelationship.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOverrideRelationship.java
index c893406576..4087478b47 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOverrideRelationship.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOverrideRelationship.java
@@ -288,7 +288,11 @@ public class GenericOrmOverrideRelationship
@Override
public void validate(List<IMessage> messages, IReporter reporter) {
super.validate(messages, reporter);
- this.strategy.validate(messages, reporter);
+ // prevent NPE on JPA 2_0 platforms
+ // this.strategy == null when the mapping relationship strategy, e.g. mapped-by, cannot be overridden
+ if (this.strategy != null) {
+ this.strategy.validate(messages, reporter);
+ }
}
public JptValidator buildJoinTableValidator(ReadOnlyJoinTable table) {
@@ -311,10 +315,7 @@ public class GenericOrmOverrideRelationship
if (result != null) {
return result;
}
- result = this.strategy.getCompletionProposals(pos);
- if (result != null) {
- return result;
- }
- return null;
+
+ return this.strategy == null ? null : this.strategy.getCompletionProposals(pos);
}
}

Back to the top