Creating/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();
}
}