View | Details | Raw Unified | Return to bug 305299
Collapse All | Expand All

(-)src/org/eclipse/uml2/diagram/component/providers/UMLParserProvider.java (-38 / +99 lines)
Lines 2-7 Link Here
2
2
3
import org.eclipse.core.runtime.IAdaptable;
3
import org.eclipse.core.runtime.IAdaptable;
4
import org.eclipse.emf.ecore.EAttribute;
4
import org.eclipse.emf.ecore.EAttribute;
5
import org.eclipse.emf.ecore.ENamedElement;
5
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.IOperation;
8
import org.eclipse.gmf.runtime.common.core.service.IOperation;
Lines 12-17 Link Here
12
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.notation.View;
15
import org.eclipse.gmf.runtime.notation.View;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
15
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
18
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
16
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
19
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
17
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndToString;
20
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndToString;
Lines 20-29 Link Here
20
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
23
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
21
import org.eclipse.uml2.diagram.common.parser.operation.OperationInplaceApplier;
24
import org.eclipse.uml2.diagram.common.parser.operation.OperationInplaceApplier;
22
import org.eclipse.uml2.diagram.common.parser.operation.OperationParser;
25
import org.eclipse.uml2.diagram.common.parser.operation.OperationParser;
26
import org.eclipse.uml2.diagram.common.parser.operation.OperationSemanticParser;
23
import org.eclipse.uml2.diagram.common.parser.operation.OperationToString;
27
import org.eclipse.uml2.diagram.common.parser.operation.OperationToString;
24
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
28
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
25
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
29
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
26
import org.eclipse.uml2.diagram.common.parser.property.PropertyParser;
30
import org.eclipse.uml2.diagram.common.parser.property.PropertyParser;
31
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
27
import org.eclipse.uml2.diagram.common.parser.property.PropertyToString;
32
import org.eclipse.uml2.diagram.common.parser.property.PropertyToString;
28
import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser;
33
import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser;
29
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
34
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
Lines 87-93 Link Here
87
/**
92
/**
88
 * @generated
93
 * @generated
89
 */
94
 */
90
public class UMLParserProvider extends AbstractProvider implements IParserProvider {
95
public class UMLParserProvider extends AbstractProvider implements
96
		IParserProvider {
91
97
92
	/**
98
	/**
93
	 * @generated
99
	 * @generated
Lines 108-114 Link Here
108
	 * @generated
114
	 * @generated
109
	 */
115
	 */
110
	protected IParser createComponentName_5001Parser() {
116
	protected IParser createComponentName_5001Parser() {
111
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
117
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
118
				.getNamedElement_Name() };
112
		MessageFormatParser parser = new MessageFormatParser(features);
119
		MessageFormatParser parser = new MessageFormatParser(features);
113
		return parser;
120
		return parser;
114
	}
121
	}
Lines 147-153 Link Here
147
	 * @generated
154
	 * @generated
148
	 */
155
	 */
149
	protected IParser createArtifactName_5004Parser() {
156
	protected IParser createArtifactName_5004Parser() {
150
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
157
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
158
				.getNamedElement_Name() };
151
		MessageFormatParser parser = new MessageFormatParser(features);
159
		MessageFormatParser parser = new MessageFormatParser(features);
152
		return parser;
160
		return parser;
153
	}
161
	}
Lines 186-192 Link Here
186
	 * @generated
194
	 * @generated
187
	 */
195
	 */
188
	protected IParser createInterfaceName_5005Parser() {
196
	protected IParser createInterfaceName_5005Parser() {
189
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
197
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
198
				.getNamedElement_Name() };
190
		MessageFormatParser parser = new MessageFormatParser(features);
199
		MessageFormatParser parser = new MessageFormatParser(features);
191
		return parser;
200
		return parser;
192
	}
201
	}
Lines 210-216 Link Here
210
	 * @generated
219
	 * @generated
211
	 */
220
	 */
212
	protected IParser createClassName_5008Parser() {
221
	protected IParser createClassName_5008Parser() {
213
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
222
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
223
				.getNamedElement_Name() };
214
		MessageFormatParser parser = new MessageFormatParser(features);
224
		MessageFormatParser parser = new MessageFormatParser(features);
215
		return parser;
225
		return parser;
216
	}
226
	}
Lines 234-240 Link Here
234
	 * @generated
244
	 * @generated
235
	 */
245
	 */
236
	protected IParser createPackageName_5011Parser() {
246
	protected IParser createPackageName_5011Parser() {
237
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
247
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
248
				.getNamedElement_Name() };
238
		MessageFormatParser parser = new MessageFormatParser(features);
249
		MessageFormatParser parser = new MessageFormatParser(features);
239
		return parser;
250
		return parser;
240
	}
251
	}
Lines 273-279 Link Here
273
	 * @generated
284
	 * @generated
274
	 */
285
	 */
275
	protected IParser createPackageName_5012Parser() {
286
	protected IParser createPackageName_5012Parser() {
276
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
287
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
288
				.getNamedElement_Name() };
277
		MessageFormatParser parser = new MessageFormatParser(features);
289
		MessageFormatParser parser = new MessageFormatParser(features);
278
		return parser;
290
		return parser;
279
	}
291
	}
Lines 297-303 Link Here
297
	 * @generated
309
	 * @generated
298
	 */
310
	 */
299
	protected IParser createClassName_5014Parser() {
311
	protected IParser createClassName_5014Parser() {
300
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
312
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
313
				.getNamedElement_Name() };
301
		MessageFormatParser parser = new MessageFormatParser(features);
314
		MessageFormatParser parser = new MessageFormatParser(features);
302
		return parser;
315
		return parser;
303
	}
316
	}
Lines 336-342 Link Here
336
	 * @generated
349
	 * @generated
337
	 */
350
	 */
338
	protected IParser createCommentBody_5022Parser() {
351
	protected IParser createCommentBody_5022Parser() {
339
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() };
352
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
353
				.getComment_Body() };
340
		MessageFormatParser parser = new MessageFormatParser(features);
354
		MessageFormatParser parser = new MessageFormatParser(features);
341
		return parser;
355
		return parser;
342
	}
356
	}
Lines 360-366 Link Here
360
	 * @generated
374
	 * @generated
361
	 */
375
	 */
362
	protected IParser createInterfaceName_5026Parser() {
376
	protected IParser createInterfaceName_5026Parser() {
363
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
377
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
378
				.getNamedElement_Name() };
364
		MessageFormatParser parser = new MessageFormatParser(features);
379
		MessageFormatParser parser = new MessageFormatParser(features);
365
		return parser;
380
		return parser;
366
	}
381
	}
Lines 381-387 Link Here
381
	}
396
	}
382
397
383
	/**
398
	/**
384
	 * XXX: Misleading name of the method. The only way to fix it is custom template 
399
	 * XXX: Misleading name of the method. The only way to fix it is custom
400
	 * template
401
	 * 
385
	 * @generated NOT
402
	 * @generated NOT
386
	 */
403
	 */
387
	protected IParser createClassQualifiedName_5015Parser() {
404
	protected IParser createClassQualifiedName_5015Parser() {
Lines 407-413 Link Here
407
	 * @generated
424
	 * @generated
408
	 */
425
	 */
409
	protected IParser createComponentName_5002Parser() {
426
	protected IParser createComponentName_5002Parser() {
410
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
427
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
428
				.getNamedElement_Name() };
411
		MessageFormatParser parser = new MessageFormatParser(features);
429
		MessageFormatParser parser = new MessageFormatParser(features);
412
		return parser;
430
		return parser;
413
	}
431
	}
Lines 468-474 Link Here
468
	 * @generated
486
	 * @generated
469
	 */
487
	 */
470
	protected IParser createArtifactName_5006Parser() {
488
	protected IParser createArtifactName_5006Parser() {
471
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
489
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
490
				.getNamedElement_Name() };
472
		MessageFormatParser parser = new MessageFormatParser(features);
491
		MessageFormatParser parser = new MessageFormatParser(features);
473
		return parser;
492
		return parser;
474
	}
493
	}
Lines 507-513 Link Here
507
	 * @generated
526
	 * @generated
508
	 */
527
	 */
509
	protected IParser createArtifactName_5016Parser() {
528
	protected IParser createArtifactName_5016Parser() {
510
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
529
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
530
				.getNamedElement_Name() };
511
		MessageFormatParser parser = new MessageFormatParser(features);
531
		MessageFormatParser parser = new MessageFormatParser(features);
512
		return parser;
532
		return parser;
513
	}
533
	}
Lines 546-552 Link Here
546
	 * @generated
566
	 * @generated
547
	 */
567
	 */
548
	protected IParser createClassName_5007Parser() {
568
	protected IParser createClassName_5007Parser() {
549
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
569
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
570
				.getNamedElement_Name() };
550
		MessageFormatParser parser = new MessageFormatParser(features);
571
		MessageFormatParser parser = new MessageFormatParser(features);
551
		return parser;
572
		return parser;
552
	}
573
	}
Lines 570-576 Link Here
570
	 * @generated
591
	 * @generated
571
	 */
592
	 */
572
	protected IParser createInterfaceName_5009Parser() {
593
	protected IParser createInterfaceName_5009Parser() {
573
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
594
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
595
				.getNamedElement_Name() };
574
		MessageFormatParser parser = new MessageFormatParser(features);
596
		MessageFormatParser parser = new MessageFormatParser(features);
575
		return parser;
597
		return parser;
576
	}
598
	}
Lines 594-600 Link Here
594
	 * @generated
616
	 * @generated
595
	 */
617
	 */
596
	protected IParser createPropertyName_5010Parser() {
618
	protected IParser createPropertyName_5010Parser() {
597
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
619
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
620
				.getNamedElement_Name() };
598
		MessageFormatParser parser = new MessageFormatParser(features);
621
		MessageFormatParser parser = new MessageFormatParser(features);
599
		return parser;
622
		return parser;
600
	}
623
	}
Lines 640-646 Link Here
640
	 * @generated
663
	 * @generated
641
	 */
664
	 */
642
	protected IParser createPackage_3008Parser() {
665
	protected IParser createPackage_3008Parser() {
643
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
666
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
667
				.getNamedElement_Name() };
644
		MessageFormatParser parser = new MessageFormatParser(features);
668
		MessageFormatParser parser = new MessageFormatParser(features);
645
		return parser;
669
		return parser;
646
	}
670
	}
Lines 664-670 Link Here
664
	 * @generated
688
	 * @generated
665
	 */
689
	 */
666
	protected IParser createClass_3009Parser() {
690
	protected IParser createClass_3009Parser() {
667
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
691
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
692
				.getNamedElement_Name() };
668
		MessageFormatParser parser = new MessageFormatParser(features);
693
		MessageFormatParser parser = new MessageFormatParser(features);
669
		return parser;
694
		return parser;
670
	}
695
	}
Lines 688-694 Link Here
688
	 * @generated
713
	 * @generated
689
	 */
714
	 */
690
	protected IParser createComponent_3010Parser() {
715
	protected IParser createComponent_3010Parser() {
691
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
716
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
717
				.getNamedElement_Name() };
692
		MessageFormatParser parser = new MessageFormatParser(features);
718
		MessageFormatParser parser = new MessageFormatParser(features);
693
		return parser;
719
		return parser;
694
	}
720
	}
Lines 714-720 Link Here
714
	protected IParser createProperty_3011Parser() {
740
	protected IParser createProperty_3011Parser() {
715
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
741
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
716
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
742
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
717
		return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT());
743
		ImageProvider imageProvider = new ImageProvider() {
744
			@Override
745
			public Image getImage(ENamedElement element) {
746
				return UMLElementTypes.getImage(element);
747
			}
748
		};
749
		return new PropertySemanticParser(lookupSuite, Type.class,
750
				imageProvider);
718
	}
751
	}
719
752
720
	/**
753
	/**
Lines 738-744 Link Here
738
	protected IParser createOperation_3012Parser() {
771
	protected IParser createOperation_3012Parser() {
739
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
772
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
740
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
773
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
741
		return new SemanticParserAdapter(new OperationParser(lookupSuite), new OperationInplaceApplier(), new OperationToString.VIEW(), new OperationToString.EDIT());
774
775
		ImageProvider imageProvider = new ImageProvider() {
776
			@Override
777
			public Image getImage(ENamedElement element) {
778
				return UMLElementTypes.getImage(element);
779
			}
780
		};
781
782
		return new OperationSemanticParser<Type>(lookupSuite, Type.class,
783
				imageProvider, new OperationInplaceApplier(),
784
				new OperationToString.VIEW(), new OperationToString.EDIT());
742
	}
785
	}
743
786
744
	/**
787
	/**
Lines 760-766 Link Here
760
	 * @generated
803
	 * @generated
761
	 */
804
	 */
762
	protected IParser createClass_3013Parser() {
805
	protected IParser createClass_3013Parser() {
763
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
806
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
807
				.getNamedElement_Name() };
764
		MessageFormatParser parser = new MessageFormatParser(features);
808
		MessageFormatParser parser = new MessageFormatParser(features);
765
		return parser;
809
		return parser;
766
	}
810
	}
Lines 806-812 Link Here
806
	 * @generated
850
	 * @generated
807
	 */
851
	 */
808
	protected IParser createProperty_3017Parser() {
852
	protected IParser createProperty_3017Parser() {
809
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
853
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
854
				.getNamedElement_Name() };
810
		MessageFormatParser parser = new MessageFormatParser(features);
855
		MessageFormatParser parser = new MessageFormatParser(features);
811
		return parser;
856
		return parser;
812
	}
857
	}
Lines 830-836 Link Here
830
	 * @generated
875
	 * @generated
831
	 */
876
	 */
832
	protected IParser createOperation_3018Parser() {
877
	protected IParser createOperation_3018Parser() {
833
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
878
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
879
				.getNamedElement_Name() };
834
		MessageFormatParser parser = new MessageFormatParser(features);
880
		MessageFormatParser parser = new MessageFormatParser(features);
835
		return parser;
881
		return parser;
836
	}
