diff options
Diffstat (limited to 'jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java')
-rw-r--r-- | jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java new file mode 100644 index 0000000000..3eb39f7fa2 --- /dev/null +++ b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * <copyright> + * + * Copyright (c) 2005, 2010 SAP AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Stefan Dimov - initial API, implementation and documentation + * + * </copyright> + * + *******************************************************************************/ +package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; +import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages; +import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider; +import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation; +import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil; +import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory; + + +public class CreateManyToOneUniDirRelationFeature extends + CreateManyToOneRelationFeature { + + public CreateManyToOneUniDirRelationFeature(IFeatureProvider fp) { + super(fp, JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName, + JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription); + } + + @Override + public ManyToOneUniDirRelation createRelation(IFeatureProvider fp, PictogramElement source, PictogramElement target) { + JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source)); + JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target)); + + String attributeName = JPAEditorUtil.cutFromLastDot(JpaArtifactFactory.instance().getEntityName(inverse)); + String nameWithNonCapitalLetter = attributeName; + if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) + nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName); + String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter); + ManyToOneUniDirRelation relation = new ManyToOneUniDirRelation(fp, owner, inverse, attributeText, true, + getFeatureProvider().getCompilationUnit(owner), + getFeatureProvider().getCompilationUnit(inverse)); + return relation; + } + + public String getCreateImageId() { + return JPAEditorImageProvider.ICON_MANY_TO_ONE_1_DIR; + } + +}
\ No newline at end of file |