Ejemplo n.º 1
0
  /**
   * Called by the main class to initialize defaults.
   *
   * @param projectName the project name
   * @param username the authenticated username
   * @exception PersisterException if an error occurs
   */
  public void initParams(String projectName, String username) throws PersisterException {

    audit = DomainObjectFactory.newAudit();
    audit.setCreatedBy(username);

    this.projectName = projectName;

    // !!!! TODO Use version Too
    LoaderDefault loaderDefault = loaderDAO.findByName(projectName);

    if (loaderDefault == null) {
      throw new PersisterException("Defaults not found. Please create a profile first.");
    }

    String cName = loaderDefault.getContextName();

    if (cName == null) {
      throw new PersisterException("Context Name not Set.");
    }

    context = contextDAO.findByName(cName);

    if (context == null) {
      throw new PersisterException("Context: " + cName + " not found.");
    }

    version = new Float(loaderDefault.getVersion().toString());
    projectVersion = loaderDefault.getProjectVersion().toString();

    workflowStatus = loaderDefault.getWorkflowStatus();

    if (workflowStatus == null) {
      throw new PersisterException("WorkflowStatus not Set.");
    }

    conceptualDomain = DomainObjectFactory.newConceptualDomain();
    conceptualDomain.setPreferredName(loaderDefault.getCdName());

    Context cdContext = contextDAO.findByName(loaderDefault.getCdContextName());

    if (cdContext == null) {
      throw new PersisterException("CD Context not found.");
    }

    conceptualDomain.setContext(cdContext);

    try {
      conceptualDomain = (ConceptualDomain) conceptualDomainDAO.find(conceptualDomain).get(0);
    } catch (NullPointerException e) {
      throw new PersisterException("CD: " + conceptualDomain.getPreferredName() + " not found.");
    }

    logger.info("List of packages that will be processed:");
    String[] pkgs = loaderDefault.getPackageFilter().split(",");
    for (int i = 0; i < pkgs.length; i++) {
      String s = pkgs[i].trim();
      int ind = s.indexOf(">");

      String alias = null;
      String pkg = null;
      if (ind > 0) {
        alias = s.substring(1, ind).trim();
        pkg = s.substring(ind + 1).trim();
      } else {
        alias = pkg = s;
      }

      packageFilter.put(pkg, alias);
      logger.info("Package: " + pkg + " -- Alias: " + alias);
    }
    logger.info("End of package list.");
  }