882
	}
Lines 854-860 Link Here
854
	 * @generated
900
	 * @generated
855
	 */
901
	 */
856
	protected IParser createClass_3020Parser() {
902
	protected IParser createClass_3020Parser() {
857
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
903
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
904
				.getNamedElement_Name() };
858
		MessageFormatParser parser = new MessageFormatParser(features);
905
		MessageFormatParser parser = new MessageFormatParser(features);
859
		return parser;
906
		return parser;
860
	}
907
	}
Lines 862-868 Link Here
862
	private IParser createPortParser() {
909
	private IParser createPortParser() {
863
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
910
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
864
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
911
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
865
		return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString());
912
		return new SemanticParserAdapter(new PortParser(lookupSuite),
913
				new BasicApplyStrategy(), new PortToString());
866
	}
914
	}
867
915
868
	/**
916
	/**
Lines 871-882 Link Here
871
	private IParser dependencyName_6001Parser;
919
	private IParser dependencyName_6001Parser;
872
920
873
	/**
921
	/**
874
	 * @NOT-GENERATED
922
	 * @NOT-GENERATED Different view's but shared common edit.
875
	 * Different view's but shared common edit.
876
	 */
923
	 */
877
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
924
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
878
		LookupSuite lookupSuite = getAssociationLookupSuite();
925
		LookupSuite lookupSuite = getAssociationLookupSuite();
879
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
926
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
927
				new AssociationEndApplyStrategy(sourceNotTarget),
928
				new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
880
				new AssociationEndToString.EDIT(sourceNotTarget));
929
				new AssociationEndToString.EDIT(sourceNotTarget));
881
	}
930
	}
882
931
Lines 885-891 Link Here
885
	 */
934
	 */
886
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
935
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
887
		LookupSuite lookupSuite = getAssociationLookupSuite();
936
		LookupSuite lookupSuite = getAssociationLookupSuite();
888
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
937
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
938
				new AssociationEndApplyStrategy(sourceNotTarget),
939
				new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
889
				new AssociationEndToString.EDIT(sourceNotTarget));
940
				new AssociationEndToString.EDIT(sourceNotTarget));
890
	}
941
	}
891
942
Lines 894-900 Link Here
894
	 */
945
	 */
895
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
946
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
896
		LookupSuite lookupSuite = getAssociationLookupSuite();
947
		LookupSuite lookupSuite = getAssociationLookupSuite();
897
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
948
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
949
				new AssociationEndApplyStrategy(sourceNotTarget),
950
				new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
898
				new AssociationEndToString.EDIT(sourceNotTarget));
951
				new AssociationEndToString.EDIT(sourceNotTarget));
899
	}
952
	}
900
953
Lines 919-925 Link Here
919
	 * @generated
972
	 * @generated
920
	 */
973
	 */
921
	protected IParser createDependencyName_6001Parser() {
974
	protected IParser createDependencyName_6001Parser() {
922
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
975
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
976
				.getNamedElement_Name() };
923
		MessageFormatParser parser = new MessageFormatParser(features);
977
		MessageFormatParser parser = new MessageFormatParser(features);
924
		return parser;
978
		return parser;
925
	}
979
	}
Lines 944-950 Link Here
944
	 */
998
	 */
945
	protected IParser createAssociationName_6002Parser() {
999
	protected IParser createAssociationName_6002Parser() {
946
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
1000
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
947
		return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT());
1001
		return new ParserAdapter(new AssociationNameParser(lookupSuite),
1002
				new BasicApplyStrategy(), new AssociationNameToString.VIEW(),
1003
				new AssociationNameToString.EDIT());
948
	}
1004
	}
949
1005
950
	/**
1006
	/**
Lines 1080-1089 Link Here
1080
	}
1136
	}
1081
1137
1082
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
1138
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
1083
			UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // 
1139
			UMLOCLFactory.getOCLLookupExpression(
1140
					DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE
1141
							.getNamedElement()), // 
1084
			new IElementType[] { //
1142
			new IElementType[] { //
1085
			/*
1143
			/*
1086
			 UMLElementTypes.Class_2004, // 
1144
			 * UMLElementTypes.Class_2004, //
1087
			 */
1145
			 */
1088
			});
1146
			});
1089
1147
Lines 1184-1193 Link Here
1184
1242
1185
	/**
1243
	/**
1186
	 * Utility method that consults ParserService
1244
	 * Utility method that consults ParserService
1245
	 * 
1187
	 * @generated
1246
	 * @generated
1188
	 */
1247
	 */
1189
	public static IParser getParser(IElementType type, EObject object, String parserHint) {
1248
	public static IParser getParser(IElementType type, EObject object,
1190
		return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
1249
			String parserHint) {
1250
		return ParserService.getInstance().getParser(
1251
				new HintAdapter(type, object, parserHint));
1191
	}
1252
	}
1192
1253
1193
	/**
1254
	/**
(-)src/org/eclipse/uml2/diagram/csd/providers/UMLParserProvider.java (-42 / +90 lines)
Lines 2-7 Link Here
2
2
3
import org.eclipse.core.runtime.IAdaptable;
3
import org.eclipse.core.runtime.IAdaptable;
4
import org.eclipse.emf.ecore.EAttribute;
4
import org.eclipse.emf.ecore.EAttribute;
5
import org.eclipse.emf.ecore.ENamedElement;
5
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.IOperation;
8
import org.eclipse.gmf.runtime.common.core.service.IOperation;
Lines 12-17 Link Here
12
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.notation.View;
15
import org.eclipse.gmf.runtime.notation.View;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
15
import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser;
18
import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser;
16
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
19
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
17
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
20
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
Lines 19-33 Link Here
19
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser;
22
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser;
20
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString;
23
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString;
21
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
24
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
22
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationParser;
25
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationSemanticParser;
23
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationToString;
24
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
26
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
25
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
27
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
26
import org.eclipse.uml2.diagram.common.parser.property.PropertyParser;
28
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
27
import org.eclipse.uml2.diagram.common.parser.property.PropertyToString;
28
import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite;
29
import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite;
29
import org.eclipse.uml2.diagram.common.parser.slot.SlotParser;
30
import org.eclipse.uml2.diagram.common.parser.slot.SlotSemanticParser;
30
import org.eclipse.uml2.diagram.common.parser.slot.SlotToString;
31
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
31
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
32
import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser;
32
import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser;
33
import org.eclipse.uml2.diagram.common.parser.valuespec.ConstraintLanguageParser;
33
import org.eclipse.uml2.diagram.common.parser.valuespec.ConstraintLanguageParser;
Lines 94-112 Link Here
94
import org.eclipse.uml2.diagram.parser.lookup.LookupSuite;
94
import org.eclipse.uml2.diagram.parser.lookup.LookupSuite;
95
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
95
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
96
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
96
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
97
import org.eclipse.uml2.uml.StructuralFeature;
97
import org.eclipse.uml2.uml.Type;
98
import org.eclipse.uml2.uml.Type;
98
import org.eclipse.uml2.uml.UMLPackage;
99
import org.eclipse.uml2.uml.UMLPackage;
99
100
100
/**
101
/**
101
 * @generated
102
 * @generated
102
 */
103
 */
103
public class UMLParserProvider extends AbstractProvider implements IParserProvider {
104
public class UMLParserProvider extends AbstractProvider implements
105
		IParserProvider {
104
106
105
	/**
107
	/**
106
	 * @NOT-generated
108
	 * @NOT-generated
107
	 */
109
	 */
108
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
110
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
109
			UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // 
111
			UMLOCLFactory.getOCLLookupExpression(
112
					DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE
113
							.getNamedElement()), // 
110
			new IElementType[] { //
114
			new IElementType[] { //
111
			});
115
			});
112
116
Lines 129-135 Link Here
129
	 * @generated
133
	 * @generated
130
	 */
134
	 */
131
	protected IParser createCollaborationName_5009Parser() {
135
	protected IParser createCollaborationName_5009Parser() {
132
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
136
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
137
				.getNamedElement_Name() };
133
		MessageFormatParser parser = new MessageFormatParser(features);
138
		MessageFormatParser parser = new MessageFormatParser(features);
134
		return parser;
139
		return parser;
135
	}
140
	}
Lines 168-174 Link Here
168
	 * @generated
173
	 * @generated
169
	 */
174
	 */
170
	protected IParser createClassName_5013Parser() {
175
	protected IParser createClassName_5013Parser() {
171
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
176
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
177
				.getNamedElement_Name() };
172
		MessageFormatParser parser = new MessageFormatParser(features);
178
		MessageFormatParser parser = new MessageFormatParser(features);
173
		return parser;
179
		return parser;
174
	}
180
	}
Lines 207-213 Link Here
207
	 * @generated
213
	 * @generated
208
	 */
214
	 */
209
	protected IParser createPackageName_5006Parser() {
215
	protected IParser createPackageName_5006Parser() {
210
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
216
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
217
				.getNamedElement_Name() };
211
		MessageFormatParser parser = new MessageFormatParser(features);
218
		MessageFormatParser parser = new MessageFormatParser(features);
212
		return parser;
219
		return parser;
213
	}
220
	}
Lines 246-252 Link Here
246
	 * @generated
253
	 * @generated
247
	 */
254
	 */
248
	protected IParser createClassName_5018Parser() {
255
	protected IParser createClassName_5018Parser() {
249
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
256
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
257
				.getNamedElement_Name() };
250
		MessageFormatParser parser = new MessageFormatParser(features);
258
		MessageFormatParser parser = new MessageFormatParser(features);
251
		return parser;
259
		return parser;
252
	}
260
	}
Lines 270-276 Link Here
270
	 * @generated
278
	 * @generated
271
	 */
279
	 */
272
	protected IParser createInterfaceName_5020Parser() {
280
	protected IParser createInterfaceName_5020Parser() {
273
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
281
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
282
				.getNamedElement_Name() };
274
		MessageFormatParser parser = new MessageFormatParser(features);
283
		MessageFormatParser parser = new MessageFormatParser(features);
275
		return parser;
284
		return parser;
276
	}
285
	}
Lines 296-302 Link Here
296
	protected IParser createInstanceSpecificationName_5022Parser() {
305
	protected IParser createInstanceSpecificationName_5022Parser() {
297
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
306
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
298
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
307
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
299
		return new SemanticParserAdapter(new InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(), new InstanceSpecificationToString.VIEW(), new InstanceSpecificationToString.EDIT());
308
		/*
309
		 * return new SemanticParserAdapter(new InstanceSpecificationParser(
310
		 * lookupSuite), new BasicApplyStrategy(), new
311
		 * InstanceSpecificationToString.VIEW(), new
312
		 * InstanceSpecificationToString.EDIT());
313
		 */
314
		ImageProvider imageProvider = new ImageProvider() {
315
			@Override
316
			public Image getImage(ENamedElement element) {
317
				return UMLElementTypes.getImage(element);
318
			}
319
		};
320
		return new InstanceSpecificationSemanticParser<Type>(lookupSuite,
321
				Type.class, imageProvider);
300
	}
322
	}
301
323
302
	/**
324
	/**
Lines 370-376 Link Here
370
	 * @generated
392
	 * @generated
371
	 */
393
	 */
372
	protected IParser createCommentBody_5032Parser() {
394
	protected IParser createCommentBody_5032Parser() {
373
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() };
395
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
396
				.getComment_Body() };
374
		MessageFormatParser parser = new MessageFormatParser(features);
397
		MessageFormatParser parser = new MessageFormatParser(features);
375
		return parser;
398
		return parser;
376
	}
399
	}
Lines 394-400 Link Here
394
	 * @generated
417
	 * @generated
395
	 */
418
	 */
396
	protected IParser createInterfaceName_5035Parser() {
419
	protected IParser createInterfaceName_5035Parser() {
397
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
420
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
421
				.getNamedElement_Name() };
398
		MessageFormatParser parser = new MessageFormatParser(features);
422
		MessageFormatParser parser = new MessageFormatParser(features);
399
		return parser;
423
		return parser;
400
	}
424
	}
Lines 479-485 Link Here
479
	private IParser createPropertyParser() {
503
	private IParser createPropertyParser() {
480
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
504
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
481
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
505
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
482
		return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT());
506
507
		ImageProvider imageProvider = new ImageProvider() {
508
			@Override
509
			public Image getImage(ENamedElement element) {
510
				return UMLElementTypes.getImage(element);
511
			}
512
		};
513
		return new PropertySemanticParser<Type>(lookupSuite, Type.class,
514
				imageProvider);
483
	}
515
	}
484
516
485
	/**
517
	/**
Lines 523-529 Link Here
523
	 * @generated
555
	 * @generated
524
	 */
556
	 */
525
	protected IParser createOperation_3009Parser() {
557
	protected IParser createOperation_3009Parser() {
526
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
558
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
559
				.getNamedElement_Name() };
527
		MessageFormatParser parser = new MessageFormatParser(features);
560
		MessageFormatParser parser = new MessageFormatParser(features);
528
		return parser;
561
		return parser;
529
	}
562
	}
Lines 547-553 Link Here
547
	 * @generated
580
	 * @generated
548
	 */
581
	 */
549
	protected IParser createClass_3010Parser() {
582
	protected IParser createClass_3010Parser() {
550
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
583
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
584
				.getNamedElement_Name() };
551
		MessageFormatParser parser = new MessageFormatParser(features);
585
		MessageFormatParser parser = new MessageFormatParser(features);
552
		return parser;
586
		return parser;
553
	}
587
	}
Lines 593-599 Link Here
593
	 * @generated
627
	 * @generated
594
	 */
628
	 */
595
	protected IParser createPortIsBehavior_5026Parser() {
629
	protected IParser createPortIsBehavior_5026Parser() {
596
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getPort_IsBehavior() };
630
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
631
				.getPort_IsBehavior() };
