Exemplo n.º 1
0
 private PSystemError merge(Collection<PSystemError> ps) {
   UmlSource source = null;
   final List<ErrorUml> errors = new ArrayList<ErrorUml>();
   for (PSystemError system : ps) {
     if (system.getSource() != null && source == null) {
       source = system.getSource();
     }
     errors.addAll(system.getErrorsUml());
   }
   if (source == null) {
     throw new IllegalStateException();
   }
   return new PSystemError(source, errors);
 }
Exemplo n.º 2
0
  public final PSystem createPSystem(final List<String> strings)
      throws IOException, InterruptedException {

    final List<PSystemFactory> factories = new ArrayList<PSystemFactory>();
    factories.add(new SequenceDiagramFactory());
    factories.add(new ClassDiagramFactory());
    factories.add(new ActivityDiagramFactory());
    factories.add(new ActivityDiagramFactory2());
    factories.add(new UsecaseDiagramFactory());
    factories.add(new ComponentDiagramFactory());
    factories.add(new StateDiagramFactory());
    factories.add(new ActivityDiagramFactory2());
    factories.add(new CompositeDiagramFactory());
    factories.add(new ObjectDiagramFactory());
    factories.add(new PostIdDiagramFactory());
    factories.add(new PrintSkinFactory());
    factories.add(new PSystemVersionFactory());
    factories.add(new PSystemDotFactory(DiagramType.DOT));
    factories.add(new PSystemDotFactory(DiagramType.UML));
    factories.add(new PSystemDitaaFactory(DiagramType.DITAA));
    factories.add(new PSystemDitaaFactory(DiagramType.UML));
    factories.add(new PSystemSudokuFactory());
    factories.add(new PSystemEggFactory());
    factories.add(new PSystemRIPFactory());
    factories.add(new PSystemLostFactory());
    factories.add(new PSystemPathFactory());
    factories.add(new PSystemOregonFactory());
    factories.add(new PSystemProjectFactory());

    final UmlSource umlSource = new UmlSource(strings);
    final DiagramType diagramType = umlSource.getDiagramType();
    final List<PSystemError> errors = new ArrayList<PSystemError>();
    for (PSystemFactory systemFactory : factories) {
      if (diagramType != systemFactory.getDiagramType()) {
        continue;
      }
      final PSystem sys = new PSystemSingleBuilder(umlSource, systemFactory).getPSystem();
      if (isOk(sys)) {
        return sys;
      }
      errors.add((PSystemError) sys);
    }

    final PSystemError err = merge(errors);
    if (OptionFlags.getInstance().isQuiet() == false) {
      err.print(System.err);
    }
    return err;
  }
Exemplo n.º 3
0
  public final Diagram createPSystem(final List<CharSequence2> strings2) {

    final List<PSystemFactory> factories = getAllFactories();

    final DiagramType type = DiagramType.getTypeFromArobaseStart(strings2.get(0).toString2());

    final UmlSource umlSource = new UmlSource(strings2, type == DiagramType.UML);
    final DiagramType diagramType = umlSource.getDiagramType();
    final List<PSystemError> errors = new ArrayList<PSystemError>();
    for (PSystemFactory systemFactory : factories) {
      if (diagramType != systemFactory.getDiagramType()) {
        continue;
      }
      final Diagram sys = systemFactory.createSystem(umlSource);
      if (isOk(sys)) {
        return sys;
      }
      errors.add((PSystemError) sys);
    }

    final PSystemError err = PSystemError.merge(errors);
    // if (OptionFlags.getInstance().isQuiet() == false) {
    // err.print(System.err);
    // }
    return err;
  }