Creating/Deleting diagrams

  1. Creating Diagrams
  2. Deleting Diagrams

Transaction operation

Transaction operation is required when creating//deleting diagrams.

Creating diagrams

Diagram Method to use
Class / Object Diagram createClassDiagram method of ClassDiagramEditor
UseCase Diagram createUseCaseDiagram method of UseCaseDiagramEditor
Statemachine Diagram createStatemachineDiagram method of StateMachineDiagramEditor
Activity Diagram createActivityDiagram method of ActivityDiagramEditor
Sequence Diagram createSequenceDiagram method of SequenceDiagramEditor
CompositeStructure Diagram createCompositeStructureDiagram method of CompositeStructureDiagramEditor
ER Diagram createERDiagram method of ERDiagramEditor
Mind Map createMindmapDiagram method of MindmapEditor
Requirement Diagram createRequirementDiagram method of RequirementDiagramEditor
Example: Creating Class Diagram/Object Diagram
public IDiagram createClassDiagram(IModel project, String diagramName)
        throws InvalidUsingException, ClassNotFoundException {
    ProjectAccessor projectAccessor =  AstahAPI.getAstahAPI().getProjectAccessor();
    ClassDiagramEditor cde = projectAccessor.getDiagramEditorFactory().getClassDiagramEditor();
    try {
       TransactionManager.beginTransaction();
       IDiagram iClassDiagram = cde.createClassDiagram(project, diagramName);
       TransactionManager.endTransaction();
       return iClassDiagram;
    } catch (InvalidEditingException e) {
        e.printStackTrace();
        TransactionManager.abortTransaction();
    }
}

Deleting diagrams

Example1: Deleting diagram
public void deleteDiagram(IDiagram diagram)
        throws ClassNotFoundException, InvalidUsingException {
      ProjectAccessor projectAccessor =  AstahAPI.getAstahAPI().getProjectAccessor();
      ClassDiagramEditor cde = projectAccessor.getDiagramEditorFactory().getClassDiagramEditor();
      try {
          TransactionManager.beginTransaction();
          cde.setDiagram(diagram);
          cde.deleteDiagram();
          TransactionManager.endTransaction();
       } catch (InvalidEditingException e) {
          e.printStackTrace();
          TransactionManager.abortTransaction();
       }
}
Sample2: Deleting diagram
public void deleteDiagram(IDiagram diagram)
       throws ClassNotFoundException, InvalidUsingException {
     ProjectAccessor projectAccessor =  AstahAPI.getAstahAPI().getProjectAccessor();
     ClassDiagramEditor cde = projectAccessor.getDiagramEditorFactory().getClassDiagramEditor();
     try {
         TransactionManager.beginTransaction();
         cde.delete(diagram);
         TransactionManager.endTransaction();
     } catch (InvalidEditingException e) {
         e.printStackTrace();
         TransactionManager.abortTransaction();
     }
}


▶ Back to Top