597
		MessageFormatParser parser = new MessageFormatParser(features);
632
		MessageFormatParser parser = new MessageFormatParser(features);
598
		parser.setViewPattern(" "); //$NON-NLS-1$
633
		parser.setViewPattern(" "); //$NON-NLS-1$
599
		parser.setEditorPattern(" "); //$NON-NLS-1$
634
		parser.setEditorPattern(" "); //$NON-NLS-1$
Lines 607-613 Link Here
607
	private IParser createPortNameParser() {
642
	private IParser createPortNameParser() {
608
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
643
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
609
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
644
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
610
		return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString());
645
		return new SemanticParserAdapter(new PortParser(lookupSuite),
646
				new BasicApplyStrategy(), new PortToString());
611
	}
647
	}
612
648
613
	/**
649
	/**
Lines 718-724 Link Here
718
	 * @generated
754
	 * @generated
719
	 */
755
	 */
720
	protected IParser createPortIsBehavior_5028Parser() {
756
	protected IParser createPortIsBehavior_5028Parser() {
721
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getPort_IsBehavior() };
757
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
758
				.getPort_IsBehavior() };
722
		MessageFormatParser parser = new MessageFormatParser(features);
759
		MessageFormatParser parser = new MessageFormatParser(features);
723
		parser.setViewPattern(" "); //$NON-NLS-1$
760
		parser.setViewPattern(" "); //$NON-NLS-1$
724
		parser.setEditorPattern(" "); //$NON-NLS-1$
761
		parser.setEditorPattern(" "); //$NON-NLS-1$
Lines 745-761 Link Here
745
	 * @generated NOT
782
	 * @generated NOT
746
	 */
783
	 */
747
	protected IParser createSlot_3015Parser() {
784
	protected IParser createSlot_3015Parser() {
748
		return new SemanticParserAdapter(new SlotParser(new SlotLookupSuite()), new BasicApplyStrategy(), new SlotToString.VIEW(), new SlotToString.EDIT()) {
785
		ImageProvider imageProvider = new ImageProvider() {
749
750
			@Override
786
			@Override
751
			public String getPrintString(IAdaptable element, int flags) {
787
			public Image getImage(ENamedElement element) {
752
				String result = super.getPrintString(element, flags);
788
				return UMLElementTypes.getImage(element);
753
				if ("".equals(result)) {
754
					result = "<enter>";
755
				}
756
				return result;
757
			}
789
			}
758
		};
790
		};
791
		return new SlotSemanticParser<StructuralFeature>(new SlotLookupSuite(),
792
				StructuralFeature.class, imageProvider);
759
	}
793
	}
760
794
761
	/**
795
	/**
Lines 777-783 Link Here
777
	 * @generated
811
	 * @generated
778
	 */
812
	 */
779
	protected IParser createProperty_3018Parser() {
813
	protected IParser createProperty_3018Parser() {
780
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
814
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
815
				.getNamedElement_Name() };
781
		MessageFormatParser parser = new MessageFormatParser(features);
816
		MessageFormatParser parser = new MessageFormatParser(features);
782
		return parser;
817
		return parser;
783
	}
818
	}
Lines 801-807 Link Here
801
	 * @generated
836
	 * @generated
802
	 */
837
	 */
803
	protected IParser createOperation_3019Parser() {
838
	protected IParser createOperation_3019Parser() {
804
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
839
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
840
				.getNamedElement_Name() };
805
		MessageFormatParser parser = new MessageFormatParser(features);
841
		MessageFormatParser parser = new MessageFormatParser(features);
806
		return parser;
842
		return parser;
807
	}
843
	}
Lines 825-831 Link Here
825
	 * @generated
861
	 * @generated
826
	 */
862
	 */
827
	protected IParser createClass_3020Parser() {
863
	protected IParser createClass_3020Parser() {
828
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
864
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
865
				.getNamedElement_Name() };
829
		MessageFormatParser parser = new MessageFormatParser(features);
866
		MessageFormatParser parser = new MessageFormatParser(features);
830
		return parser;
867
		return parser;
831
	}
868
	}
Lines 1003-1009 Link Here
1003
	 * @generated
1040
	 * @generated
1004
	 */
1041
	 */
1005
	protected IParser createDependencyName_6001Parser() {
1042
	protected IParser createDependencyName_6001Parser() {
1006
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1043
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1044
				.getNamedElement_Name() };
1007
		MessageFormatParser parser = new MessageFormatParser(features);
1045
		MessageFormatParser parser = new MessageFormatParser(features);
1008
		return parser;
1046
		return parser;
1009
	}
1047
	}
Lines 1021-1032 Link Here
1021
	private IParser associationName_6002Parser;
1059
	private IParser associationName_6002Parser;
1022
1060
1023
	/**
1061
	/**
1024
	 * @NOT-GENERATED
1062
	 * @NOT-GENERATED Different view's but shared common edit.
1025
	 * Different view's but shared common edit.
1026
	 */
1063
	 */
1027
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
1064
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
1028
		LookupSuite lookupSuite = getAssociationLookupSuite();
1065
		LookupSuite lookupSuite = getAssociationLookupSuite();
1029
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
1066
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
1067
				new AssociationEndApplyStrategy(sourceNotTarget),
1068
				new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
1030
				new AssociationEndToString.EDIT(sourceNotTarget));
1069
				new AssociationEndToString.EDIT(sourceNotTarget));
1031
	}
1070
	}
1032
1071
Lines 1035-1041 Link Here
1035
	 */
1074
	 */
1036
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
1075
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
1037
		LookupSuite lookupSuite = getAssociationLookupSuite();
1076
		LookupSuite lookupSuite = getAssociationLookupSuite();
1038
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
1077
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
1078
				new AssociationEndApplyStrategy(sourceNotTarget),
1079
				new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
1039
				new AssociationEndToString.EDIT(sourceNotTarget));
1080
				new AssociationEndToString.EDIT(sourceNotTarget));
1040
	}
1081
	}
1041
1082
Lines 1044-1050 Link Here
1044
	 */
1085
	 */
1045
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
1086
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
1046
		LookupSuite lookupSuite = getAssociationLookupSuite();
1087
		LookupSuite lookupSuite = getAssociationLookupSuite();
1047
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
1088
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
1089
				new AssociationEndApplyStrategy(sourceNotTarget),
1090
				new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
1048
				new AssociationEndToString.EDIT(sourceNotTarget));
1091
				new AssociationEndToString.EDIT(sourceNotTarget));
1049
	}
1092
	}
1050
1093
Lines 1081-1087 Link Here
1081
	 */
1124
	 */
1082
	protected IParser createAssociationName_6002Parser() {
1125
	protected IParser createAssociationName_6002Parser() {
1083
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
1126
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
1084
		return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT());
1127
		return new ParserAdapter(new AssociationNameParser(lookupSuite),
1128
				new BasicApplyStrategy(), new AssociationNameToString.VIEW(),
1129
				new AssociationNameToString.EDIT());
1085
	}
1130
	}
1086
1131
1087
	/**
1132
	/**
Lines 1379-1388 Link Here
1379
1424
1380
	/**
1425
	/**
1381
	 * Utility method that consults ParserService
1426
	 * Utility method that consults ParserService
1427
	 * 
1382
	 * @generated
1428
	 * @generated
1383
	 */
1429
	 */
1384
	public static IParser getParser(IElementType type, EObject object, String parserHint) {
1430
	public static IParser getParser(IElementType type, EObject object,
1385
		return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
1431
			String parserHint) {
1432
		return ParserService.getInstance().getParser(
1433
				new HintAdapter(type, object, parserHint));
1386
	}
1434
	}
1387
1435
1388
	/**
1436
	/**
(-)custom-src/org/eclipse/uml2/diagram/profile/parser/property/PropertyParserProvider.java (-20 / +33 lines)
Lines 13-27 Link Here
13
package org.eclipse.uml2.diagram.profile.parser.property;
13
package org.eclipse.uml2.diagram.profile.parser.property;
14
14
15
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.core.runtime.IAdaptable;
16
import org.eclipse.emf.ecore.ENamedElement;
16
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
17
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
17
import org.eclipse.gmf.runtime.common.core.service.IOperation;
18
import org.eclipse.gmf.runtime.common.core.service.IOperation;
18
import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
19
import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
19
import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
20
import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
20
import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
21
import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
21
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
22
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
22
import org.eclipse.uml2.diagram.common.parser.property.PropertyParser;
23
import org.eclipse.swt.graphics.Image;
24
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
25
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
23
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
26
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
24
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
25
import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups;
27
import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups;
26
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
28
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
27
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
29
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
Lines 31-75 Link Here
31
import org.eclipse.uml2.uml.Type;
33
import org.eclipse.uml2.uml.Type;
32
import org.eclipse.uml2.uml.UMLPackage;
34
import org.eclipse.uml2.uml.UMLPackage;
33
35
34
36
public class PropertyParserProvider extends AbstractProvider implements
35
public class PropertyParserProvider extends AbstractProvider implements IParserProvider {
37
		IParserProvider {
36
	private IParser myParser;
38
	private IParser myParser;
37
39
38
	public IParser getParser(IAdaptable hint) {
40
	public IParser getParser(IAdaptable hint) {
39
		if (myParser == null){
41
		if (myParser == null) {
40
			myParser = createParser();
42
			myParser = createParser();
41
		}
43
		}
42
		return myParser;
44
		return myParser;
43
	}
45
	}
44
	
46
45
	private IParser createParser(){
47
	private IParser createParser() {
46
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
48
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
47
		lookupSuite.addLookup(Type.class, new OCLLookup<Type>(UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement())));
49
		lookupSuite.addLookup(Type.class, new OCLLookup<Type>(UMLOCLFactory
48
		return new SemanticParserAdapter(
50
				.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP,
49
				new PropertyParser(lookupSuite), 
51
						UMLPackage.eINSTANCE.getNamedElement())));
50
				new BasicApplyStrategy(), 
52
51
				new StereotypePropertyToString()
53
		ImageProvider imageProvider = new ImageProvider() {
52
		);
54
			@Override
55
			public Image getImage(ENamedElement element) {
56
				return UMLElementTypes.getImage(element);
57
			}
58
		};
59
		return new PropertySemanticParser<Type>(lookupSuite, Type.class,
60
				imageProvider, new BasicApplyStrategy(),
61
				new StereotypePropertyToString());
53
	}
62
	}
54
63
55
	public boolean provides(IOperation operation) {
64
	public boolean provides(IOperation operation) {
56
		boolean result = false;
65
		boolean result = false;
57
		if (operation instanceof GetParserOperation) {
66
		if (operation instanceof GetParserOperation) {
58
			IAdaptable hint = ((GetParserOperation) operation).getHint();
67
			IAdaptable hint = ((GetParserOperation) operation).getHint();
59
			result = (hint != null) && (hint.getAdapter(IElementType.class) == UMLElementTypes.Property_3001); 
68
			result = (hint != null)
69
					&& (hint.getAdapter(IElementType.class) == UMLElementTypes.Property_3001);
60
		}
70
		}
61
		return result;
71
		return result;
62
	}
72
	}
63
	
73
64
	private static class StereotypePropertyToString extends org.eclipse.uml2.diagram.common.parser.property.PropertyToString.VIEW {
74
	private static class StereotypePropertyToString
75
			extends
76
			org.eclipse.uml2.diagram.common.parser.property.PropertyToString.VIEW {
65
		@Override
77
		@Override
66
		protected void appendIsDerived(StringBuffer result, Property property) {
78
		protected void appendIsDerived(StringBuffer result, Property property) {
67
			//derived properties do not make sense for stereotypes
79
			// derived properties do not make sense for stereotypes
68
		}
80
		}
69
		
81
70
		@Override
82
		@Override
71
		protected void appendPropertyModifiers(StringBuffer result, Property property) {
83
		protected void appendPropertyModifiers(StringBuffer result,
72
			//properties modifiers do not make sense for stereotypes
84
				Property property) {
85
			// properties modifiers do not make sense for stereotypes
73
		}
86
		}
74
	}
87
	}
75
}
88
}
(-)src/org/eclipse/uml2/diagram/parser/lookup/Lookup.java (-2 / +3 lines)
Lines 18-23 Link Here
18
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
18
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
19
19
20
public interface Lookup<T> {
20
public interface Lookup<T> {
21
	public T lookup(String name, EObject context);
21
	T lookup(String name, EObject context);
22
	public List<IElementType> getResolutionElementTypes(); 
22
	List<IElementType> getResolutionElementTypes(); 
23
	List<T> computeScope(EObject context);
23
}
24
}
(-)src/org/eclipse/uml2/diagram/parser/lookup/LookupSuite.java (+5 lines)
Lines 28-33 Link Here
28
		public List getResolutionElementTypes() {
28
		public List getResolutionElementTypes() {
29
			return Collections.emptyList();
29
			return Collections.emptyList();
30
		}
30
		}
31
32
		@Override
33
		public List computeScope(EObject context) { 
34
			return Collections.emptyList();
35
		}
31
	};
36
	};
32
	
37
	
33
	public static final LookupSuite NULL_SUITE = new LookupSuite(){
38
	public static final LookupSuite NULL_SUITE = new LookupSuite(){
(-)src/org/eclipse/uml2/diagram/common/parser/slot/SlotLookupSuite.java (+13 lines)
Lines 1-6 Link Here
1
package org.eclipse.uml2.diagram.common.parser.slot;
1
package org.eclipse.uml2.diagram.common.parser.slot;
2
2
3
import java.util.Collections;
3
import java.util.Collections;
4
import java.util.LinkedList;
4
import java.util.List;
5
import java.util.List;
5
6
6
import org.eclipse.emf.ecore.EObject;
7
import org.eclipse.emf.ecore.EObject;
Lines 40-44 Link Here
40
			}
41
			}
41
			return null;
42
			return null;
42
		}
43
		}
44
45
		@Override
46
		public List<StructuralFeature> computeScope(EObject context) {
47
			List<StructuralFeature> result = new LinkedList<StructuralFeature>();
48
			InstanceSpecification is = ((Slot) context).getOwningInstance();
49
			for (Classifier c : is.getClassifiers()) {
50
				for (Property attr : c.getAllAttributes()) {
51
					result.add(attr);
52
				}
53
			}
54
			return result;
55
		}
43
	}
56
	}
44
}
57
}
(-)src/org/eclipse/uml2/diagram/common/parser/property/PropertySemanticParser.java (-7 / +149 lines)
Lines 11-34 Link Here
11
 */
