Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

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/DirectEditAttributeFeature.java')
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java128
1 files changed, 0 insertions, 128 deletions
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
deleted file mode 100644
index a8e268749c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
+++ /dev/null
@@ -1,128 +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:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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.IDirectEditingContext;
-import org.eclipse.graphiti.features.impl.AbstractDirectEditingFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-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.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class DirectEditAttributeFeature extends AbstractDirectEditingFeature {
-
- private boolean isMethodAnnotated = false;
-
- public DirectEditAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public int getEditingType() {
- return TYPE_TEXT;
- }
-
- @Override
- public boolean canDirectEdit(IDirectEditingContext context) {
- return true;
- }
-
- public String getInitialValue(IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute jpa = (JavaPersistentAttribute)getFeatureProvider().
- getBusinessObjectForPictogramElement(pe);
- isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpa);
- Text txt = (Text) pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- String value = txt.getValue();
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- return value;
- }
-
- @Override
- public String checkValueValid(String value, IDirectEditingContext context) {
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- IStatus status = JavaConventions.validateFieldName(value, JavaCore.VERSION_1_5, JavaCore.VERSION_1_5);
- if (!status.isOK())
- return status.getMessage();
- status = checkDuplicateAttribute(value, context);
- if (!status.isOK())
- return status.getMessage();
- return null;
- }
-
- private IStatus checkDuplicateAttribute(String value, IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
- JavaPersistentAttribute newAl = (JavaPersistentAttribute)((JavaPersistentType)oldAt.getParent()).getAttributeNamed(value);
- if (newAl != null && !newAl.equals(oldAt)) {
- String message = MessageFormat.format(JPAEditorMessages.DirectEditAttributeFeature_attributeExists, value);
- return new Status(IStatus.ERROR, JPADiagramEditorPlugin.PLUGIN_ID, message);
- }
- return Status.OK_STATUS;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public void setValue(String value, IDirectEditingContext context) {
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
-
- IRelation rel = getFeatureProvider().getRelationRelatedToAttribute(oldAt);
- String inverseJPTName = null;
- if (BidirectionalRelation.class.isInstance(rel))
- inverseJPTName = rel.getInverse().getName();
- if (oldAt.getName().equals(value))
- return;
- JpaArtifactFactory.instance().renameAttribute(oldAt, value, inverseJPTName, getFeatureProvider());
-
- if (pe.getGraphicsAlgorithm() == null)
- return;
- final GraphicsAlgorithm alg = pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- final String newValue = value;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(alg);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- ((Text) alg).setValue(newValue);
- }
- });
- }
-
-}

Back to the top