项目作者: hammadirshad

项目描述 :
Eclipse Modeling Framework Model Reader
高级语言: Java
项目地址: git://github.com/hammadirshad/emf-uml-model-reader.git
创建时间: 2016-03-05T17:21:43Z
项目社区:https://github.com/hammadirshad/emf-uml-model-reader

开源协议:

下载


Eclipse Modeling Framework Model Reader

Example

  1. import org.eclipse.emf.example.loader.ModelLoader;
  2. import org.eclipse.emf.example.models._activity.ActivityDiagram;
  3. import org.eclipse.emf.example.models._class.ClassDiagram;
  4. import org.eclipse.emf.example.models._class.ClassStructure;
  5. import org.eclipse.emf.example.models._enum.EnumStructure;
  6. import org.eclipse.emf.example.models._package.PackageDiagram;
  7. import org.eclipse.emf.example.models._profile.ExtensionStructure;
  8. import org.eclipse.emf.example.models._profile.ProfileDiagram;
  9. import org.eclipse.emf.example.models._profile.StereotypeStructure;
  10. import org.eclipse.emf.example.models._sequence.SequenceDiagram;
  11. import org.eclipse.emf.example.models._sequence.SequenceMessage;
  12. import org.eclipse.emf.example.models._statemachine.StateMachine;
  13. import org.eclipse.emf.example.models._usecase.UseCaseDiagram;
  14. import org.eclipse.emf.example.reader.diagram.*;
  15. import org.eclipse.uml2.uml.Package;
  16. import java.io.File;
  17. import java.io.IOException;
  18. import java.util.List;
  19. public class Driver {
  20. public static void main(String args[]) throws Exception {
  21. File model = new File("src/main/resources/model/UML.uml");
  22. classDiagramReader(model);
  23. packageDiagramReader(model);
  24. activityDiagramReader(model);
  25. sequenceDiagramReader(model);
  26. stateMachineReader(model);
  27. useCaseDiagramReader(model);
  28. profileReader(model);
  29. }
  30. public static void classDiagramReader(File model) throws IOException {
  31. Package aPackage = new ModelLoader().loadModel(model);
  32. ClassDiagram classDiagram = ClassDiagramReader.getRefModelDetails(aPackage);
  33. if (classDiagram != null) {
  34. for (ClassStructure cs : classDiagram.getClasses()) {
  35. System.out.println("Class: " + cs.getPackage() + "." + cs.getName());
  36. }
  37. for (EnumStructure enumStructure : classDiagram.getEnumerations()) {
  38. System.out.println("Enumeration: " + enumStructure.getPackage() + "." + enumStructure.getName());
  39. }
  40. }
  41. }
  42. public static void packageDiagramReader(File model) throws IOException {
  43. Package aPackage = new ModelLoader().loadModel(model);
  44. PackageDiagram packageDiagram = PackageDiagramReader.getRefModelDetails(aPackage);
  45. if (packageDiagram != null) {
  46. System.out.println(packageDiagram.getPackageStructure().getName());
  47. }
  48. }
  49. public static void activityDiagramReader(File model) throws IOException {
  50. Package aPackage = new ModelLoader().loadModel(model);
  51. ActivityDiagram activityDiagram = ActivityDiagramReader.getRefModelDetails(aPackage);
  52. if (activityDiagram != null) {
  53. System.out.println(activityDiagram.getActivityName());
  54. for (String edges : activityDiagram.getEdges()) {
  55. System.out.println(edges);
  56. }
  57. }
  58. }
  59. public static void sequenceDiagramReader(File model) throws IOException {
  60. Package aPackage = new ModelLoader().loadModel(model);
  61. SequenceDiagram sequenceDiagram = SequenceDiagramReader.getRefModelDetails(aPackage);
  62. if (sequenceDiagram != null) {
  63. for (SequenceMessage sequenceMessage : sequenceDiagram.getMessages()) {
  64. System.out.println(sequenceMessage.getMessageName());
  65. }
  66. }
  67. }
  68. public static void stateMachineReader(File model) throws IOException {
  69. Package aPackage = new ModelLoader().loadModel(model);
  70. List<StateMachine> stateMachines = new StateMachineReader().getRefModelDetails(aPackage);
  71. for (StateMachine stateMachine : stateMachines) {
  72. System.out.println(stateMachine.getName());
  73. }
  74. }
  75. public static void useCaseDiagramReader(File model) throws IOException {
  76. Package aPackage = new ModelLoader().loadModel(model);
  77. UseCaseDiagram useCaseDiagram = UseCaseDiagramReader.getRefModelDetails(aPackage);
  78. if (useCaseDiagram != null) {
  79. System.out.println(useCaseDiagram.getSystemName());
  80. for (String actor : useCaseDiagram.getActors()) {
  81. System.out.println(actor);
  82. }
  83. }
  84. }
  85. public static void profileReader(File model) throws IOException {
  86. Package aPackage = new ModelLoader().loadModel(model);
  87. ProfileDiagram profileDiagram = UMLProfileReader.getRefModelDetails(aPackage);
  88. if (profileDiagram != null) {
  89. System.out.println(profileDiagram.getName());
  90. for (StereotypeStructure cs : profileDiagram.getStereotypes()) {
  91. System.out.println("Stereotype: " + cs.getPackage() + "." + cs.getName());
  92. }
  93. for (ExtensionStructure cs : profileDiagram.getExtensions()) {
  94. System.out.println("Extension: " + cs.getName());
  95. }
  96. for (EnumStructure enumStructure : profileDiagram.getEnumerations()) {
  97. System.out.println("Enumeration: " + enumStructure.getPackage() + "." + enumStructure.getName());
  98. }
  99. }
  100. }
  101. }