11
 */
12
package org.eclipse.uml2.diagram.common.parser.property;
12
package org.eclipse.uml2.diagram.common.parser.property;
13
13
14
import java.util.Collections;
15
import java.util.Comparator;
16
import java.util.HashMap;
17
import java.util.LinkedList;
18
import java.util.List;
19
import java.util.Map;
20
14
import org.eclipse.core.runtime.IAdaptable;
21
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.emf.ecore.EObject;
22
import org.eclipse.emf.ecore.EObject;
23
import org.eclipse.jface.contentassist.IContentAssistSubjectControl;
24
import org.eclipse.jface.text.contentassist.CompletionProposal;
25
import org.eclipse.jface.text.contentassist.ICompletionProposal;
26
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
27
import org.eclipse.swt.graphics.Image;
28
import org.eclipse.swt.graphics.Point;
29
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
30
import org.eclipse.uml2.diagram.parser.ApplyStrategy;
16
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
31
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
32
import org.eclipse.uml2.diagram.parser.ExternalToString;
17
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
33
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
34
import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences;
35
import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor;
36
import org.eclipse.uml2.diagram.parser.lookup.Lookup;
18
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
37
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
38
import org.eclipse.uml2.uml.NamedElement;
39
40
public class PropertySemanticParser<T extends NamedElement> extends
41
		SemanticParserAdapter {
42
	private final Lookup<T> myLookup;
43
	private final ImageProvider myImageProvider;
44
	private final CompletionProcessor myCompletionProcessor = new CompletionProcessor();
45
46
	public PropertySemanticParser(LookupSuiteImpl lookupSuite,
47
			Class<T> propertyClass, ImageProvider imageProvider) {
48
		super(new PropertyParser(lookupSuite), new BasicApplyStrategy(),
49
				new PropertyToString.VIEW(), new PropertyToString.EDIT());
50
		myLookup = lookupSuite.getLookup(propertyClass);
51
		myImageProvider = imageProvider;
52
	}
19
53
54
	public PropertySemanticParser(LookupSuiteImpl lookupSuite,
55
			Class<T> propertyClass, ImageProvider imageProvider,
56
			ApplyStrategy applier, WithReferences view, ExternalToString edit) {
57
		super(new PropertyParser(lookupSuite), applier, view, edit);
58
		myLookup = lookupSuite.getLookup(propertyClass);
59
		myImageProvider = imageProvider;
60
	}
20
61
21
public class PropertySemanticParser extends SemanticParserAdapter {
62
	public PropertySemanticParser(LookupSuiteImpl lookupSuite,
22
	protected final LookupSuiteImpl myLookupSuite;
63
			Class<T> propertyClass, ImageProvider imageProvider,
23
	
64
			ApplyStrategy applier, WithReferences viewAndEdit) {
24
	public PropertySemanticParser(LookupSuiteImpl lookupSuite) {
65
		super(new PropertyParser(lookupSuite), applier, viewAndEdit);
25
		super(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT());
66
		myLookup = lookupSuite.getLookup(propertyClass);
26
		myLookupSuite = lookupSuite;
67
		myImageProvider = imageProvider;
27
	}
68
	}
28
69
29
	protected EObject doAdapt(IAdaptable adaptable) {
70
	protected EObject doAdapt(IAdaptable adaptable) {
30
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
71
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
31
		return element;
72
		return element;
32
	}
73
	}
33
	
74
75
	public boolean areSemanticElementsAffected(EObject listener,
76
			Object notification) {
77
		return isAffectingEvent(notification);
78
	}
79
80
	public List getSemanticElementsBeingParsed(EObject element) {
81
		return isValidElement(element) ? getViewToStringImpl()
82
				.getAdditionalReferencedElements(element)
83
				: Collections.EMPTY_LIST;
84
	}
85
86
	private ExternalToString.WithReferences getViewToStringImpl() {
87
		return (ExternalToString.WithReferences) getViewToString();
88
	}
89
90
	public IContentAssistProcessor getCompletionProcessor(IAdaptable element) {
91
		myCompletionProcessor.setContext(doAdapt(element));
92
		return myCompletionProcessor;
93
	}
94
95
	private class CompletionProcessor extends EObjectCompletionProcessor {
96
		private final Comparator<T> myComparator = new Comparator<T>() {
97
			@Override
98
			public int compare(T first, T second) {
99
				return first.getName().compareTo(second.getName());
100
			}
101
		};
102
103
		private Map<String, T> myTypeMap = new HashMap<String, T>();
104
105
		@Override
106
		protected Iterable<String> computeContextProposals(EObject context) {
107
			return computeLookupContextProposals(context);
108
		}
109
110
		private Iterable<String> computeLookupContextProposals(EObject context) {
111
			List<String> resultList = new LinkedList<String>();
112
113
			List<T> types = myLookup.computeScope(context);
114
115
			Collections.sort(types, myComparator);
116
117
			String name;
118
			for (T type : types) {
119
				name = type.getName();
120
				if (name != null) {
121
					resultList.add(name);
122
					myTypeMap.put(name, type);
123
				}
124
			}
125
126
			return resultList;
127
		}
128
129
		public ICompletionProposal[] computeCompletionProposals(
130
				IContentAssistSubjectControl subjectControl, int offset) {
131
			if (myContext == null) {
132
				return NO_PROPOSALS;
133
			}
134
135
			Point selection = subjectControl.getSelectedRange();
136
			int selectionStart = selection.x;
137
			int selectionLength = selection.y;
138
			String prefix = getPrefix(subjectControl, selectionStart);
139
			String proposalPrefix = getProposalPrefix(prefix);
140
141
			int colonIndex = proposalPrefix.indexOf(':');
142
143
			if (colonIndex == -1) {
144
				return NO_PROPOSALS;
145
			} else {
146
				proposalPrefix = proposalPrefix.substring(colonIndex + 1);
147
148
				// allow multiple spaces after colon
149
				// to make reedit handy
150
				while (proposalPrefix.startsWith(" ")) {
151
					proposalPrefix = proposalPrefix.substring(1);
152
				}
153
			}
154
155
			proposalPrefix = proposalPrefix.toLowerCase();
156
			int prefixLength = proposalPrefix.length();
157
158
			List<ICompletionProposal> result = new LinkedList<ICompletionProposal>();
159
			for (String next : computeContextProposals(myContext)) {
160
				if (next == null
161
						|| !next.toLowerCase().startsWith(proposalPrefix)) {
162
					continue;
163
				}
164
				Image img = myImageProvider.getImage(myTypeMap.get(next)
165
						.eClass());
166
167
				ICompletionProposal proposal = new CompletionProposal(next,
168
						selectionStart - prefixLength, selectionLength
169
								+ prefixLength, next.length(), img, next, null,
170
						null);
171
				result.add(proposal);
172
			}
173
			return result.toArray(NO_PROPOSALS);
174
		}
175
	}
34
}
176
}
(-)src/org/eclipse/uml2/diagram/common/parser/operation/OperationSemanticParser.java (-8 / +134 lines)
Lines 11-35 Link Here
11
 */
11
 */
12
package org.eclipse.uml2.diagram.common.parser.operation;
12
package org.eclipse.uml2.diagram.common.parser.operation;
13
13
14
import java.util.Collections;
15
import java.util.Comparator;
16
import java.util.HashMap;
17
import java.util.LinkedList;
18
import java.util.List;
19
import java.util.Map;
20
14
import org.eclipse.core.runtime.IAdaptable;
21
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.emf.ecore.EObject;
22
import org.eclipse.emf.ecore.EObject;
23
import org.eclipse.jface.contentassist.IContentAssistSubjectControl;
24
import org.eclipse.jface.text.contentassist.CompletionProposal;
25
import org.eclipse.jface.text.contentassist.ICompletionProposal;
26
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
27
import org.eclipse.swt.graphics.Image;
28
import org.eclipse.swt.graphics.Point;
29
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
30
import org.eclipse.uml2.diagram.parser.ApplyStrategy;
16
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
31
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
32
import org.eclipse.uml2.diagram.parser.ExternalToString;
17
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
33
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
34
import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences;
35
import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor;
36
import org.eclipse.uml2.diagram.parser.lookup.Lookup;
18
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
37
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
38
import org.eclipse.uml2.uml.NamedElement;
39
40
public class OperationSemanticParser<T extends NamedElement> extends
41
		SemanticParserAdapter {
42
	private final Lookup<T> myLookup;
43
	private final ImageProvider myImageProvider;
44
	private final CompletionProcessor myCompletionProcessor = new CompletionProcessor();
45
46
	public OperationSemanticParser(LookupSuiteImpl lookupSuite,
47
			Class<T> typeClass, ImageProvider imageProvider) {
48
		super(new OperationParser(lookupSuite), new BasicApplyStrategy(),
49
				new OperationToString.VIEW(), new OperationToString.EDIT());
50
		myLookup = lookupSuite.getLookup(typeClass);
51
		myImageProvider = imageProvider;
52
	}
19
53
54
	public OperationSemanticParser(LookupSuiteImpl lookupSuite,
55
			Class<T> typeClass, ImageProvider imageProvider,
56
			ApplyStrategy applier, WithReferences view, ExternalToString edit) {
57
		super(new OperationParser(lookupSuite), applier, view, edit);
58
		myLookup = lookupSuite.getLookup(typeClass);
59
		myImageProvider = imageProvider;
60
	}
20
61
21
public class OperationSemanticParser extends SemanticParserAdapter {
62
	public OperationSemanticParser(LookupSuiteImpl lookupSuite,
22
	
63
			Class<T> typeClass, ImageProvider imageProvider,
23
	protected final LookupSuiteImpl myLookupSuite;
64
			ApplyStrategy applier, WithReferences viewAndEdit) {
24
	
65
		super(new OperationParser(lookupSuite), applier, viewAndEdit);
25
	public OperationSemanticParser(LookupSuiteImpl lookupSuite) {
66
		myLookup = lookupSuite.getLookup(typeClass);
26
		super(new OperationParser(lookupSuite), new BasicApplyStrategy(), new OperationToString.VIEW(), new OperationToString.EDIT());
67
		myImageProvider = imageProvider;
27
		myLookupSuite = lookupSuite;
28
	}
68
	}
29
69
30
	protected final EObject doAdapt(IAdaptable adaptable) {
70
	protected final EObject doAdapt(IAdaptable adaptable) {
31
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
71
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
32
		return element;
72
		return element;
33
	}
73
	}
34
	
74
75
	public IContentAssistProcessor getCompletionProcessor(IAdaptable element) {  
76
		myCompletionProcessor.setContext(doAdapt(element));
77
		return myCompletionProcessor;
78
	}
79
80
	private class CompletionProcessor extends EObjectCompletionProcessor {
81
		private final Comparator<T> myComparator = new Comparator<T>() {
82
			@Override
83
			public int compare(T first, T second) {
84
				return first.getName().compareTo(second.getName());
85
			}
86
		};
87
88
		private Map<String, T> myTypeMap = new HashMap<String, T>();
89
90
		@Override
91
		protected Iterable<String> computeContextProposals(EObject context) {
92
			return computeLookupContextProposals(context);
93
		}
94
95
		private Iterable<String> computeLookupContextProposals(EObject context) {
96
			List<String> resultList = new LinkedList<String>();
97
98
			List<T> types = myLookup.computeScope(context); 
99
100
			Collections.sort(types, myComparator);
101
102
			String name;
103
			for (T type : types) {
104
				name = type.getName();
105
				if (name != null) {
106
					resultList.add(name);
107
					myTypeMap.put(name, type);
108
				}
109
			}
110
111
			return resultList;
112
		}
113
114
		public ICompletionProposal[] computeCompletionProposals(
115
				IContentAssistSubjectControl subjectControl, int offset) { 
116
			if (myContext == null) {
117
				return NO_PROPOSALS;
118
			}
119
120
			Point selection = subjectControl.getSelectedRange();
121
			int selectionStart = selection.x;
122
			int selectionLength = selection.y;
123
			String prefix = getPrefix(subjectControl, selectionStart);
124
			String proposalPrefix = getProposalPrefix(prefix);
125
 
126
			int colonIndex = proposalPrefix.lastIndexOf(':');
127
128
			if (colonIndex == -1) {
129
				return NO_PROPOSALS;
130
			} else {
131
				proposalPrefix = proposalPrefix.substring(colonIndex + 1);
132
133
				// allow multiple spaces after colon
134
				// to make reedit handy
135
				while (proposalPrefix.startsWith(" ")) {
136
					proposalPrefix = proposalPrefix.substring(1);
137
				}
138
			}
139
140
			proposalPrefix = proposalPrefix.toLowerCase();
141
			int prefixLength = proposalPrefix.length();
142
143
			List<ICompletionProposal> result = new LinkedList<ICompletionProposal>();
144
			for (String next : computeContextProposals(myContext)) {
145
				if (next == null
146
						|| !next.toLowerCase().startsWith(proposalPrefix)) {
147
					continue;
148
				}
149
				Image img = myImageProvider.getImage(myTypeMap.get(next)
150
						.eClass());
151
152
				ICompletionProposal proposal = new CompletionProposal(next,
153
						selectionStart - prefixLength, selectionLength
154
								+ prefixLength, next.length(), img, next, null,
155
						null);
156
				result.add(proposal);
157
			}
158
			return result.toArray(NO_PROPOSALS);
159
		}
160
	}
35
}
161
}
(-)src/org/eclipse/uml2/diagram/common/parser/ImageProvider.java (+8 lines)
Added Link Here
1
package org.eclipse.uml2.diagram.common.parser;
2
3
import org.eclipse.emf.ecore.ENamedElement;
4
import org.eclipse.swt.graphics.Image;
5
6
public interface ImageProvider {
7
	Image getImage(ENamedElement element);
8
}
(-)src/org/eclipse/uml2/diagram/common/parser/slot/SlotSemanticParser.java (+155 lines)
Added Link Here
1
package org.eclipse.uml2.diagram.common.parser.slot;
2
3
import java.util.Collections;
4
import java.util.Comparator;
5
import java.util.HashMap;
6
import java.util.LinkedList;
7
import java.util.List;
8
import java.util.Map;
9
10
import org.eclipse.core.runtime.IAdaptable;
11
import org.eclipse.emf.ecore.EObject;
12
import org.eclipse.jface.contentassist.IContentAssistSubjectControl;
13
import org.eclipse.jface.text.contentassist.CompletionProposal;
14
import org.eclipse.jface.text.contentassist.ICompletionProposal;
15
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.swt.graphics.Point;
18
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
19
import org.eclipse.uml2.diagram.parser.ApplyStrategy;
20
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
21
import org.eclipse.uml2.diagram.parser.ExternalToString;
22
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
23
import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences;
24
import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor;
25
import org.eclipse.uml2.diagram.parser.lookup.Lookup;
26
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
27
import org.eclipse.uml2.uml.NamedElement;
28
29
public class SlotSemanticParser<T extends NamedElement> extends
30
		SemanticParserAdapter {
31
	private final Lookup<T> myLookup;
32
	private final ImageProvider myImageProvider;
33
	private final CompletionProcessor myCompletionProcessor = new CompletionProcessor();
34
35
	public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class<T> typeClass,
36
			ImageProvider imageProvider) {
37
		super(new SlotParser(lookupSuite), new BasicApplyStrategy(),
38
				new SlotToString.VIEW(), new SlotToString.EDIT());
39
		myLookup = lookupSuite.getLookup(typeClass);
40
		myImageProvider = imageProvider;
41
	}
