public void actionPerformed(ActionEvent evt) {
    if (_session != null) {
      ObjectTreeNode[] selectedNodes =
          _session.getSessionSheet().getObjectTreePanel().getSelectedNodes();

      Positioner positioner = new Positioner();
      GraphController toAddTo = null;

      for (int i = 0; i < selectedNodes.length; i++) {
        if (selectedNodes[i].getDatabaseObjectType() == DatabaseObjectType.TABLE) ;
        {
          if (null == toAddTo) {
            GraphController[] controllers = _plugin.getGraphControllers(_session);
            if (0 == controllers.length) {
              toAddTo = _plugin.createNewGraphControllerForSession(_session, false);
            } else {
              GraphSelectionDialogController dlg =
                  new GraphSelectionDialogController(
                      controllers, _session.getApplication().getMainFrame());
              dlg.doModal();

              if (false == dlg.isOK()) {
                return;
              }
              if (null == dlg.getSelectedController()) {
                toAddTo = _plugin.createNewGraphControllerForSession(_session, false);
              } else {
                toAddTo = dlg.getSelectedController();
              }
            }
          }

          toAddTo.addTable(selectedNodes[i], positioner);
        }
      }
    }
  }
Exemple #2
0
  public void runFinish() {
    getFileHandler().refreshFolder();
    getFileHandler().refreshAll(getSootSelection().getProject());
    // for updating markers
    SootPlugin.getDefault().getManager().updateSootRanFlag();
    final IEditorPart activeEdPart =
        SootPlugin.getDefault()
            .getWorkbench()
            .getActiveWorkbenchWindow()
            .getActivePage()
            .getActiveEditor();
    SootPlugin.getDefault().getPartManager().updatePart(activeEdPart);
    // run cfgviewer
    if (getCfgList() != null) {
      // currently this is the call graph list of pkgs
      GraphGenerator generator = new GraphGenerator();
      generator.setChildren(convertPkgList(getCfgList()));
      GraphPlugin.getDefault().setGenerator(generator);

      generator.run(null);
    }
  }