### Eclipse Workspace Patch 1.0 #P org.eclipse.uml2.diagram.component Index: src/org/eclipse/uml2/diagram/component/providers/UMLParserProvider.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/providers/UMLParserProvider.java,v retrieving revision 1.19 diff -u -r1.19 UMLParserProvider.java --- src/org/eclipse/uml2/diagram/component/providers/UMLParserProvider.java 7 Oct 2009 00:56:07 -0000 1.19 +++ src/org/eclipse/uml2/diagram/component/providers/UMLParserProvider.java 9 Mar 2010 18:11:31 -0000 @@ -2,6 +2,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; import org.eclipse.gmf.runtime.common.core.service.IOperation; @@ -12,6 +13,8 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.swt.graphics.Image; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndToString; @@ -20,10 +23,12 @@ import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser; import org.eclipse.uml2.diagram.common.parser.operation.OperationInplaceApplier; import org.eclipse.uml2.diagram.common.parser.operation.OperationParser; +import org.eclipse.uml2.diagram.common.parser.operation.OperationSemanticParser; import org.eclipse.uml2.diagram.common.parser.operation.OperationToString; import org.eclipse.uml2.diagram.common.parser.port.PortParser; import org.eclipse.uml2.diagram.common.parser.port.PortToString; import org.eclipse.uml2.diagram.common.parser.property.PropertyParser; +import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser; import org.eclipse.uml2.diagram.common.parser.property.PropertyToString; import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser; @@ -87,7 +92,8 @@ /** * @generated */ -public class UMLParserProvider extends AbstractProvider implements IParserProvider { +public class UMLParserProvider extends AbstractProvider implements + IParserProvider { /** * @generated @@ -108,7 +114,8 @@ * @generated */ protected IParser createComponentName_5001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -147,7 +154,8 @@ * @generated */ protected IParser createArtifactName_5004Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -186,7 +194,8 @@ * @generated */ protected IParser createInterfaceName_5005Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -210,7 +219,8 @@ * @generated */ protected IParser createClassName_5008Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -234,7 +244,8 @@ * @generated */ protected IParser createPackageName_5011Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -273,7 +284,8 @@ * @generated */ protected IParser createPackageName_5012Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -297,7 +309,8 @@ * @generated */ protected IParser createClassName_5014Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -336,7 +349,8 @@ * @generated */ protected IParser createCommentBody_5022Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getComment_Body() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -360,7 +374,8 @@ * @generated */ protected IParser createInterfaceName_5026Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -381,7 +396,9 @@ } /** - * XXX: Misleading name of the method. The only way to fix it is custom template + * XXX: Misleading name of the method. The only way to fix it is custom + * template + * * @generated NOT */ protected IParser createClassQualifiedName_5015Parser() { @@ -407,7 +424,8 @@ * @generated */ protected IParser createComponentName_5002Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -468,7 +486,8 @@ * @generated */ protected IParser createArtifactName_5006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -507,7 +526,8 @@ * @generated */ protected IParser createArtifactName_5016Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -546,7 +566,8 @@ * @generated */ protected IParser createClassName_5007Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -570,7 +591,8 @@ * @generated */ protected IParser createInterfaceName_5009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -594,7 +616,8 @@ * @generated */ protected IParser createPropertyName_5010Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -640,7 +663,8 @@ * @generated */ protected IParser createPackage_3008Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -664,7 +688,8 @@ * @generated */ protected IParser createClass_3009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -688,7 +713,8 @@ * @generated */ protected IParser createComponent_3010Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -714,7 +740,14 @@ protected IParser createProperty_3011Parser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT()); + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new PropertySemanticParser(lookupSuite, Type.class, + imageProvider); } /** @@ -738,7 +771,17 @@ protected IParser createOperation_3012Parser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new OperationParser(lookupSuite), new OperationInplaceApplier(), new OperationToString.VIEW(), new OperationToString.EDIT()); + + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + + return new OperationSemanticParser(lookupSuite, Type.class, + imageProvider, new OperationInplaceApplier(), + new OperationToString.VIEW(), new OperationToString.EDIT()); } /** @@ -760,7 +803,8 @@ * @generated */ protected IParser createClass_3013Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -806,7 +850,8 @@ * @generated */ protected IParser createProperty_3017Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -830,7 +875,8 @@ * @generated */ protected IParser createOperation_3018Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -854,7 +900,8 @@ * @generated */ protected IParser createClass_3020Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -862,7 +909,8 @@ private IParser createPortParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString()); + return new SemanticParserAdapter(new PortParser(lookupSuite), + new BasicApplyStrategy(), new PortToString()); } /** @@ -871,12 +919,13 @@ private IParser dependencyName_6001Parser; /** - * @NOT-GENERATED - * Different view's but shared common edit. + * @NOT-GENERATED Different view's but shared common edit. */ private IParser createAssocationRoleParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.ROLE_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -885,7 +934,9 @@ */ private IParser createAssocationModifiersParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -894,7 +945,9 @@ */ protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -919,7 +972,8 @@ * @generated */ protected IParser createDependencyName_6001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -944,7 +998,9 @@ */ protected IParser createAssociationName_6002Parser() { LookupSuite lookupSuite = LookupSuite.NULL_SUITE; - return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT()); + return new ParserAdapter(new AssociationNameParser(lookupSuite), + new BasicApplyStrategy(), new AssociationNameToString.VIEW(), + new AssociationNameToString.EDIT()); } /** @@ -1080,10 +1136,12 @@ } public static final OCLLookup TYPE_LOOKUP = new OCLLookup(// - UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // + UMLOCLFactory.getOCLLookupExpression( + DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE + .getNamedElement()), // new IElementType[] { // /* - UMLElementTypes.Class_2004, // + * UMLElementTypes.Class_2004, // */ }); @@ -1184,10 +1242,13 @@ /** * Utility method that consults ParserService + * * @generated */ - public static IParser getParser(IElementType type, EObject object, String parserHint) { - return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint)); + public static IParser getParser(IElementType type, EObject object, + String parserHint) { + return ParserService.getInstance().getParser( + new HintAdapter(type, object, parserHint)); } /** #P org.eclipse.uml2.diagram.csd Index: src/org/eclipse/uml2/diagram/csd/providers/UMLParserProvider.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/providers/UMLParserProvider.java,v retrieving revision 1.25 diff -u -r1.25 UMLParserProvider.java --- src/org/eclipse/uml2/diagram/csd/providers/UMLParserProvider.java 7 Oct 2009 00:55:30 -0000 1.25 +++ src/org/eclipse/uml2/diagram/csd/providers/UMLParserProvider.java 9 Mar 2010 18:11:36 -0000 @@ -2,6 +2,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; import org.eclipse.gmf.runtime.common.core.service.IOperation; @@ -12,6 +13,8 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.swt.graphics.Image; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser; @@ -19,15 +22,12 @@ import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser; import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString; import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser; -import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationParser; -import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationToString; +import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationSemanticParser; import org.eclipse.uml2.diagram.common.parser.port.PortParser; import org.eclipse.uml2.diagram.common.parser.port.PortToString; -import org.eclipse.uml2.diagram.common.parser.property.PropertyParser; -import org.eclipse.uml2.diagram.common.parser.property.PropertyToString; +import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser; import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite; -import org.eclipse.uml2.diagram.common.parser.slot.SlotParser; -import org.eclipse.uml2.diagram.common.parser.slot.SlotToString; +import org.eclipse.uml2.diagram.common.parser.slot.SlotSemanticParser; import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.valuespec.ConstraintLanguageParser; @@ -94,19 +94,23 @@ import org.eclipse.uml2.diagram.parser.lookup.LookupSuite; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; import org.eclipse.uml2.diagram.parser.lookup.OCLLookup; +import org.eclipse.uml2.uml.StructuralFeature; import org.eclipse.uml2.uml.Type; import org.eclipse.uml2.uml.UMLPackage; /** * @generated */ -public class UMLParserProvider extends AbstractProvider implements IParserProvider { +public class UMLParserProvider extends AbstractProvider implements + IParserProvider { /** * @NOT-generated */ public static final OCLLookup TYPE_LOOKUP = new OCLLookup(// - UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // + UMLOCLFactory.getOCLLookupExpression( + DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE + .getNamedElement()), // new IElementType[] { // }); @@ -129,7 +133,8 @@ * @generated */ protected IParser createCollaborationName_5009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -168,7 +173,8 @@ * @generated */ protected IParser createClassName_5013Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -207,7 +213,8 @@ * @generated */ protected IParser createPackageName_5006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -246,7 +253,8 @@ * @generated */ protected IParser createClassName_5018Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -270,7 +278,8 @@ * @generated */ protected IParser createInterfaceName_5020Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -296,7 +305,20 @@ protected IParser createInstanceSpecificationName_5022Parser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(), new InstanceSpecificationToString.VIEW(), new InstanceSpecificationToString.EDIT()); + /* + * return new SemanticParserAdapter(new InstanceSpecificationParser( + * lookupSuite), new BasicApplyStrategy(), new + * InstanceSpecificationToString.VIEW(), new + * InstanceSpecificationToString.EDIT()); + */ + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new InstanceSpecificationSemanticParser(lookupSuite, + Type.class, imageProvider); } /** @@ -370,7 +392,8 @@ * @generated */ protected IParser createCommentBody_5032Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getComment_Body() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -394,7 +417,8 @@ * @generated */ protected IParser createInterfaceName_5035Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -479,7 +503,15 @@ private IParser createPropertyParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT()); + + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new PropertySemanticParser(lookupSuite, Type.class, + imageProvider); } /** @@ -523,7 +555,8 @@ * @generated */ protected IParser createOperation_3009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -547,7 +580,8 @@ * @generated */ protected IParser createClass_3010Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -593,7 +627,8 @@ * @generated */ protected IParser createPortIsBehavior_5026Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getPort_IsBehavior() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getPort_IsBehavior() }; MessageFormatParser parser = new MessageFormatParser(features); parser.setViewPattern(" "); //$NON-NLS-1$ parser.setEditorPattern(" "); //$NON-NLS-1$ @@ -607,7 +642,8 @@ private IParser createPortNameParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString()); + return new SemanticParserAdapter(new PortParser(lookupSuite), + new BasicApplyStrategy(), new PortToString()); } /** @@ -718,7 +754,8 @@ * @generated */ protected IParser createPortIsBehavior_5028Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getPort_IsBehavior() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getPort_IsBehavior() }; MessageFormatParser parser = new MessageFormatParser(features); parser.setViewPattern(" "); //$NON-NLS-1$ parser.setEditorPattern(" "); //$NON-NLS-1$ @@ -745,17 +782,14 @@ * @generated NOT */ protected IParser createSlot_3015Parser() { - return new SemanticParserAdapter(new SlotParser(new SlotLookupSuite()), new BasicApplyStrategy(), new SlotToString.VIEW(), new SlotToString.EDIT()) { - + ImageProvider imageProvider = new ImageProvider() { @Override - public String getPrintString(IAdaptable element, int flags) { - String result = super.getPrintString(element, flags); - if ("".equals(result)) { - result = ""; - } - return result; + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); } }; + return new SlotSemanticParser(new SlotLookupSuite(), + StructuralFeature.class, imageProvider); } /** @@ -777,7 +811,8 @@ * @generated */ protected IParser createProperty_3018Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -801,7 +836,8 @@ * @generated */ protected IParser createOperation_3019Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -825,7 +861,8 @@ * @generated */ protected IParser createClass_3020Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1003,7 +1040,8 @@ * @generated */ protected IParser createDependencyName_6001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1021,12 +1059,13 @@ private IParser associationName_6002Parser; /** - * @NOT-GENERATED - * Different view's but shared common edit. + * @NOT-GENERATED Different view's but shared common edit. */ private IParser createAssocationRoleParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.ROLE_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -1035,7 +1074,9 @@ */ private IParser createAssocationModifiersParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -1044,7 +1085,9 @@ */ protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -1081,7 +1124,9 @@ */ protected IParser createAssociationName_6002Parser() { LookupSuite lookupSuite = LookupSuite.NULL_SUITE; - return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT()); + return new ParserAdapter(new AssociationNameParser(lookupSuite), + new BasicApplyStrategy(), new AssociationNameToString.VIEW(), + new AssociationNameToString.EDIT()); } /** @@ -1379,10 +1424,13 @@ /** * Utility method that consults ParserService + * * @generated */ - public static IParser getParser(IElementType type, EObject object, String parserHint) { - return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint)); + public static IParser getParser(IElementType type, EObject object, + String parserHint) { + return ParserService.getInstance().getParser( + new HintAdapter(type, object, parserHint)); } /** #P org.eclipse.uml2.diagram.profile Index: custom-src/org/eclipse/uml2/diagram/profile/parser/property/PropertyParserProvider.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.profile/custom-src/org/eclipse/uml2/diagram/profile/parser/property/PropertyParserProvider.java,v retrieving revision 1.1 diff -u -r1.1 PropertyParserProvider.java --- custom-src/org/eclipse/uml2/diagram/profile/parser/property/PropertyParserProvider.java 23 Nov 2006 20:30:28 -0000 1.1 +++ custom-src/org/eclipse/uml2/diagram/profile/parser/property/PropertyParserProvider.java 9 Mar 2010 18:11:38 -0000 @@ -13,15 +13,17 @@ package org.eclipse.uml2.diagram.profile.parser.property; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; import org.eclipse.gmf.runtime.common.core.service.IOperation; import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation; import org.eclipse.gmf.runtime.common.ui.services.parser.IParser; import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider; import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.uml2.diagram.common.parser.property.PropertyParser; +import org.eclipse.swt.graphics.Image; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; +import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser; import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; -import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; import org.eclipse.uml2.diagram.parser.lookup.OCLLookup; @@ -31,45 +33,56 @@ import org.eclipse.uml2.uml.Type; import org.eclipse.uml2.uml.UMLPackage; - -public class PropertyParserProvider extends AbstractProvider implements IParserProvider { +public class PropertyParserProvider extends AbstractProvider implements + IParserProvider { private IParser myParser; public IParser getParser(IAdaptable hint) { - if (myParser == null){ + if (myParser == null) { myParser = createParser(); } return myParser; } - - private IParser createParser(){ + + private IParser createParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); - lookupSuite.addLookup(Type.class, new OCLLookup(UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()))); - return new SemanticParserAdapter( - new PropertyParser(lookupSuite), - new BasicApplyStrategy(), - new StereotypePropertyToString() - ); + lookupSuite.addLookup(Type.class, new OCLLookup(UMLOCLFactory + .getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, + UMLPackage.eINSTANCE.getNamedElement()))); + + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new PropertySemanticParser(lookupSuite, Type.class, + imageProvider, new BasicApplyStrategy(), + new StereotypePropertyToString()); } public boolean provides(IOperation operation) { boolean result = false; if (operation instanceof GetParserOperation) { IAdaptable hint = ((GetParserOperation) operation).getHint(); - result = (hint != null) && (hint.getAdapter(IElementType.class) == UMLElementTypes.Property_3001); + result = (hint != null) + && (hint.getAdapter(IElementType.class) == UMLElementTypes.Property_3001); } return result; } - - private static class StereotypePropertyToString extends org.eclipse.uml2.diagram.common.parser.property.PropertyToString.VIEW { + + private static class StereotypePropertyToString + extends + org.eclipse.uml2.diagram.common.parser.property.PropertyToString.VIEW { @Override protected void appendIsDerived(StringBuffer result, Property property) { - //derived properties do not make sense for stereotypes + // derived properties do not make sense for stereotypes } - + @Override - protected void appendPropertyModifiers(StringBuffer result, Property property) { - //properties modifiers do not make sense for stereotypes + protected void appendPropertyModifiers(StringBuffer result, + Property property) { + // properties modifiers do not make sense for stereotypes } } } #P org.eclipse.uml2.diagram.parser Index: src/org/eclipse/uml2/diagram/parser/lookup/Lookup.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.parser/src/org/eclipse/uml2/diagram/parser/lookup/Lookup.java,v retrieving revision 1.1 diff -u -r1.1 Lookup.java --- src/org/eclipse/uml2/diagram/parser/lookup/Lookup.java 27 Oct 2006 16:02:23 -0000 1.1 +++ src/org/eclipse/uml2/diagram/parser/lookup/Lookup.java 9 Mar 2010 18:11:39 -0000 @@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; public interface Lookup { - public T lookup(String name, EObject context); - public List getResolutionElementTypes(); + T lookup(String name, EObject context); + List getResolutionElementTypes(); + List computeScope(EObject context); } Index: src/org/eclipse/uml2/diagram/parser/lookup/LookupSuite.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.parser/src/org/eclipse/uml2/diagram/parser/lookup/LookupSuite.java,v retrieving revision 1.1 diff -u -r1.1 LookupSuite.java --- src/org/eclipse/uml2/diagram/parser/lookup/LookupSuite.java 27 Oct 2006 16:02:23 -0000 1.1 +++ src/org/eclipse/uml2/diagram/parser/lookup/LookupSuite.java 9 Mar 2010 18:11:39 -0000 @@ -28,6 +28,11 @@ public List getResolutionElementTypes() { return Collections.emptyList(); } + + @Override + public List computeScope(EObject context) { + return Collections.emptyList(); + } }; public static final LookupSuite NULL_SUITE = new LookupSuite(){ #P org.eclipse.uml2.diagram.common Index: src/org/eclipse/uml2/diagram/common/parser/slot/SlotLookupSuite.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.common/src/org/eclipse/uml2/diagram/common/parser/slot/SlotLookupSuite.java,v retrieving revision 1.2 diff -u -r1.2 SlotLookupSuite.java --- src/org/eclipse/uml2/diagram/common/parser/slot/SlotLookupSuite.java 3 Jun 2009 08:58:43 -0000 1.2 +++ src/org/eclipse/uml2/diagram/common/parser/slot/SlotLookupSuite.java 9 Mar 2010 18:11:40 -0000 @@ -1,6 +1,7 @@ package org.eclipse.uml2.diagram.common.parser.slot; import java.util.Collections; +import java.util.LinkedList; import java.util.List; import org.eclipse.emf.ecore.EObject; @@ -40,5 +41,17 @@ } return null; } + + @Override + public List computeScope(EObject context) { + List result = new LinkedList(); + InstanceSpecification is = ((Slot) context).getOwningInstance(); + for (Classifier c : is.getClassifiers()) { + for (Property attr : c.getAllAttributes()) { + result.add(attr); + } + } + return result; + } } } Index: src/org/eclipse/uml2/diagram/common/parser/property/PropertySemanticParser.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.common/src/org/eclipse/uml2/diagram/common/parser/property/PropertySemanticParser.java,v retrieving revision 1.2 diff -u -r1.2 PropertySemanticParser.java --- src/org/eclipse/uml2/diagram/common/parser/property/PropertySemanticParser.java 10 Oct 2008 09:17:25 -0000 1.2 +++ src/org/eclipse/uml2/diagram/common/parser/property/PropertySemanticParser.java 9 Mar 2010 18:11:40 -0000 @@ -11,24 +11,166 @@ */ package org.eclipse.uml2.diagram.common.parser.property; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.contentassist.IContentAssistSubjectControl; +import org.eclipse.jface.text.contentassist.CompletionProposal; +import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jface.text.contentassist.IContentAssistProcessor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; +import org.eclipse.uml2.diagram.parser.ApplyStrategy; import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; +import org.eclipse.uml2.diagram.parser.ExternalToString; import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; +import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences; +import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor; +import org.eclipse.uml2.diagram.parser.lookup.Lookup; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; +import org.eclipse.uml2.uml.NamedElement; + +public class PropertySemanticParser extends + SemanticParserAdapter { + private final Lookup myLookup; + private final ImageProvider myImageProvider; + private final CompletionProcessor myCompletionProcessor = new CompletionProcessor(); + + public PropertySemanticParser(LookupSuiteImpl lookupSuite, + Class propertyClass, ImageProvider imageProvider) { + super(new PropertyParser(lookupSuite), new BasicApplyStrategy(), + new PropertyToString.VIEW(), new PropertyToString.EDIT()); + myLookup = lookupSuite.getLookup(propertyClass); + myImageProvider = imageProvider; + } + public PropertySemanticParser(LookupSuiteImpl lookupSuite, + Class propertyClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences view, ExternalToString edit) { + super(new PropertyParser(lookupSuite), applier, view, edit); + myLookup = lookupSuite.getLookup(propertyClass); + myImageProvider = imageProvider; + } -public class PropertySemanticParser extends SemanticParserAdapter { - protected final LookupSuiteImpl myLookupSuite; - - public PropertySemanticParser(LookupSuiteImpl lookupSuite) { - super(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT()); - myLookupSuite = lookupSuite; + public PropertySemanticParser(LookupSuiteImpl lookupSuite, + Class propertyClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences viewAndEdit) { + super(new PropertyParser(lookupSuite), applier, viewAndEdit); + myLookup = lookupSuite.getLookup(propertyClass); + myImageProvider = imageProvider; } protected EObject doAdapt(IAdaptable adaptable) { EObject element = (EObject) adaptable.getAdapter(EObject.class); return element; } - + + public boolean areSemanticElementsAffected(EObject listener, + Object notification) { + return isAffectingEvent(notification); + } + + public List getSemanticElementsBeingParsed(EObject element) { + return isValidElement(element) ? getViewToStringImpl() + .getAdditionalReferencedElements(element) + : Collections.EMPTY_LIST; + } + + private ExternalToString.WithReferences getViewToStringImpl() { + return (ExternalToString.WithReferences) getViewToString(); + } + + public IContentAssistProcessor getCompletionProcessor(IAdaptable element) { + myCompletionProcessor.setContext(doAdapt(element)); + return myCompletionProcessor; + } + + private class CompletionProcessor extends EObjectCompletionProcessor { + private final Comparator myComparator = new Comparator() { + @Override + public int compare(T first, T second) { + return first.getName().compareTo(second.getName()); + } + }; + + private Map myTypeMap = new HashMap(); + + @Override + protected Iterable computeContextProposals(EObject context) { + return computeLookupContextProposals(context); + } + + private Iterable computeLookupContextProposals(EObject context) { + List resultList = new LinkedList(); + + List types = myLookup.computeScope(context); + + Collections.sort(types, myComparator); + + String name; + for (T type : types) { + name = type.getName(); + if (name != null) { + resultList.add(name); + myTypeMap.put(name, type); + } + } + + return resultList; + } + + public ICompletionProposal[] computeCompletionProposals( + IContentAssistSubjectControl subjectControl, int offset) { + if (myContext == null) { + return NO_PROPOSALS; + } + + Point selection = subjectControl.getSelectedRange(); + int selectionStart = selection.x; + int selectionLength = selection.y; + String prefix = getPrefix(subjectControl, selectionStart); + String proposalPrefix = getProposalPrefix(prefix); + + int colonIndex = proposalPrefix.indexOf(':'); + + if (colonIndex == -1) { + return NO_PROPOSALS; + } else { + proposalPrefix = proposalPrefix.substring(colonIndex + 1); + + // allow multiple spaces after colon + // to make reedit handy + while (proposalPrefix.startsWith(" ")) { + proposalPrefix = proposalPrefix.substring(1); + } + } + + proposalPrefix = proposalPrefix.toLowerCase(); + int prefixLength = proposalPrefix.length(); + + List result = new LinkedList(); + for (String next : computeContextProposals(myContext)) { + if (next == null + || !next.toLowerCase().startsWith(proposalPrefix)) { + continue; + } + Image img = myImageProvider.getImage(myTypeMap.get(next) + .eClass()); + + ICompletionProposal proposal = new CompletionProposal(next, + selectionStart - prefixLength, selectionLength + + prefixLength, next.length(), img, next, null, + null); + result.add(proposal); + } + return result.toArray(NO_PROPOSALS); + } + } } Index: src/org/eclipse/uml2/diagram/common/parser/operation/OperationSemanticParser.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.common/src/org/eclipse/uml2/diagram/common/parser/operation/OperationSemanticParser.java,v retrieving revision 1.2 diff -u -r1.2 OperationSemanticParser.java --- src/org/eclipse/uml2/diagram/common/parser/operation/OperationSemanticParser.java 10 Oct 2008 09:17:25 -0000 1.2 +++ src/org/eclipse/uml2/diagram/common/parser/operation/OperationSemanticParser.java 9 Mar 2010 18:11:40 -0000 @@ -11,25 +11,151 @@ */ package org.eclipse.uml2.diagram.common.parser.operation; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.contentassist.IContentAssistSubjectControl; +import org.eclipse.jface.text.contentassist.CompletionProposal; +import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jface.text.contentassist.IContentAssistProcessor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; +import org.eclipse.uml2.diagram.parser.ApplyStrategy; import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; +import org.eclipse.uml2.diagram.parser.ExternalToString; import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; +import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences; +import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor; +import org.eclipse.uml2.diagram.parser.lookup.Lookup; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; +import org.eclipse.uml2.uml.NamedElement; + +public class OperationSemanticParser extends + SemanticParserAdapter { + private final Lookup myLookup; + private final ImageProvider myImageProvider; + private final CompletionProcessor myCompletionProcessor = new CompletionProcessor(); + + public OperationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider) { + super(new OperationParser(lookupSuite), new BasicApplyStrategy(), + new OperationToString.VIEW(), new OperationToString.EDIT()); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + public OperationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences view, ExternalToString edit) { + super(new OperationParser(lookupSuite), applier, view, edit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } -public class OperationSemanticParser extends SemanticParserAdapter { - - protected final LookupSuiteImpl myLookupSuite; - - public OperationSemanticParser(LookupSuiteImpl lookupSuite) { - super(new OperationParser(lookupSuite), new BasicApplyStrategy(), new OperationToString.VIEW(), new OperationToString.EDIT()); - myLookupSuite = lookupSuite; + public OperationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences viewAndEdit) { + super(new OperationParser(lookupSuite), applier, viewAndEdit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; } protected final EObject doAdapt(IAdaptable adaptable) { EObject element = (EObject) adaptable.getAdapter(EObject.class); return element; } - + + public IContentAssistProcessor getCompletionProcessor(IAdaptable element) { + myCompletionProcessor.setContext(doAdapt(element)); + return myCompletionProcessor; + } + + private class CompletionProcessor extends EObjectCompletionProcessor { + private final Comparator myComparator = new Comparator() { + @Override + public int compare(T first, T second) { + return first.getName().compareTo(second.getName()); + } + }; + + private Map myTypeMap = new HashMap(); + + @Override + protected Iterable computeContextProposals(EObject context) { + return computeLookupContextProposals(context); + } + + private Iterable computeLookupContextProposals(EObject context) { + List resultList = new LinkedList(); + + List types = myLookup.computeScope(context); + + Collections.sort(types, myComparator); + + String name; + for (T type : types) { + name = type.getName(); + if (name != null) { + resultList.add(name); + myTypeMap.put(name, type); + } + } + + return resultList; + } + + public ICompletionProposal[] computeCompletionProposals( + IContentAssistSubjectControl subjectControl, int offset) { + if (myContext == null) { + return NO_PROPOSALS; + } + + Point selection = subjectControl.getSelectedRange(); + int selectionStart = selection.x; + int selectionLength = selection.y; + String prefix = getPrefix(subjectControl, selectionStart); + String proposalPrefix = getProposalPrefix(prefix); + + int colonIndex = proposalPrefix.lastIndexOf(':'); + + if (colonIndex == -1) { + return NO_PROPOSALS; + } else { + proposalPrefix = proposalPrefix.substring(colonIndex + 1); + + // allow multiple spaces after colon + // to make reedit handy + while (proposalPrefix.startsWith(" ")) { + proposalPrefix = proposalPrefix.substring(1); + } + } + + proposalPrefix = proposalPrefix.toLowerCase(); + int prefixLength = proposalPrefix.length(); + + List result = new LinkedList(); + for (String next : computeContextProposals(myContext)) { + if (next == null + || !next.toLowerCase().startsWith(proposalPrefix)) { + continue; + } + Image img = myImageProvider.getImage(myTypeMap.get(next) + .eClass()); + + ICompletionProposal proposal = new CompletionProposal(next, + selectionStart - prefixLength, selectionLength + + prefixLength, next.length(), img, next, null, + null); + result.add(proposal); + } + return result.toArray(NO_PROPOSALS); + } + } } Index: src/org/eclipse/uml2/diagram/common/parser/ImageProvider.java =================================================================== RCS file: src/org/eclipse/uml2/diagram/common/parser/ImageProvider.java diff -N src/org/eclipse/uml2/diagram/common/parser/ImageProvider.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/uml2/diagram/common/parser/ImageProvider.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,8 @@ +package org.eclipse.uml2.diagram.common.parser; + +import org.eclipse.emf.ecore.ENamedElement; +import org.eclipse.swt.graphics.Image; + +public interface ImageProvider { + Image getImage(ENamedElement element); +} Index: src/org/eclipse/uml2/diagram/common/parser/slot/SlotSemanticParser.java =================================================================== RCS file: src/org/eclipse/uml2/diagram/common/parser/slot/SlotSemanticParser.java diff -N src/org/eclipse/uml2/diagram/common/parser/slot/SlotSemanticParser.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/uml2/diagram/common/parser/slot/SlotSemanticParser.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,155 @@ +package org.eclipse.uml2.diagram.common.parser.slot; + +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.contentassist.IContentAssistSubjectControl; +import org.eclipse.jface.text.contentassist.CompletionProposal; +import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jface.text.contentassist.IContentAssistProcessor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; +import org.eclipse.uml2.diagram.parser.ApplyStrategy; +import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; +import org.eclipse.uml2.diagram.parser.ExternalToString; +import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; +import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences; +import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor; +import org.eclipse.uml2.diagram.parser.lookup.Lookup; +import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; +import org.eclipse.uml2.uml.NamedElement; + +public class SlotSemanticParser extends + SemanticParserAdapter { + private final Lookup myLookup; + private final ImageProvider myImageProvider; + private final CompletionProcessor myCompletionProcessor = new CompletionProcessor(); + + public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class typeClass, + ImageProvider imageProvider) { + super(new SlotParser(lookupSuite), new BasicApplyStrategy(), + new SlotToString.VIEW(), new SlotToString.EDIT()); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class typeClass, + ImageProvider imageProvider, ApplyStrategy applier, + WithReferences view, ExternalToString edit) { + super(new SlotParser(lookupSuite), applier, view, edit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class typeClass, + ImageProvider imageProvider, ApplyStrategy applier, + WithReferences viewAndEdit) { + super(new SlotParser(lookupSuite), applier, viewAndEdit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + protected final EObject doAdapt(IAdaptable adaptable) { + EObject element = (EObject) adaptable.getAdapter(EObject.class); + return element; + } + + @Override + public String getPrintString(IAdaptable element, int flags) { + String result = super.getPrintString(element, flags); + if ("".equals(result)) { + result = ""; + } + return result; + } + + public IContentAssistProcessor getCompletionProcessor(IAdaptable element) { + myCompletionProcessor.setContext(doAdapt(element)); + return myCompletionProcessor; + } + + private class CompletionProcessor extends EObjectCompletionProcessor { + private final Comparator myComparator = new Comparator() { + @Override + public int compare(T first, T second) { + return first.getName().compareTo(second.getName()); + } + }; + + private Map myTypeMap = new HashMap(); + + @Override + protected Iterable computeContextProposals(EObject context) { + return computeLookupContextProposals(context); + } + + private Iterable computeLookupContextProposals(EObject context) { + List resultList = new LinkedList(); + + List types = myLookup.computeScope(context); + + Collections.sort(types, myComparator); + + String name; + for (T type : types) { + name = type.getName(); + if (name != null) { + resultList.add(name); + myTypeMap.put(name, type); + } + } + + return resultList; + } + + public ICompletionProposal[] computeCompletionProposals( + IContentAssistSubjectControl subjectControl, int offset) { + if (myContext == null) { + return NO_PROPOSALS; + } + + Point selection = subjectControl.getSelectedRange(); + int selectionStart = selection.x; + int selectionLength = selection.y; + String prefix = getPrefix(subjectControl, selectionStart); + String proposalPrefix = getProposalPrefix(prefix); + + if (proposalPrefix.contains("=")) { + return NO_PROPOSALS; + } + + // allow multiple spaces after colon + // to make reedit handy + while (proposalPrefix.startsWith(" ")) { + proposalPrefix = proposalPrefix.substring(1); + } + + proposalPrefix = proposalPrefix.toLowerCase(); + int prefixLength = proposalPrefix.length(); + + List result = new LinkedList(); + for (String next : computeContextProposals(myContext)) { + if (next == null + || !next.toLowerCase().startsWith(proposalPrefix)) { + continue; + } + Image img = myImageProvider.getImage(myTypeMap.get(next) + .eClass()); + + ICompletionProposal proposal = new CompletionProposal(next, + selectionStart - prefixLength, selectionLength + + prefixLength, next.length(), img, next, null, + null); + result.add(proposal); + } + return result.toArray(NO_PROPOSALS); + } + } +} Index: src/org/eclipse/uml2/diagram/common/parser/instance/InstanceSpecificationSemanticParser.java =================================================================== RCS file: src/org/eclipse/uml2/diagram/common/parser/instance/InstanceSpecificationSemanticParser.java diff -N src/org/eclipse/uml2/diagram/common/parser/instance/InstanceSpecificationSemanticParser.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/uml2/diagram/common/parser/instance/InstanceSpecificationSemanticParser.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,158 @@ +package org.eclipse.uml2.diagram.common.parser.instance; + +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.contentassist.IContentAssistSubjectControl; +import org.eclipse.jface.text.contentassist.CompletionProposal; +import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jface.text.contentassist.IContentAssistProcessor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; +import org.eclipse.uml2.diagram.parser.ApplyStrategy; +import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; +import org.eclipse.uml2.diagram.parser.ExternalToString; +import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; +import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences; +import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor; +import org.eclipse.uml2.diagram.parser.lookup.Lookup; +import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; +import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.InstanceSpecification; +import org.eclipse.uml2.uml.NamedElement; + +public class InstanceSpecificationSemanticParser + extends SemanticParserAdapter { + private final Lookup myLookup; + private final ImageProvider myImageProvider; + private final CompletionProcessor myCompletionProcessor = new CompletionProcessor(); + + public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider) { + super(new InstanceSpecificationParser(lookupSuite), + new BasicApplyStrategy(), + new InstanceSpecificationToString.VIEW(), + new InstanceSpecificationToString.EDIT()); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences view, ExternalToString edit) { + super(new InstanceSpecificationParser(lookupSuite), applier, view, edit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite, + Class typeClass, ImageProvider imageProvider, + ApplyStrategy applier, WithReferences viewAndEdit) { + super(new InstanceSpecificationParser(lookupSuite), applier, + viewAndEdit); + myLookup = lookupSuite.getLookup(typeClass); + myImageProvider = imageProvider; + } + + protected final EObject doAdapt(IAdaptable adaptable) { + EObject element = (EObject) adaptable.getAdapter(EObject.class); + return element; + } + + public IContentAssistProcessor getCompletionProcessor(IAdaptable element) { + myCompletionProcessor.setContext(doAdapt(element)); + return myCompletionProcessor; + } + + private class CompletionProcessor extends EObjectCompletionProcessor { + private final Comparator myComparator = new Comparator() { + @Override + public int compare(T first, T second) { + return first.getName().compareTo(second.getName()); + } + }; + + private Map myTypeMap = new HashMap(); + + @Override + protected Iterable computeContextProposals(EObject context) { + return computeLookupContextProposals(context); + } + + private Iterable computeLookupContextProposals(EObject context) { + List resultList = new LinkedList(); + + List types = myLookup.computeScope(context); + + Collections.sort(types, myComparator); + + String name; + for (T type : types) { + name = type.getName(); + if (name != null) { + resultList.add(name); + myTypeMap.put(name, type); + } + } + + return resultList; + } + + public ICompletionProposal[] computeCompletionProposals( + IContentAssistSubjectControl subjectControl, int offset) { + if (myContext == null) { + return NO_PROPOSALS; + } + + Point selection = subjectControl.getSelectedRange(); + int selectionStart = selection.x; + int selectionLength = selection.y; + String prefix = getPrefix(subjectControl, selectionStart); + String proposalPrefix = getProposalPrefix(prefix); + + int colonIndex = proposalPrefix.lastIndexOf(':'); + int commaIndex = proposalPrefix.lastIndexOf(','); + + int startIndex = Math.max(colonIndex, commaIndex); + + if (startIndex == -1) { + return NO_PROPOSALS; + } else { + proposalPrefix = proposalPrefix.substring(startIndex + 1); + + // allow multiple spaces after colon or comma + // to make reedit handy + while (proposalPrefix.startsWith(" ")) { + proposalPrefix = proposalPrefix.substring(1); + } + } + + proposalPrefix = proposalPrefix.toLowerCase(); + int prefixLength = proposalPrefix.length(); + + List result = new LinkedList(); + for (String next : computeContextProposals(myContext)) { + if (next == null + || !next.toLowerCase().startsWith(proposalPrefix)) { + continue; + } + Image img = myImageProvider.getImage(myTypeMap.get(next) + .eClass()); + + ICompletionProposal proposal = new CompletionProposal(next, + selectionStart - prefixLength, selectionLength + + prefixLength, next.length(), img, next, null, + null); + result.add(proposal); + } + return result.toArray(NO_PROPOSALS); + } + } +} #P org.eclipse.uml2.diagram.deploy Index: src/org/eclipse/uml2/diagram/deploy/providers/UMLParserProvider.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/providers/UMLParserProvider.java,v retrieving revision 1.8 diff -u -r1.8 UMLParserProvider.java --- src/org/eclipse/uml2/diagram/deploy/providers/UMLParserProvider.java 14 Jan 2009 15:23:09 -0000 1.8 +++ src/org/eclipse/uml2/diagram/deploy/providers/UMLParserProvider.java 9 Mar 2010 18:11:43 -0000 @@ -2,6 +2,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; import org.eclipse.gmf.runtime.common.core.service.IOperation; @@ -12,9 +13,10 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.swt.graphics.Image; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser; -import org.eclipse.uml2.diagram.common.parser.property.PropertyParser; -import org.eclipse.uml2.diagram.common.parser.property.PropertyToString; +import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser; import org.eclipse.uml2.diagram.common.parser.stereotype.DeploymentAppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser; import org.eclipse.uml2.diagram.deploy.edit.parts.Artifact3EditPart; @@ -52,8 +54,6 @@ import org.eclipse.uml2.diagram.deploy.expressions.UMLOCLFactory; import org.eclipse.uml2.diagram.deploy.parsers.MessageFormatParser; import org.eclipse.uml2.diagram.deploy.part.UMLVisualIDRegistry; -import org.eclipse.uml2.diagram.parser.BasicApplyStrategy; -import org.eclipse.uml2.diagram.parser.SemanticParserAdapter; import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; import org.eclipse.uml2.diagram.parser.lookup.OCLLookup; @@ -63,7 +63,8 @@ /** * @generated */ -public class UMLParserProvider extends AbstractProvider implements IParserProvider { +public class UMLParserProvider extends AbstractProvider implements + IParserProvider { /** * @NOT-GENERATED @@ -93,7 +94,8 @@ * @generated */ protected IParser createPackageName_5001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -132,7 +134,8 @@ * @generated */ protected IParser createDeviceName_5002Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -171,7 +174,8 @@ * @generated */ protected IParser createNodeName_5003Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -210,7 +214,8 @@ * @generated */ protected IParser createExecutionEnvironmentName_5004Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -249,7 +254,8 @@ * @generated */ protected IParser createArtifactFileName_5005Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getArtifact_FileName() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -288,7 +294,8 @@ * @generated */ protected IParser createDeploymentSpecificationName_5006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -327,7 +334,8 @@ * @generated */ protected IParser createCommentBody_5024Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getComment_Body() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -373,7 +381,8 @@ * @generated */ protected IParser createDeviceName_5010Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -412,7 +421,8 @@ * @generated */ protected IParser createArtifactFileName_5007Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getArtifact_FileName() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -451,7 +461,8 @@ * @generated */ protected IParser createArtifactFileName_5011Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getArtifact_FileName() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -490,7 +501,8 @@ * @generated */ protected IParser createDeploymentSpecificationName_5012Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -529,7 +541,8 @@ * @generated */ protected IParser createExecutionEnvironmentName_5008Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -568,7 +581,8 @@ * @generated */ protected IParser createArtifact_3006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getArtifact_FileName() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -592,7 +606,8 @@ * @generated */ protected IParser createNodeName_5009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -640,7 +655,15 @@ private IParser createPropertyParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT()); + + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new PropertySemanticParser(lookupSuite, Type.class, + imageProvider); } /** @@ -662,7 +685,8 @@ * @generated */ protected IParser createDeploymentName_6001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); parser.setViewPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$ parser.setEditorPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$ @@ -689,7 +713,8 @@ * @generated */ protected IParser createManifestationName_6002Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); parser.setViewPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$ parser.setEditorPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$ @@ -716,7 +741,8 @@ * @generated */ protected IParser createCommunicationPathName_6003Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -740,7 +766,8 @@ * @generated */ protected IParser createDependencyName_6004Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -820,10 +847,13 @@ /** * Utility method that consults ParserService + * * @generated */ - public static IParser getParser(IElementType type, EObject object, String parserHint) { - return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint)); + public static IParser getParser(IElementType type, EObject object, + String parserHint) { + return ParserService.getInstance().getParser( + new HintAdapter(type, object, parserHint)); } /** #P org.eclipse.uml2.diagram.clazz Index: src/org/eclipse/uml2/diagram/clazz/providers/UMLParserProvider.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/providers/UMLParserProvider.java,v retrieving revision 1.42 diff -u -r1.42 UMLParserProvider.java --- src/org/eclipse/uml2/diagram/clazz/providers/UMLParserProvider.java 14 Jan 2009 16:00:27 -0000 1.42 +++ src/org/eclipse/uml2/diagram/clazz/providers/UMLParserProvider.java 9 Mar 2010 18:11:45 -0000 @@ -2,6 +2,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.common.core.service.AbstractProvider; import org.eclipse.gmf.runtime.common.core.service.IOperation; @@ -12,6 +13,7 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter; import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.swt.graphics.Image; import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassEditPart; import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassNameEditPart; import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassStereotypeEditPart; @@ -107,6 +109,7 @@ import org.eclipse.uml2.diagram.clazz.parser.dependency.DependencyTypeParser; import org.eclipse.uml2.diagram.clazz.parsers.MessageFormatParser; import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry; +import org.eclipse.uml2.diagram.common.parser.ImageProvider; import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy; import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser; @@ -114,15 +117,13 @@ import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser; import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString; import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser; -import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationParser; -import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationToString; +import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationSemanticParser; import org.eclipse.uml2.diagram.common.parser.operation.OperationSemanticParser; import org.eclipse.uml2.diagram.common.parser.port.PortParser; import org.eclipse.uml2.diagram.common.parser.port.PortToString; import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser; import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite; -import org.eclipse.uml2.diagram.common.parser.slot.SlotParser; -import org.eclipse.uml2.diagram.common.parser.slot.SlotToString; +import org.eclipse.uml2.diagram.common.parser.slot.SlotSemanticParser; import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser; import org.eclipse.uml2.diagram.common.parser.stereotype.DependencyAppliedStereotypeParser; @@ -136,13 +137,15 @@ import org.eclipse.uml2.diagram.parser.lookup.LookupSuite; import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl; import org.eclipse.uml2.diagram.parser.lookup.OCLLookup; +import org.eclipse.uml2.uml.StructuralFeature; import org.eclipse.uml2.uml.Type; import org.eclipse.uml2.uml.UMLPackage; /** * @generated */ -public class UMLParserProvider extends AbstractProvider implements IParserProvider { +public class UMLParserProvider extends AbstractProvider implements + IParserProvider { /** * @generated @@ -163,7 +166,8 @@ * @generated */ protected IParser createPackageName_5004Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -187,7 +191,8 @@ * @generated */ protected IParser createClassName_5003Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -226,7 +231,8 @@ * @generated */ protected IParser createAssociationClassName_5009Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -265,7 +271,8 @@ * @generated */ protected IParser createDataTypeName_5006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -304,7 +311,8 @@ * @generated */ protected IParser createPrimitiveTypeName_5007Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -343,7 +351,8 @@ * @generated */ protected IParser createEnumerationName_5005Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -382,7 +391,8 @@ * @generated */ protected IParser createInterfaceName_5012Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -458,7 +468,8 @@ * @generated */ protected IParser createDependencyName_5011Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -497,7 +508,8 @@ * @generated */ protected IParser createGeneralizationSetName_5017Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); parser.setViewPattern(":{0}"); //$NON-NLS-1$ parser.setEditorPattern(":{0}"); //$NON-NLS-1$ @@ -524,7 +536,8 @@ * @generated */ protected IParser createInterfaceName_5018Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -563,7 +576,8 @@ * @generated */ protected IParser createPackageName_5020Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -602,7 +616,8 @@ * @generated */ protected IParser createPackageName_5026Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -626,7 +641,8 @@ * @generated */ protected IParser createInstanceSpecificationName_5029Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -650,7 +666,8 @@ * @generated */ protected IParser createCommentBody_5030Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getComment_Body() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -681,7 +698,8 @@ * @generated */ protected IParser createPackage_3006Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1009,7 +1027,8 @@ * @generated */ protected IParser createEnumerationLiteral_3016Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1152,7 +1171,8 @@ * @generated */ protected IParser createPackageName_5025Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1176,7 +1196,8 @@ * @generated */ protected IParser createClassName_5021Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1215,7 +1236,8 @@ * @generated */ protected IParser createEnumerationName_5023Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1254,7 +1276,8 @@ * @generated */ protected IParser createInstanceSpecificationName_5024Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1293,7 +1316,8 @@ * @generated */ protected IParser createDataTypeName_5027Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1332,7 +1356,8 @@ * @generated */ protected IParser createPrimitiveTypeName_5028Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1371,7 +1396,8 @@ * @generated */ protected IParser createLiteralString_3038Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getLiteralInteger_Value() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getLiteralInteger_Value() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1395,7 +1421,8 @@ * @generated */ protected IParser createLiteralInteger_3039Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getLiteralInteger_Value() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getLiteralInteger_Value() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1419,7 +1446,8 @@ * @generated */ protected IParser createExpression_3040Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getExpression_Symbol() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getExpression_Symbol() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1458,7 +1486,8 @@ * @generated */ protected IParser createDependencyName_6001Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1499,7 +1528,8 @@ protected IParser createPropertyName_6002Parser() { LookupSuite lookupSuite = getAssociationLookupSuite(); return new SemanticParserAdapter(// - new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), // + new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE + .getProperty()), // new BasicApplyStrategy(), // new AssociationEndToString.ROLE_VIEW(false), // new AssociationEndToString.EDIT(false)); @@ -1526,7 +1556,8 @@ protected IParser createPropertyName_6012Parser() { LookupSuite lookupSuite = getAssociationLookupSuite(); return new SemanticParserAdapter(// - new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), // + new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE + .getProperty()), // new BasicApplyStrategy(), // new AssociationEndToString.MULTIPLICITY_VIEW(false), // new AssociationEndToString.EDIT(false)); @@ -1553,7 +1584,8 @@ protected IParser createPropertyName_6017Parser() { LookupSuite lookupSuite = getAssociationLookupSuite(); return new SemanticParserAdapter(// - new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), // + new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE + .getProperty()), // new BasicApplyStrategy(), // new AssociationEndToString.MODIFIERS_VIEW(false), // new AssociationEndToString.EDIT(false)); @@ -1683,7 +1715,8 @@ * @generated */ protected IParser createRealizationName_6011Parser() { - EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() }; + EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE + .getNamedElement_Name() }; MessageFormatParser parser = new MessageFormatParser(features); return parser; } @@ -1793,13 +1826,14 @@ } public static final OCLLookup TYPE_LOOKUP = new OCLLookup(// - UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // + UMLOCLFactory.getOCLLookupExpression( + DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE + .getNamedElement()), // new IElementType[] { // /* - UMLElementTypes.Class_2001, // - UMLElementTypes.DataType_2004, // - UMLElementTypes.Enumeration_2003, // - UMLElementTypes.PrimitiveType_2005, // + * UMLElementTypes.Class_2001, // UMLElementTypes.DataType_2004, // + * UMLElementTypes.Enumeration_2003, // + * UMLElementTypes.PrimitiveType_2005, // */ }); @@ -1851,7 +1885,16 @@ protected IParser createPropertyParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new PropertySemanticParser(lookupSuite); + + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + + return new PropertySemanticParser(lookupSuite, Type.class, + imageProvider); } /** @@ -1903,7 +1946,15 @@ LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new OperationSemanticParser(lookupSuite); + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + + return new OperationSemanticParser(lookupSuite, Type.class, + imageProvider); } /** @@ -1913,7 +1964,8 @@ LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString()); + return new SemanticParserAdapter(new PortParser(lookupSuite), + new BasicApplyStrategy(), new PortToString()); } /** @@ -1951,24 +2003,32 @@ private IParser createInstanceSpecificationParser() { LookupSuiteImpl lookupSuite = new LookupSuiteImpl(); lookupSuite.addLookup(Type.class, TYPE_LOOKUP); - return new SemanticParserAdapter(new InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(), new InstanceSpecificationToString.VIEW(), new InstanceSpecificationToString.EDIT()); + // return new SemanticParserAdapter(new + // InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(), + // new InstanceSpecificationToString.VIEW(), new + // InstanceSpecificationToString.EDIT()); + ImageProvider imageProvider = new ImageProvider() { + @Override + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); + } + }; + return new InstanceSpecificationSemanticParser(lookupSuite, + Type.class, imageProvider); } /** * @generated NOT */ protected IParser createSlot_3017Parser() { - return new SemanticParserAdapter(new SlotParser(new SlotLookupSuite()), new BasicApplyStrategy(), new SlotToString.VIEW(), new SlotToString.EDIT()) { - + ImageProvider imageProvider = new ImageProvider() { @Override - public String getPrintString(IAdaptable element, int flags) { - String result = super.getPrintString(element, flags); - if ("".equals(result)) { - result = ""; - } - return result; + public Image getImage(ENamedElement element) { + return UMLElementTypes.getImage(element); } }; + return new SlotSemanticParser(new SlotLookupSuite(), + StructuralFeature.class, imageProvider); } /** @@ -1993,12 +2053,13 @@ } /** - * @NOT-GENERATED - * Different view's but shared common edit. + * @NOT-GENERATED Different view's but shared common edit. */ private IParser createAssocationRoleParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.ROLE_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -2007,7 +2068,9 @@ */ private IParser createAssocationModifiersParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -2016,7 +2079,9 @@ */ protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) { LookupSuite lookupSuite = getAssociationLookupSuite(); - return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), + return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), + new AssociationEndApplyStrategy(sourceNotTarget), + new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget), new AssociationEndToString.EDIT(sourceNotTarget)); } @@ -2032,7 +2097,9 @@ */ protected IParser createAssociationName_6003Parser() { LookupSuite lookupSuite = LookupSuite.NULL_SUITE; - return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT()); + return new ParserAdapter(new AssociationNameParser(lookupSuite), + new BasicApplyStrategy(), new AssociationNameToString.VIEW(), + new AssociationNameToString.EDIT()); } /** @@ -2294,10 +2361,13 @@ /** * Utility method that consults ParserService + * * @generated */ - public static IParser getParser(IElementType type, EObject object, String parserHint) { - return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint)); + public static IParser getParser(IElementType type, EObject object, + String parserHint) { + return ParserService.getInstance().getParser( + new HintAdapter(type, object, parserHint)); } /**