42
43
	public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class<T> typeClass,
44
			ImageProvider imageProvider, ApplyStrategy applier,
45
			WithReferences view, ExternalToString edit) {
46
		super(new SlotParser(lookupSuite), applier, view, edit);
47
		myLookup = lookupSuite.getLookup(typeClass);
48
		myImageProvider = imageProvider;
49
	}
50
51
	public SlotSemanticParser(LookupSuiteImpl lookupSuite, Class<T> typeClass,
52
			ImageProvider imageProvider, ApplyStrategy applier,
53
			WithReferences viewAndEdit) {
54
		super(new SlotParser(lookupSuite), applier, viewAndEdit);
55
		myLookup = lookupSuite.getLookup(typeClass);
56
		myImageProvider = imageProvider;
57
	}
58
59
	protected final EObject doAdapt(IAdaptable adaptable) {
60
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
61
		return element;
62
	}
63
	
64
	@Override
65
	public String getPrintString(IAdaptable element, int flags) {
66
		String result = super.getPrintString(element, flags);
67
		if ("".equals(result)) {
68
			result = "<enter>";
69
		}
70
		return result;
71
	}
72
73
	public IContentAssistProcessor getCompletionProcessor(IAdaptable element) {
74
		myCompletionProcessor.setContext(doAdapt(element));
75
		return myCompletionProcessor;
76
	}
77
78
	private class CompletionProcessor extends EObjectCompletionProcessor {
79
		private final Comparator<T> myComparator = new Comparator<T>() {
80
			@Override
81
			public int compare(T first, T second) {
82
				return first.getName().compareTo(second.getName());
83
			}
84
		};
85
86
		private Map<String, T> myTypeMap = new HashMap<String, T>();
87
88
		@Override
89
		protected Iterable<String> computeContextProposals(EObject context) {
90
			return computeLookupContextProposals(context);
91
		}
92
93
		private Iterable<String> computeLookupContextProposals(EObject context) {
94
			List<String> resultList = new LinkedList<String>();
95
96
			List<T> types = myLookup.computeScope(context);
97
98
			Collections.sort(types, myComparator);
99
100
			String name;
101
			for (T type : types) {
102
				name = type.getName();
103
				if (name != null) {
104
					resultList.add(name);
105
					myTypeMap.put(name, type);
106
				}
107
			}
108
109
			return resultList;
110
		}
111
112
		public ICompletionProposal[] computeCompletionProposals(
113
				IContentAssistSubjectControl subjectControl, int offset) {
114
			if (myContext == null) {
115
				return NO_PROPOSALS;
116
			}
117
118
			Point selection = subjectControl.getSelectedRange();
119
			int selectionStart = selection.x;
120
			int selectionLength = selection.y;
121
			String prefix = getPrefix(subjectControl, selectionStart);
122
			String proposalPrefix = getProposalPrefix(prefix);
123
124
			if (proposalPrefix.contains("=")) {
125
				return NO_PROPOSALS;
126
			}
127
			
128
			// allow multiple spaces after colon
129
			// to make reedit handy
130
			while (proposalPrefix.startsWith(" ")) {
131
				proposalPrefix = proposalPrefix.substring(1);
132
			}
133
134
			proposalPrefix = proposalPrefix.toLowerCase();
135
			int prefixLength = proposalPrefix.length();
136
137
			List<ICompletionProposal> result = new LinkedList<ICompletionProposal>();
138
			for (String next : computeContextProposals(myContext)) {
139
				if (next == null
140
						|| !next.toLowerCase().startsWith(proposalPrefix)) {
141
					continue;
142
				}
143
				Image img = myImageProvider.getImage(myTypeMap.get(next)
144
						.eClass());
145
146
				ICompletionProposal proposal = new CompletionProposal(next,
147
						selectionStart - prefixLength, selectionLength
148
								+ prefixLength, next.length(), img, next, null,
149
						null);
150
				result.add(proposal);
151
			}
152
			return result.toArray(NO_PROPOSALS);
153
		}
154
	}
155
}
(-)src/org/eclipse/uml2/diagram/common/parser/instance/InstanceSpecificationSemanticParser.java (+158 lines)
Added Link Here
1
package org.eclipse.uml2.diagram.common.parser.instance;
2
3
import java.util.Collections;
4
import java.util.Comparator;
5
import java.util.HashMap;
6
import java.util.LinkedList;
7
import java.util.List;
8
import java.util.Map;
9
10
import org.eclipse.core.runtime.IAdaptable;
11
import org.eclipse.emf.ecore.EObject;
12
import org.eclipse.jface.contentassist.IContentAssistSubjectControl;
13
import org.eclipse.jface.text.contentassist.CompletionProposal;
14
import org.eclipse.jface.text.contentassist.ICompletionProposal;
15
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.swt.graphics.Point;
18
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
19
import org.eclipse.uml2.diagram.parser.ApplyStrategy;
20
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
21
import org.eclipse.uml2.diagram.parser.ExternalToString;
22
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
23
import org.eclipse.uml2.diagram.parser.ExternalToString.WithReferences;
24
import org.eclipse.uml2.diagram.parser.assist.EObjectCompletionProcessor;
25
import org.eclipse.uml2.diagram.parser.lookup.Lookup;
26
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
27
import org.eclipse.uml2.uml.Classifier;
28
import org.eclipse.uml2.uml.InstanceSpecification;
29
import org.eclipse.uml2.uml.NamedElement;
30
31
public class InstanceSpecificationSemanticParser<T extends NamedElement>
32
		extends SemanticParserAdapter {
33
	private final Lookup<T> myLookup;
34
	private final ImageProvider myImageProvider;
35
	private final CompletionProcessor myCompletionProcessor = new CompletionProcessor();
36
37
	public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite,
38
			Class<T> typeClass, ImageProvider imageProvider) {
39
		super(new InstanceSpecificationParser(lookupSuite),
40
				new BasicApplyStrategy(),
41
				new InstanceSpecificationToString.VIEW(),
42
				new InstanceSpecificationToString.EDIT());
43
		myLookup = lookupSuite.getLookup(typeClass);
44
		myImageProvider = imageProvider;
45
	}
46
47
	public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite,
48
			Class<T> typeClass, ImageProvider imageProvider,
49
			ApplyStrategy applier, WithReferences view, ExternalToString edit) {
50
		super(new InstanceSpecificationParser(lookupSuite), applier, view, edit);
51
		myLookup = lookupSuite.getLookup(typeClass);
52
		myImageProvider = imageProvider;
53
	}
54
55
	public InstanceSpecificationSemanticParser(LookupSuiteImpl lookupSuite,
56
			Class<T> typeClass, ImageProvider imageProvider,
57
			ApplyStrategy applier, WithReferences viewAndEdit) {
58
		super(new InstanceSpecificationParser(lookupSuite), applier,
59
				viewAndEdit);
60
		myLookup = lookupSuite.getLookup(typeClass);
61
		myImageProvider = imageProvider;
62
	}
63
64
	protected final EObject doAdapt(IAdaptable adaptable) {
65
		EObject element = (EObject) adaptable.getAdapter(EObject.class);
66
		return element;
67
	}
68
69
	public IContentAssistProcessor getCompletionProcessor(IAdaptable element) {
70
		myCompletionProcessor.setContext(doAdapt(element));
71
		return myCompletionProcessor;
72
	}
73
74
	private class CompletionProcessor extends EObjectCompletionProcessor {
75
		private final Comparator<T> myComparator = new Comparator<T>() {
76
			@Override
77
			public int compare(T first, T second) {
78
				return first.getName().compareTo(second.getName());
79
			}
80
		};
81
82
		private Map<String, T> myTypeMap = new HashMap<String, T>();
83
84
		@Override
85
		protected Iterable<String> computeContextProposals(EObject context) {
86
			return computeLookupContextProposals(context);
87
		}
88
89
		private Iterable<String> computeLookupContextProposals(EObject context) {
90
			List<String> resultList = new LinkedList<String>();
91
92
			List<T> types = myLookup.computeScope(context);
93
94
			Collections.sort(types, myComparator);
95
			
96
			String name;
97
			for (T type : types) {
98
				name = type.getName();
99
				if (name != null) {
100
					resultList.add(name);
101
					myTypeMap.put(name, type);
102
				}
103
			}
104
105
			return resultList;
106
		}
107
108
		public ICompletionProposal[] computeCompletionProposals(
109
				IContentAssistSubjectControl subjectControl, int offset) {
110
			if (myContext == null) {
111
				return NO_PROPOSALS;
112
			}
113
114
			Point selection = subjectControl.getSelectedRange();
115
			int selectionStart = selection.x;
116
			int selectionLength = selection.y;
117
			String prefix = getPrefix(subjectControl, selectionStart);
118
			String proposalPrefix = getProposalPrefix(prefix);
119
 
120
			int colonIndex = proposalPrefix.lastIndexOf(':');
121
			int commaIndex = proposalPrefix.lastIndexOf(',');
122
123
			int startIndex = Math.max(colonIndex, commaIndex);
124
125
			if (startIndex == -1) {
126
				return NO_PROPOSALS;
127
			} else {
128
				proposalPrefix = proposalPrefix.substring(startIndex + 1);
129
130
				// allow multiple spaces after colon or comma
131
				// to make reedit handy
132
				while (proposalPrefix.startsWith(" ")) {
133
					proposalPrefix = proposalPrefix.substring(1);
134
				}
135
			}
136
137
			proposalPrefix = proposalPrefix.toLowerCase();
138
			int prefixLength = proposalPrefix.length();
139
140
			List<ICompletionProposal> result = new LinkedList<ICompletionProposal>();
141
			for (String next : computeContextProposals(myContext)) {
142
				if (next == null
143
						|| !next.toLowerCase().startsWith(proposalPrefix)) {
144
					continue;
145
				}
146
				Image img = myImageProvider.getImage(myTypeMap.get(next)
147
						.eClass());
148
149
				ICompletionProposal proposal = new CompletionProposal(next,
150
						selectionStart - prefixLength, selectionLength
151
								+ prefixLength, next.length(), img, next, null,
152
						null);
153
				result.add(proposal);
154
			}
155
			return result.toArray(NO_PROPOSALS);
156
		}
157
	}
158
}
(-)src/org/eclipse/uml2/diagram/deploy/providers/UMLParserProvider.java (-26 / +56 lines)
Lines 2-7 Link Here
2
2
3
import org.eclipse.core.runtime.IAdaptable;
3
import org.eclipse.core.runtime.IAdaptable;
4
import org.eclipse.emf.ecore.EAttribute;
4
import org.eclipse.emf.ecore.EAttribute;
5
import org.eclipse.emf.ecore.ENamedElement;
5
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.IOperation;
8
import org.eclipse.gmf.runtime.common.core.service.IOperation;
Lines 12-20 Link Here
12
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.notation.View;
15
import org.eclipse.gmf.runtime.notation.View;
16
import org.eclipse.swt.graphics.Image;
17
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
15
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
18
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
16
import org.eclipse.uml2.diagram.common.parser.property.PropertyParser;
19
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
17
import org.eclipse.uml2.diagram.common.parser.property.PropertyToString;
18
import org.eclipse.uml2.diagram.common.parser.stereotype.DeploymentAppliedStereotypeParser;
20
import org.eclipse.uml2.diagram.common.parser.stereotype.DeploymentAppliedStereotypeParser;
19
import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser;
21
import org.eclipse.uml2.diagram.common.parser.stereotype.PackageAppliedStereotypeParser;
20
import org.eclipse.uml2.diagram.deploy.edit.parts.Artifact3EditPart;
22
import org.eclipse.uml2.diagram.deploy.edit.parts.Artifact3EditPart;
Lines 52-59 Link Here
52
import org.eclipse.uml2.diagram.deploy.expressions.UMLOCLFactory;
54
import org.eclipse.uml2.diagram.deploy.expressions.UMLOCLFactory;
53
import org.eclipse.uml2.diagram.deploy.parsers.MessageFormatParser;
55
import org.eclipse.uml2.diagram.deploy.parsers.MessageFormatParser;
54
import org.eclipse.uml2.diagram.deploy.part.UMLVisualIDRegistry;
56
import org.eclipse.uml2.diagram.deploy.part.UMLVisualIDRegistry;
55
import org.eclipse.uml2.diagram.parser.BasicApplyStrategy;
56
import org.eclipse.uml2.diagram.parser.SemanticParserAdapter;
57
import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups;
57
import org.eclipse.uml2.diagram.parser.lookup.DefaultOclLookups;
58
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
58
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
59
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
59
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
Lines 63-69 Link Here
63
/**
63
/**
64
 * @generated
64
 * @generated
65
 */
