Exemplo n.º 1
0
  @Override
  public void activate() {
    if (isActive()) return;
    super.activate();
    Value detailLevel = null;
    try {
      detailLevel =
          ((RepositoryMgr) ((RootArtifact) getModel()).getRepo())
              .getFileRepo()
              .getStatement(RSECore.createRseUri("DetailNode"), RSECore.detailLevelURI, null)
              .getObject();
    } catch (Throwable t) {

    }
    if (detailLevel != null) {
      ((RootArtifact) getModel())
          .setDetailLevel(Integer.valueOf(((Literal) detailLevel).getLabel()));
    }

    DiagramModel diagramModel = ((DiagramModel) getModel());
    diagramModel.addPropertyChangeListener(this);
    NonEmptyFigureSupport.listenToModel((ArtifactFragment) getModel(), nonEmptyFigure);
    getViewer().getEditDomain().getCommandStack().addCommandStackEventListener(stackEventListener);
    addInstancePanel();

    if (diagramModel.getRepo() != null && diagramModel.getSavedDiagramResource() != null) {
      // Use the file repo to get the information
      ReloRdfRepository repo = diagramModel.getRepo().getFileRepo();
      Map<Resource, ArtifactFragment> instanceRes2AFMap = new HashMap<Resource, ArtifactFragment>();
      instanceResToAF = new HashMap<Resource, ArtifactFragment>();
      addSavedContainee(
          diagramModel, diagramModel.getSavedDiagramResource(), instanceRes2AFMap, repo);
      addSavedControlFlows(
          diagramModel, diagramModel.getSavedDiagramResource(), instanceRes2AFMap, repo);
      addSavedConnections(diagramModel, instanceRes2AFMap, repo);
    }
  }