Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java')
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java143
1 files changed, 0 insertions, 143 deletions
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
deleted file mode 100644
index 755d3e88ff..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * <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 java.util.HashSet;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-public class GraphicalAddAttributeFeature extends AbstractAddShapeFeature {
-
- public GraphicalAddAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public PictogramElement add(final IAddContext context) {
- final ContainerShape entityShape = context.getTargetContainer();
- final Wrp wrp = new Wrp();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(entityShape);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JavaPersistentAttribute newAttr = (JavaPersistentAttribute) context.getNewObject();
- String txt = JPAEditorUtil.getText(newAttr);
- HashSet<String> annots = JpaArtifactFactory.instance().getAnnotationNames(newAttr);
- ContainerShape textShape = null;
- ContainerShape primaryShape = GraphicsUpdater.getPrimaryShape(entityShape);
- ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
- ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
- textShape = addAttributeToProperlyShape(entityShape, txt, annots, primaryShape, relationShape, basicShape);
- link(textShape, newAttr);
- layoutPictogramElement(entityShape);
- wrp.setObj(textShape);
- }
-
- });
- return (PictogramElement)wrp.getObj();
- }
-
- private ContainerShape addAttributeToProperlyShape(ContainerShape entityShape, String txt, HashSet<String> annots,
- ContainerShape primaryShape, ContainerShape relationShape, ContainerShape basicShape) {
- ContainerShape textShape = null;
- if (annots.contains(JPAEditorConstants.ANNOTATION_ID) || annots.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)) {
- textShape = addAttributeToShape(entityShape, txt, annots, primaryShape);
- } else if (annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)
- || annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)
- || annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)
- || annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- textShape = addAttributeToShape(entityShape, txt, annots, relationShape);
- } else {
- textShape = addAttributeToShape(entityShape, txt, annots, basicShape);
- }
- return textShape;
- }
-
- private ContainerShape addAttributeToShape(ContainerShape entityShape, String txt, HashSet<String> annots,
- ContainerShape containerShape) {
- ContainerShape textShape = null;
- int childrenSizeBefore = containerShape.getChildren().size();
- int containerHeightBefore = containerShape.getGraphicsAlgorithm().getHeight();
- textShape = addAttribute(getFeatureProvider(), containerShape, txt, annots);
-
- GraphicsUpdater.updateContainer(containerShape, childrenSizeBefore, containerHeightBefore);
- GraphicsUpdater.updateEntityShape(entityShape);
-
- return textShape;
- }
-
- private static ContainerShape addAttribute(IJPAEditorFeatureProvider fp, ContainerShape containerShape,
- String attribTxt, HashSet<String> annotations) {
-
- int width = containerShape.getContainer().getGraphicsAlgorithm().getWidth();
- ContainerShape iconShape = Graphiti.getPeService().createContainerShape(containerShape, false);
- Graphiti.getPeService().setPropertyValue(iconShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ICON.toString());
- int attribIndex = fp.getAttribsNum(containerShape);
- Rectangle iconRect = UpdateAttributeFeature.addRectangleForIcon(iconShape, attribIndex);
- Image icon = null;
- Object ob = fp.getBusinessObjectForPictogramElement(containerShape.getContainer());
- JavaPersistentType jpt = (JavaPersistentType)ob;
- boolean isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpt);
- boolean isCollection = isMethodAnnotated ?
- JpaArtifactFactory.instance().isGetterMethodReturnTypeCollection(containerShape.getContainer(), fp, attribTxt) :
- JpaArtifactFactory.instance().isCollection(containerShape.getContainer(), fp, attribTxt);
- if (isCollection && annotations.isEmpty()) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_UNMAPPED);
- } else{
- icon = JPAEditorUtil.createAttributeIcon(iconRect, annotations);
- }
- Graphiti.getGaService().setLocationAndSize(icon, JPAEditorConstants.ICON_X, JPAEditorConstants.ICON_Y,
- JPAEditorConstants.ICON_WIDTH, JPAEditorConstants.ICON_HEIGHT);
- ContainerShape textShape = Graphiti.getPeService().createContainerShape(containerShape, false);
- Graphiti.getPeService().setPropertyValue(textShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ATTRIBUTE.toString());
- Rectangle textRectangle = UpdateAttributeFeature.addRectangleForText(textShape, attribIndex, width);
- textShape.setActive(true);
- Text text = UpdateAttributeFeature.addText(fp, textRectangle, attribTxt);
- Graphiti.getGaService().setWidth(text, width - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
- Graphiti.getGaService().setLocationAndSize(text, 1, -2, width
- - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER, JPAEditorConstants.ATTRIBUTE_RECT_HEIGHT);
- fp.increaseAttribsNum(containerShape);
- return textShape;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public boolean canAdd(IAddContext context) {
- return false;
- }
-} \ No newline at end of file

Back to the top