65
 */
66
public class UMLParserProvider extends AbstractProvider implements IParserProvider {
66
public class UMLParserProvider extends AbstractProvider implements
67
		IParserProvider {
67
68
68
	/**
69
	/**
69
	 * @NOT-GENERATED
70
	 * @NOT-GENERATED
Lines 93-99 Link Here
93
	 * @generated
94
	 * @generated
94
	 */
95
	 */
95
	protected IParser createPackageName_5001Parser() {
96
	protected IParser createPackageName_5001Parser() {
96
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
97
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
98
				.getNamedElement_Name() };
97
		MessageFormatParser parser = new MessageFormatParser(features);
99
		MessageFormatParser parser = new MessageFormatParser(features);
98
		return parser;
100
		return parser;
99
	}
101
	}
Lines 132-138 Link Here
132
	 * @generated
134
	 * @generated
133
	 */
135
	 */
134
	protected IParser createDeviceName_5002Parser() {
136
	protected IParser createDeviceName_5002Parser() {
135
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
137
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
138
				.getNamedElement_Name() };
136
		MessageFormatParser parser = new MessageFormatParser(features);
139
		MessageFormatParser parser = new MessageFormatParser(features);
137
		return parser;
140
		return parser;
138
	}
141
	}
Lines 171-177 Link Here
171
	 * @generated
174
	 * @generated
172
	 */
175
	 */
173
	protected IParser createNodeName_5003Parser() {
176
	protected IParser createNodeName_5003Parser() {
174
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
177
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
178
				.getNamedElement_Name() };
175
		MessageFormatParser parser = new MessageFormatParser(features);
179
		MessageFormatParser parser = new MessageFormatParser(features);
176
		return parser;
180
		return parser;
177
	}
181
	}
Lines 210-216 Link Here
210
	 * @generated
214
	 * @generated
211
	 */
215
	 */
212
	protected IParser createExecutionEnvironmentName_5004Parser() {
216
	protected IParser createExecutionEnvironmentName_5004Parser() {
213
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
217
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
218
				.getNamedElement_Name() };
214
		MessageFormatParser parser = new MessageFormatParser(features);
219
		MessageFormatParser parser = new MessageFormatParser(features);
215
		return parser;
220
		return parser;
216
	}
221
	}
Lines 249-255 Link Here
249
	 * @generated
254
	 * @generated
250
	 */
255
	 */
251
	protected IParser createArtifactFileName_5005Parser() {
256
	protected IParser createArtifactFileName_5005Parser() {
252
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() };
257
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
258
				.getArtifact_FileName() };
253
		MessageFormatParser parser = new MessageFormatParser(features);
259
		MessageFormatParser parser = new MessageFormatParser(features);
254
		return parser;
260
		return parser;
255
	}
261
	}
Lines 288-294 Link Here
288
	 * @generated
294
	 * @generated
289
	 */
295
	 */
290
	protected IParser createDeploymentSpecificationName_5006Parser() {
296
	protected IParser createDeploymentSpecificationName_5006Parser() {
291
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
297
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
298
				.getNamedElement_Name() };
292
		MessageFormatParser parser = new MessageFormatParser(features);
299
		MessageFormatParser parser = new MessageFormatParser(features);
293
		return parser;
300
		return parser;
294
	}
301
	}
Lines 327-333 Link Here
327
	 * @generated
334
	 * @generated
328
	 */
335
	 */
329
	protected IParser createCommentBody_5024Parser() {
336
	protected IParser createCommentBody_5024Parser() {
330
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() };
337
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
338
				.getComment_Body() };
331
		MessageFormatParser parser = new MessageFormatParser(features);
339
		MessageFormatParser parser = new MessageFormatParser(features);
332
		return parser;
340
		return parser;
333
	}
341
	}
Lines 373-379 Link Here
373
	 * @generated
381
	 * @generated
374
	 */
382
	 */
375
	protected IParser createDeviceName_5010Parser() {
383
	protected IParser createDeviceName_5010Parser() {
376
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
384
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
385
				.getNamedElement_Name() };
377
		MessageFormatParser parser = new MessageFormatParser(features);
386
		MessageFormatParser parser = new MessageFormatParser(features);
378
		return parser;
387
		return parser;
379
	}
388
	}
Lines 412-418 Link Here
412
	 * @generated
421
	 * @generated
413
	 */
422
	 */
414
	protected IParser createArtifactFileName_5007Parser() {
423
	protected IParser createArtifactFileName_5007Parser() {
415
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() };
424
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
425
				.getArtifact_FileName() };
416
		MessageFormatParser parser = new MessageFormatParser(features);
426
		MessageFormatParser parser = new MessageFormatParser(features);
417
		return parser;
427
		return parser;
418
	}
428
	}
Lines 451-457 Link Here
451
	 * @generated
461
	 * @generated
452
	 */
462
	 */
453
	protected IParser createArtifactFileName_5011Parser() {
463
	protected IParser createArtifactFileName_5011Parser() {
454
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() };
464
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
465
				.getArtifact_FileName() };
455
		MessageFormatParser parser = new MessageFormatParser(features);
466
		MessageFormatParser parser = new MessageFormatParser(features);
456
		return parser;
467
		return parser;
457
	}
468
	}
Lines 490-496 Link Here
490
	 * @generated
501
	 * @generated
491
	 */
502
	 */
492
	protected IParser createDeploymentSpecificationName_5012Parser() {
503
	protected IParser createDeploymentSpecificationName_5012Parser() {
493
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
504
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
505
				.getNamedElement_Name() };
494
		MessageFormatParser parser = new MessageFormatParser(features);
506
		MessageFormatParser parser = new MessageFormatParser(features);
495
		return parser;
507
		return parser;
496
	}
508
	}
Lines 529-535 Link Here
529
	 * @generated
541
	 * @generated
530
	 */
542
	 */
531
	protected IParser createExecutionEnvironmentName_5008Parser() {
543
	protected IParser createExecutionEnvironmentName_5008Parser() {
532
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
544
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
545
				.getNamedElement_Name() };
533
		MessageFormatParser parser = new MessageFormatParser(features);
546
		MessageFormatParser parser = new MessageFormatParser(features);
534
		return parser;
547
		return parser;
535
	}
548
	}
Lines 568-574 Link Here
568
	 * @generated
581
	 * @generated
569
	 */
582
	 */
570
	protected IParser createArtifact_3006Parser() {
583
	protected IParser createArtifact_3006Parser() {
571
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getArtifact_FileName() };
584
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
585
				.getArtifact_FileName() };
572
		MessageFormatParser parser = new MessageFormatParser(features);
586
		MessageFormatParser parser = new MessageFormatParser(features);
573
		return parser;
587
		return parser;
574
	}
588
	}
Lines 592-598 Link Here
592
	 * @generated
606
	 * @generated
593
	 */
607
	 */
594
	protected IParser createNodeName_5009Parser() {
608
	protected IParser createNodeName_5009Parser() {
595
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
609
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
610
				.getNamedElement_Name() };
596
		MessageFormatParser parser = new MessageFormatParser(features);
611
		MessageFormatParser parser = new MessageFormatParser(features);
597
		return parser;
612
		return parser;
598
	}
613
	}
Lines 640-646 Link Here
640
	private IParser createPropertyParser() {
655
	private IParser createPropertyParser() {
641
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
656
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
642
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
657
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
643
		return new SemanticParserAdapter(new PropertyParser(lookupSuite), new BasicApplyStrategy(), new PropertyToString.VIEW(), new PropertyToString.EDIT());
658
659
		ImageProvider imageProvider = new ImageProvider() {
660
			@Override
661
			public Image getImage(ENamedElement element) {
662
				return UMLElementTypes.getImage(element);
663
			}
664
		};
665
		return new PropertySemanticParser<Type>(lookupSuite, Type.class,
666
				imageProvider);
644
	}
667
	}
645
668
646
	/**
669
	/**
Lines 662-668 Link Here
662
	 * @generated
685
	 * @generated
663
	 */
686
	 */
664
	protected IParser createDeploymentName_6001Parser() {
687
	protected IParser createDeploymentName_6001Parser() {
665
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
688
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
689
				.getNamedElement_Name() };
666
		MessageFormatParser parser = new MessageFormatParser(features);
690
		MessageFormatParser parser = new MessageFormatParser(features);
667
		parser.setViewPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$
691
		parser.setViewPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$
668
		parser.setEditorPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$
692
		parser.setEditorPattern("\u00ABdeploy\u00BB"); //$NON-NLS-1$
Lines 689-695 Link Here
689
	 * @generated
713
	 * @generated
690
	 */
714
	 */
691
	protected IParser createManifestationName_6002Parser() {
715
	protected IParser createManifestationName_6002Parser() {
692
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
716
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
717
				.getNamedElement_Name() };
693
		MessageFormatParser parser = new MessageFormatParser(features);
718
		MessageFormatParser parser = new MessageFormatParser(features);
694
		parser.setViewPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$
719
		parser.setViewPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$
695
		parser.setEditorPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$
720
		parser.setEditorPattern("\u00ABmanifest\u00BB"); //$NON-NLS-1$
Lines 716-722 Link Here
716
	 * @generated
741
	 * @generated
717
	 */
742
	 */
718
	protected IParser createCommunicationPathName_6003Parser() {
743
	protected IParser createCommunicationPathName_6003Parser() {
719
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
744
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
745
				.getNamedElement_Name() };
720
		MessageFormatParser parser = new MessageFormatParser(features);
746
		MessageFormatParser parser = new MessageFormatParser(features);
721
		return parser;
747
		return parser;
722
	}
748
	}
Lines 740-746 Link Here
740
	 * @generated
766
	 * @generated
741
	 */
767
	 */
742
	protected IParser createDependencyName_6004Parser() {
768
	protected IParser createDependencyName_6004Parser() {
743
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
769
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
770
				.getNamedElement_Name() };
744
		MessageFormatParser parser = new MessageFormatParser(features);
771
		MessageFormatParser parser = new MessageFormatParser(features);
745
		return parser;
772
		return parser;
746
	}
773
	}
Lines 820-829 Link Here
820
847
821
	/**
848
	/**
822
	 * Utility method that consults ParserService
849
	 * Utility method that consults ParserService
850
	 * 
823
	 * @generated
851
	 * @generated
824
	 */
852
	 */
825
	public static IParser getParser(IElementType type, EObject object, String parserHint) {
853
	public static IParser getParser(IElementType type, EObject object,
826
		return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
854
			String parserHint) {
855
		return ParserService.getInstance().getParser(
856
				new HintAdapter(type, object, parserHint));
827
	}
857
	}
828
858
829
	/**
859
	/**
(-)src/org/eclipse/uml2/diagram/clazz/providers/UMLParserProvider.java (-60 / +130 lines)
Lines 2-7 Link Here
2
2
3
import org.eclipse.core.runtime.IAdaptable;
3
import org.eclipse.core.runtime.IAdaptable;
4
import org.eclipse.emf.ecore.EAttribute;
4
import org.eclipse.emf.ecore.EAttribute;
5
import org.eclipse.emf.ecore.ENamedElement;
5
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.emf.ecore.EObject;
6
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
7
import org.eclipse.gmf.runtime.common.core.service.IOperation;
8
import org.eclipse.gmf.runtime.common.core.service.IOperation;
Lines 12-17 Link Here
12
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
13
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
14
import org.eclipse.gmf.runtime.notation.View;
15
import org.eclipse.gmf.runtime.notation.View;
16
import org.eclipse.swt.graphics.Image;
15
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassEditPart;
17
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassEditPart;
16
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassNameEditPart;
18
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassNameEditPart;
17
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassStereotypeEditPart;
19
import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassStereotypeEditPart;
Lines 107-112 Link Here
107
import org.eclipse.uml2.diagram.clazz.parser.dependency.DependencyTypeParser;
109
import org.eclipse.uml2.diagram.clazz.parser.dependency.DependencyTypeParser;
108
import org.eclipse.uml2.diagram.clazz.parsers.MessageFormatParser;
110
import org.eclipse.uml2.diagram.clazz.parsers.MessageFormatParser;
109
import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry;
111
import org.eclipse.uml2.diagram.clazz.part.UMLVisualIDRegistry;
112
import org.eclipse.uml2.diagram.common.parser.ImageProvider;
110
import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser;
113
import org.eclipse.uml2.diagram.common.parser.association.AssociationInstanceParser;
111
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
114
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndApplyStrategy;
112
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
115
import org.eclipse.uml2.diagram.common.parser.association.end.AssociationEndParser;
Lines 114-128 Link Here
114
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser;
117
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameParser;
115
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString;
118
import org.eclipse.uml2.diagram.common.parser.association.name.AssociationNameToString;
116
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
119
import org.eclipse.uml2.diagram.common.parser.imports.ElementImportParser;
117
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationParser;
120
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationSemanticParser;
118
import org.eclipse.uml2.diagram.common.parser.instance.InstanceSpecificationToString;
119
import org.eclipse.uml2.diagram.common.parser.operation.OperationSemanticParser;
121
import org.eclipse.uml2.diagram.common.parser.operation.OperationSemanticParser;
120
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
122
import org.eclipse.uml2.diagram.common.parser.port.PortParser;
121
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
123
import org.eclipse.uml2.diagram.common.parser.port.PortToString;
122
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
124
import org.eclipse.uml2.diagram.common.parser.property.PropertySemanticParser;
123
import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite;
125
import org.eclipse.uml2.diagram.common.parser.slot.SlotLookupSuite;
124
import org.eclipse.uml2.diagram.common.parser.slot.SlotParser;
126
import org.eclipse.uml2.diagram.common.parser.slot.SlotSemanticParser;
125
import org.eclipse.uml2.diagram.common.parser.slot.SlotToString;
126
import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser;
127
import org.eclipse.uml2.diagram.common.parser.stereotype.AppliedStereotypeParser;
127
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
128
import org.eclipse.uml2.diagram.common.parser.stereotype.ClassifierAppliedStereotypeParser;
128
import org.eclipse.uml2.diagram.common.parser.stereotype.DependencyAppliedStereotypeParser;
129
import org.eclipse.uml2.diagram.common.parser.stereotype.DependencyAppliedStereotypeParser;
Lines 136-148 Link Here
136
import org.eclipse.uml2.diagram.parser.lookup.LookupSuite;
137
import org.eclipse.uml2.diagram.parser.lookup.LookupSuite;
137
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
138
import org.eclipse.uml2.diagram.parser.lookup.LookupSuiteImpl;
138
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
139
import org.eclipse.uml2.diagram.parser.lookup.OCLLookup;
140
import org.eclipse.uml2.uml.StructuralFeature;
139
import org.eclipse.uml2.uml.Type;
141
import org.eclipse.uml2.uml.Type;
140
import org.eclipse.uml2.uml.UMLPackage;
142
import org.eclipse.uml2.uml.UMLPackage;
141
143
142
/**
144
/**
143
 * @generated
145
 * @generated
144
 */
