Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java
index 002d7c576e..bb824fb6c7 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/PrimaryKeyJoinColumnContext.java
@@ -8,8 +8,12 @@
*******************************************************************************/
package org.eclipse.jpt.core.internal.platform;
+import java.util.List;
import org.eclipse.jpt.core.internal.mappings.IEntity;
import org.eclipse.jpt.core.internal.mappings.IPrimaryKeyJoinColumn;
+import org.eclipse.jpt.core.internal.validation.IJpaValidationMessages;
+import org.eclipse.jpt.core.internal.validation.JpaValidationMessages;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
public class PrimaryKeyJoinColumnContext extends AbstractJoinColumnContext<IPrimaryKeyJoinColumn>
{
@@ -18,7 +22,7 @@ public class PrimaryKeyJoinColumnContext extends AbstractJoinColumnContext<IPrim
super(parentContext, column);
}
-
+ //TODO This default is different for oneToOne mappings, we don't yet support pkJoinColumns there
protected String buildDefaultReferencedColumnName() {
return this.buildDefaultName();
}
@@ -33,5 +37,29 @@ public class PrimaryKeyJoinColumnContext extends AbstractJoinColumnContext<IPrim
return pkColumnName;
}
-
+ @Override
+ public void addToMessages(List<IMessage> messages) {
+ super.addToMessages(messages);
+
+ boolean doContinue = column.isConnected();
+ if (doContinue && ! column.isResolved()) {
+ messages.add(
+ JpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ IJpaValidationMessages.PRIMARY_KEY_JOIN_COLUMN_UNRESOLVED_NAME,
+ new String[] {column.getName()},
+ column, column.getNameTextRange())
+ );
+ }
+
+ if (doContinue && ! column.isReferencedColumnResolved()) {
+ messages.add(
+ JpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ IJpaValidationMessages.PRIMARY_KEY_JOIN_COLUMN_UNRESOLVED_REFERENCED_COLUMN_NAME,
+ new String[] {column.getReferencedColumnName(), column.getName()},
+ column, column.getReferencedColumnNameTextRange())
+ );
+ }
+ }
}

Back to the top