146
 */
145
public class UMLParserProvider extends AbstractProvider implements IParserProvider {
147
public class UMLParserProvider extends AbstractProvider implements
148
		IParserProvider {
146
149
147
	/**
150
	/**
148
	 * @generated
151
	 * @generated
Lines 163-169 Link Here
163
	 * @generated
166
	 * @generated
164
	 */
167
	 */
165
	protected IParser createPackageName_5004Parser() {
168
	protected IParser createPackageName_5004Parser() {
166
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
169
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
170
				.getNamedElement_Name() };
167
		MessageFormatParser parser = new MessageFormatParser(features);
171
		MessageFormatParser parser = new MessageFormatParser(features);
168
		return parser;
172
		return parser;
169
	}
173
	}
Lines 187-193 Link Here
187
	 * @generated
191
	 * @generated
188
	 */
192
	 */
189
	protected IParser createClassName_5003Parser() {
193
	protected IParser createClassName_5003Parser() {
190
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
194
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
195
				.getNamedElement_Name() };
191
		MessageFormatParser parser = new MessageFormatParser(features);
196
		MessageFormatParser parser = new MessageFormatParser(features);
192
		return parser;
197
		return parser;
193
	}
198
	}
Lines 226-232 Link Here
226
	 * @generated
231
	 * @generated
227
	 */
232
	 */
228
	protected IParser createAssociationClassName_5009Parser() {
233
	protected IParser createAssociationClassName_5009Parser() {
229
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
234
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
235
				.getNamedElement_Name() };
230
		MessageFormatParser parser = new MessageFormatParser(features);
236
		MessageFormatParser parser = new MessageFormatParser(features);
231
		return parser;
237
		return parser;
232
	}
238
	}
Lines 265-271 Link Here
265
	 * @generated
271
	 * @generated
266
	 */
272
	 */
267
	protected IParser createDataTypeName_5006Parser() {
273
	protected IParser createDataTypeName_5006Parser() {
268
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
274
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
275
				.getNamedElement_Name() };
269
		MessageFormatParser parser = new MessageFormatParser(features);
276
		MessageFormatParser parser = new MessageFormatParser(features);
270
		return parser;
277
		return parser;
271
	}
278
	}
Lines 304-310 Link Here
304
	 * @generated
311
	 * @generated
305
	 */
312
	 */
306
	protected IParser createPrimitiveTypeName_5007Parser() {
313
	protected IParser createPrimitiveTypeName_5007Parser() {
307
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
314
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
315
				.getNamedElement_Name() };
308
		MessageFormatParser parser = new MessageFormatParser(features);
316
		MessageFormatParser parser = new MessageFormatParser(features);
309
		return parser;
317
		return parser;
310
	}
318
	}
Lines 343-349 Link Here
343
	 * @generated
351
	 * @generated
344
	 */
352
	 */
345
	protected IParser createEnumerationName_5005Parser() {
353
	protected IParser createEnumerationName_5005Parser() {
346
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
354
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
355
				.getNamedElement_Name() };
347
		MessageFormatParser parser = new MessageFormatParser(features);
356
		MessageFormatParser parser = new MessageFormatParser(features);
348
		return parser;
357
		return parser;
349
	}
358
	}
Lines 382-388 Link Here
382
	 * @generated
391
	 * @generated
383
	 */
392
	 */
384
	protected IParser createInterfaceName_5012Parser() {
393
	protected IParser createInterfaceName_5012Parser() {
385
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
394
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
395
				.getNamedElement_Name() };
386
		MessageFormatParser parser = new MessageFormatParser(features);
396
		MessageFormatParser parser = new MessageFormatParser(features);
387
		return parser;
397
		return parser;
388
	}
398
	}
Lines 458-464 Link Here
458
	 * @generated
468
	 * @generated
459
	 */
469
	 */
460
	protected IParser createDependencyName_5011Parser() {
470
	protected IParser createDependencyName_5011Parser() {
461
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
471
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
472
				.getNamedElement_Name() };
462
		MessageFormatParser parser = new MessageFormatParser(features);
473
		MessageFormatParser parser = new MessageFormatParser(features);
463
		return parser;
474
		return parser;
464
	}
475
	}
Lines 497-503 Link Here
497
	 * @generated
508
	 * @generated
498
	 */
509
	 */
499
	protected IParser createGeneralizationSetName_5017Parser() {
510
	protected IParser createGeneralizationSetName_5017Parser() {
500
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
511
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
512
				.getNamedElement_Name() };
501
		MessageFormatParser parser = new MessageFormatParser(features);
513
		MessageFormatParser parser = new MessageFormatParser(features);
502
		parser.setViewPattern(":{0}"); //$NON-NLS-1$
514
		parser.setViewPattern(":{0}"); //$NON-NLS-1$
503
		parser.setEditorPattern(":{0}"); //$NON-NLS-1$
515
		parser.setEditorPattern(":{0}"); //$NON-NLS-1$
Lines 524-530 Link Here
524
	 * @generated
536
	 * @generated
525
	 */
537
	 */
526
	protected IParser createInterfaceName_5018Parser() {
538
	protected IParser createInterfaceName_5018Parser() {
527
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
539
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
540
				.getNamedElement_Name() };
528
		MessageFormatParser parser = new MessageFormatParser(features);
541
		MessageFormatParser parser = new MessageFormatParser(features);
529
		return parser;
542
		return parser;
530
	}
543
	}
Lines 563-569 Link Here
563
	 * @generated
576
	 * @generated
564
	 */
577
	 */
565
	protected IParser createPackageName_5020Parser() {
578
	protected IParser createPackageName_5020Parser() {
566
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
579
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
580
				.getNamedElement_Name() };
567
		MessageFormatParser parser = new MessageFormatParser(features);
581
		MessageFormatParser parser = new MessageFormatParser(features);
568
		return parser;
582
		return parser;
569
	}
583
	}
Lines 602-608 Link Here
602
	 * @generated
616
	 * @generated
603
	 */
617
	 */
604
	protected IParser createPackageName_5026Parser() {
618
	protected IParser createPackageName_5026Parser() {
605
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
619
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
620
				.getNamedElement_Name() };
606
		MessageFormatParser parser = new MessageFormatParser(features);
621
		MessageFormatParser parser = new MessageFormatParser(features);
607
		return parser;
622
		return parser;
608
	}
623
	}
Lines 626-632 Link Here
626
	 * @generated
641
	 * @generated
627
	 */
642
	 */
628
	protected IParser createInstanceSpecificationName_5029Parser() {
643
	protected IParser createInstanceSpecificationName_5029Parser() {
629
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
644
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
645
				.getNamedElement_Name() };
630
		MessageFormatParser parser = new MessageFormatParser(features);
646
		MessageFormatParser parser = new MessageFormatParser(features);
631
		return parser;
647
		return parser;
632
	}
648
	}
Lines 650-656 Link Here
650
	 * @generated
666
	 * @generated
651
	 */
667
	 */
652
	protected IParser createCommentBody_5030Parser() {
668
	protected IParser createCommentBody_5030Parser() {
653
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getComment_Body() };
669
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
670
				.getComment_Body() };
654
		MessageFormatParser parser = new MessageFormatParser(features);
671
		MessageFormatParser parser = new MessageFormatParser(features);
655
		return parser;
672
		return parser;
656
	}
673
	}
Lines 681-687 Link Here
681
	 * @generated
698
	 * @generated
682
	 */
699
	 */
683
	protected IParser createPackage_3006Parser() {
700
	protected IParser createPackage_3006Parser() {
684
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
701
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
702
				.getNamedElement_Name() };
685
		MessageFormatParser parser = new MessageFormatParser(features);
703
		MessageFormatParser parser = new MessageFormatParser(features);
686
		return parser;
704
		return parser;
687
	}
705
	}
Lines 1009-1015 Link Here
1009
	 * @generated
1027
	 * @generated
1010
	 */
1028
	 */
1011
	protected IParser createEnumerationLiteral_3016Parser() {
1029
	protected IParser createEnumerationLiteral_3016Parser() {
1012
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1030
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1031
				.getNamedElement_Name() };
1013
		MessageFormatParser parser = new MessageFormatParser(features);
1032
		MessageFormatParser parser = new MessageFormatParser(features);
1014
		return parser;
1033
		return parser;
1015
	}
1034
	}
Lines 1152-1158 Link Here
1152
	 * @generated
1171
	 * @generated
1153
	 */
1172
	 */
1154
	protected IParser createPackageName_5025Parser() {
1173
	protected IParser createPackageName_5025Parser() {
1155
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1174
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1175
				.getNamedElement_Name() };
1156
		MessageFormatParser parser = new MessageFormatParser(features);
1176
		MessageFormatParser parser = new MessageFormatParser(features);
1157
		return parser;
1177
		return parser;
1158
	}
1178
	}
Lines 1176-1182 Link Here
1176
	 * @generated
1196
	 * @generated
1177
	 */
1197
	 */
1178
	protected IParser createClassName_5021Parser() {
1198
	protected IParser createClassName_5021Parser() {
1179
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1199
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1200
				.getNamedElement_Name() };
1180
		MessageFormatParser parser = new MessageFormatParser(features);
1201
		MessageFormatParser parser = new MessageFormatParser(features);
1181
		return parser;
1202
		return parser;
1182
	}
1203
	}
Lines 1215-1221 Link Here
1215
	 * @generated
1236
	 * @generated
1216
	 */
1237
	 */
1217
	protected IParser createEnumerationName_5023Parser() {
1238
	protected IParser createEnumerationName_5023Parser() {
1218
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1239
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1240
				.getNamedElement_Name() };
1219
		MessageFormatParser parser = new MessageFormatParser(features);
1241
		MessageFormatParser parser = new MessageFormatParser(features);
1220
		return parser;
1242
		return parser;
1221
	}
1243
	}
Lines 1254-1260 Link Here
1254
	 * @generated
1276
	 * @generated
1255
	 */
1277
	 */
1256
	protected IParser createInstanceSpecificationName_5024Parser() {
1278
	protected IParser createInstanceSpecificationName_5024Parser() {
1257
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1279
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1280
				.getNamedElement_Name() };
1258
		MessageFormatParser parser = new MessageFormatParser(features);
1281
		MessageFormatParser parser = new MessageFormatParser(features);
1259
		return parser;
1282
		return parser;
1260
	}
1283
	}
Lines 1293-1299 Link Here
1293
	 * @generated
1316
	 * @generated
1294
	 */
1317
	 */
1295
	protected IParser createDataTypeName_5027Parser() {
1318
	protected IParser createDataTypeName_5027Parser() {
1296
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1319
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1320
				.getNamedElement_Name() };
1297
		MessageFormatParser parser = new MessageFormatParser(features);
1321
		MessageFormatParser parser = new MessageFormatParser(features);
1298
		return parser;
1322
		return parser;
1299
	}
1323
	}
Lines 1332-1338 Link Here
1332
	 * @generated
1356
	 * @generated
1333
	 */
1357
	 */
1334
	protected IParser createPrimitiveTypeName_5028Parser() {
1358
	protected IParser createPrimitiveTypeName_5028Parser() {
1335
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1359
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1360
				.getNamedElement_Name() };
1336
		MessageFormatParser parser = new MessageFormatParser(features);
1361
		MessageFormatParser parser = new MessageFormatParser(features);
1337
		return parser;
1362
		return parser;
1338
	}
1363
	}
Lines 1371-1377 Link Here
1371
	 * @generated
1396
	 * @generated
1372
	 */
1397
	 */
1373
	protected IParser createLiteralString_3038Parser() {
1398
	protected IParser createLiteralString_3038Parser() {
1374
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getLiteralInteger_Value() };
1399
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1400
				.getLiteralInteger_Value() };
1375
		MessageFormatParser parser = new MessageFormatParser(features);
1401
		MessageFormatParser parser = new MessageFormatParser(features);
1376
		return parser;
1402
		return parser;
1377
	}
1403
	}
Lines 1395-1401 Link Here
1395
	 * @generated
1421
	 * @generated
1396
	 */
1422
	 */
1397
	protected IParser createLiteralInteger_3039Parser() {
1423
	protected IParser createLiteralInteger_3039Parser() {
1398
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getLiteralInteger_Value() };
1424
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1425
				.getLiteralInteger_Value() };
1399
		MessageFormatParser parser = new MessageFormatParser(features);
1426
		MessageFormatParser parser = new MessageFormatParser(features);
1400
		return parser;
1427
		return parser;
1401
	}
1428
	}
Lines 1419-1425 Link Here
1419
	 * @generated
1446
	 * @generated
1420
	 */
1447
	 */
1421
	protected IParser createExpression_3040Parser() {
1448
	protected IParser createExpression_3040Parser() {
1422
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getExpression_Symbol() };
1449
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1450
				.getExpression_Symbol() };
1423
		MessageFormatParser parser = new MessageFormatParser(features);
1451
		MessageFormatParser parser = new MessageFormatParser(features);
1424
		return parser;
1452
		return parser;
1425
	}
1453
	}
Lines 1458-1464 Link Here
1458
	 * @generated
1486
	 * @generated
1459
	 */
1487
	 */
1460
	protected IParser createDependencyName_6001Parser() {
1488
	protected IParser createDependencyName_6001Parser() {
1461
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1489
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1490
				.getNamedElement_Name() };
1462
		MessageFormatParser parser = new MessageFormatParser(features);
1491
		MessageFormatParser parser = new MessageFormatParser(features);
1463
		return parser;
1492
		return parser;
1464
	}
1493
	}
Lines 1499-1505 Link Here
1499
	protected IParser createPropertyName_6002Parser() {
1528
	protected IParser createPropertyName_6002Parser() {
1500
		LookupSuite lookupSuite = getAssociationLookupSuite();
1529
		LookupSuite lookupSuite = getAssociationLookupSuite();
1501
		return new SemanticParserAdapter(//
1530
		return new SemanticParserAdapter(//
1502
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), //
1531
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE
1532
						.getProperty()), //
1503
				new BasicApplyStrategy(), //
1533
				new BasicApplyStrategy(), //
1504
				new AssociationEndToString.ROLE_VIEW(false), //
1534
				new AssociationEndToString.ROLE_VIEW(false), //
1505
				new AssociationEndToString.EDIT(false));
1535
				new AssociationEndToString.EDIT(false));
Lines 1526-1532 Link Here
1526
	protected IParser createPropertyName_6012Parser() {
1556
	protected IParser createPropertyName_6012Parser() {
1527
		LookupSuite lookupSuite = getAssociationLookupSuite();
1557
		LookupSuite lookupSuite = getAssociationLookupSuite();
1528
		return new SemanticParserAdapter(//
1558
		return new SemanticParserAdapter(//
1529
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), //
1559
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE
1560
						.getProperty()), //
1530
				new BasicApplyStrategy(), //
1561
				new BasicApplyStrategy(), //
1531
				new AssociationEndToString.MULTIPLICITY_VIEW(false), //
1562
				new AssociationEndToString.MULTIPLICITY_VIEW(false), //
1532
				new AssociationEndToString.EDIT(false));
1563
				new AssociationEndToString.EDIT(false));
Lines 1553-1559 Link Here
1553
	protected IParser createPropertyName_6017Parser() {
1584
	protected IParser createPropertyName_6017Parser() {
1554
		LookupSuite lookupSuite = getAssociationLookupSuite();
1585
		LookupSuite lookupSuite = getAssociationLookupSuite();
1555
		return new SemanticParserAdapter(//
1586
		return new SemanticParserAdapter(//
1556
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE.getProperty()), //
1587
				new AssociationEndParser(lookupSuite, UMLPackage.eINSTANCE
1588
						.getProperty()), //
1557
				new BasicApplyStrategy(), //
1589
				new BasicApplyStrategy(), //
1558
				new AssociationEndToString.MODIFIERS_VIEW(false), //
1590
				new AssociationEndToString.MODIFIERS_VIEW(false), //
1559
				new AssociationEndToString.EDIT(false));
1591
				new AssociationEndToString.EDIT(false));
Lines 1683-1689 Link Here
1683
	 * @generated
1715
	 * @generated
1684
	 */
1716
	 */
1685
	protected IParser createRealizationName_6011Parser() {
1717
	protected IParser createRealizationName_6011Parser() {
1686
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE.getNamedElement_Name() };
1718
		EAttribute[] features = new EAttribute[] { UMLPackage.eINSTANCE
1719
				.getNamedElement_Name() };
1687
		MessageFormatParser parser = new MessageFormatParser(features);
1720
		MessageFormatParser parser = new MessageFormatParser(features);
1688
		return parser;
1721
		return parser;
1689
	}
1722
	}
Lines 1793-1805 Link Here
1793
	}
1826
	}
1794
1827
1795
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
1828
	public static final OCLLookup<Type> TYPE_LOOKUP = new OCLLookup<Type>(//
1796
			UMLOCLFactory.getOCLLookupExpression(DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE.getNamedElement()), // 
1829
			UMLOCLFactory.getOCLLookupExpression(
1830
					DefaultOclLookups.DEFAULT_TYPE_LOOKUP, UMLPackage.eINSTANCE
1831
							.getNamedElement()), // 
1797
			new IElementType[] { //
1832
			new IElementType[] { //
1798
			/*
1833
			/*
1799
			 UMLElementTypes.Class_2001, // 
1834
			 * UMLElementTypes.Class_2001, // UMLElementTypes.DataType_2004, //
1800
			 UMLElementTypes.DataType_2004, // 
1835
			 * UMLElementTypes.Enumeration_2003, //
1801
			 UMLElementTypes.Enumeration_2003, // 
1836
			 * UMLElementTypes.PrimitiveType_2005, //
1802
			 UMLElementTypes.PrimitiveType_2005, //
1803
			 */
1837
			 */
1804
			});
1838
			});
1805
1839
Lines 1851-1857 Link Here
1851
	protected IParser createPropertyParser() {
1885
	protected IParser createPropertyParser() {
1852
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1886
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1853
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1887
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1854
		return new PropertySemanticParser(lookupSuite);
1888
1889
		ImageProvider imageProvider = new ImageProvider() {
1890
			@Override
1891
			public Image getImage(ENamedElement element) {
1892
				return UMLElementTypes.getImage(element);
1893
			}
1894
		};
1895
1896
		return new PropertySemanticParser<Type>(lookupSuite, Type.class,
1897
				imageProvider);
1855
	}
1898
	}
1856
1899
1857
	/**
1900
	/**
Lines 1903-1909 Link Here
1903
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1946
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1904
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1947
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1905
1948
1906
		return new OperationSemanticParser(lookupSuite);
1949
		ImageProvider imageProvider = new ImageProvider() {
1950
			@Override
1951
			public Image getImage(ENamedElement element) {
1952
				return UMLElementTypes.getImage(element);
1953
			}
1954
		};
1955
1956
		return new OperationSemanticParser<Type>(lookupSuite, Type.class,
1957
				imageProvider);
1907
	}
1958
	}
1908
1959
1909
	/**
1960
	/**
Lines 1913-1919 Link Here
1913
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1964
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1914
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1965
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1915
1966
1916
		return new SemanticParserAdapter(new PortParser(lookupSuite), new BasicApplyStrategy(), new PortToString());
1967
		return new SemanticParserAdapter(new PortParser(lookupSuite),
1968
				new BasicApplyStrategy(), new PortToString());
1917
	}
1969
	}
1918
1970
1919
	/**
1971
	/**
Lines 1951-1974 Link Here
1951
	private IParser createInstanceSpecificationParser() {
2003
	private IParser createInstanceSpecificationParser() {
1952
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
2004
		LookupSuiteImpl lookupSuite = new LookupSuiteImpl();
1953
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
2005
		lookupSuite.addLookup(Type.class, TYPE_LOOKUP);
1954
		return new SemanticParserAdapter(new InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(), new InstanceSpecificationToString.VIEW(), new InstanceSpecificationToString.EDIT());
2006
		// return new SemanticParserAdapter(new
2007
		// InstanceSpecificationParser(lookupSuite), new BasicApplyStrategy(),
2008
		// new InstanceSpecificationToString.VIEW(), new
2009
		// InstanceSpecificationToString.EDIT());
2010
		ImageProvider imageProvider = new ImageProvider() {
2011
			@Override
2012
			public Image getImage(ENamedElement element) {
2013
				return UMLElementTypes.getImage(element);
2014
			}
2015
		};
2016
		return new InstanceSpecificationSemanticParser<Type>(lookupSuite,
2017
				Type.class, imageProvider);
1955
	}
2018
	}
1956
2019
1957
	/**
2020
	/**
1958
	 * @generated NOT
2021
	 * @generated NOT
1959
	 */
2022
	 */
1960
	protected IParser createSlot_3017Parser() {
2023
	protected IParser createSlot_3017Parser() {
1961
		return new SemanticParserAdapter(new SlotParser(new SlotLookupSuite()), new BasicApplyStrategy(), new SlotToString.VIEW(), new SlotToString.EDIT()) {
2024
		ImageProvider imageProvider = new ImageProvider() {
1962
1963
			@Override
2025
			@Override
1964
			public String getPrintString(IAdaptable element, int flags) {
2026
			public Image getImage(ENamedElement element) {
1965
				String result = super.getPrintString(element, flags);
2027
				return UMLElementTypes.getImage(element);
1966
				if ("".equals(result)) {
1967
					result = "<enter>";
1968
				}
1969
				return result;
1970
			}
2028
			}
1971
		};
2029
		};
2030
		return new SlotSemanticParser<StructuralFeature>(new SlotLookupSuite(),
2031
				StructuralFeature.class, imageProvider);
1972
	}
2032
	}
1973
2033
1974
	/**
2034
	/**
Lines 1993-2004 Link Here
1993
	}
2053
	}
1994
2054
1995
	/**
2055
	/**
1996
	 * @NOT-GENERATED
2056
	 * @NOT-GENERATED Different view's but shared common edit.
1997
	 * Different view's but shared common edit.
1998
	 */
2057
	 */
1999
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
2058
	private IParser createAssocationRoleParser(boolean sourceNotTarget) {
2000
		LookupSuite lookupSuite = getAssociationLookupSuite();
2059
		LookupSuite lookupSuite = getAssociationLookupSuite();
2001
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
2060
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
2061
				new AssociationEndApplyStrategy(sourceNotTarget),
2062
				new AssociationEndToString.ROLE_VIEW(sourceNotTarget),
2002
				new AssociationEndToString.EDIT(sourceNotTarget));
2063
				new AssociationEndToString.EDIT(sourceNotTarget));
2003
	}
2064
	}
2004
2065
Lines 2007-2013 Link Here
2007
	 */
2068
	 */
2008
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
2069
	private IParser createAssocationModifiersParser(boolean sourceNotTarget) {
2009
		LookupSuite lookupSuite = getAssociationLookupSuite();
2070
		LookupSuite lookupSuite = getAssociationLookupSuite();
2010
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
2071
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
2072
				new AssociationEndApplyStrategy(sourceNotTarget),
2073
				new AssociationEndToString.MODIFIERS_VIEW(sourceNotTarget),
2011
				new AssociationEndToString.EDIT(sourceNotTarget));
2074
				new AssociationEndToString.EDIT(sourceNotTarget));
2012
	}
2075
	}
2013
2076
Lines 2016-2022 Link Here
2016
	 */
2079
	 */
2017
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
2080
	protected IParser createAssocationMultiplicityParser(boolean sourceNotTarget) {
2018
		LookupSuite lookupSuite = getAssociationLookupSuite();
2081
		LookupSuite lookupSuite = getAssociationLookupSuite();
2019
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite), new AssociationEndApplyStrategy(sourceNotTarget), new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
2082
		return new SemanticParserAdapter(new AssociationEndParser(lookupSuite),
2083
				new AssociationEndApplyStrategy(sourceNotTarget),
2084
				new AssociationEndToString.MULTIPLICITY_VIEW(sourceNotTarget),
2020
				new AssociationEndToString.EDIT(sourceNotTarget));
2085
				new AssociationEndToString.EDIT(sourceNotTarget));
2021
	}
2086
	}
2022
2087
Lines 2032-2038 Link Here
2032
	 */
2097
	 */
2033
	protected IParser createAssociationName_6003Parser() {
2098
	protected IParser createAssociationName_6003Parser() {
2034
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
2099
		LookupSuite lookupSuite = LookupSuite.NULL_SUITE;
2035
		return new ParserAdapter(new AssociationNameParser(lookupSuite), new BasicApplyStrategy(), new AssociationNameToString.VIEW(), new AssociationNameToString.EDIT());
2100
		return new ParserAdapter(new AssociationNameParser(lookupSuite),
2101
				new BasicApplyStrategy(), new AssociationNameToString.VIEW(),
2102
				new AssociationNameToString.EDIT());
2036
	}
2103
	}
2037
2104
2038
	/**
2105
	/**
Lines 2294-2303 Link Here
2294
2361
2295
	/**
2362
	/**
2296
	 * Utility method that consults ParserService
2363
	 * Utility method that consults ParserService
2364
	 * 
2297
	 * @generated
2365
	 * @generated
2298
	 */
2366
	 */
2299
	public static IParser getParser(IElementType type, EObject object, String parserHint) {
2367
	public static IParser getParser(IElementType type, EObject object,
2300
		return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
2368
			String parserHint) {
2369
		return ParserService.getInstance().getParser(
2370
				new HintAdapter(type, object, parserHint));
2301
	}
2371
	}
2302
2372
2303
	/**
2373
	/**

Return to bug 305299