Ejemplo n.º 1
0
  private void loadUser(String name) {
    IStorage versionFile;
    if (ServerManager.LOCAL_INSTALL || Constants.LOCAL_INSTALL_USER_NAME.equals(name)) {
      versionFile =
          this.baseDirectory.newInstance(this.baseDirectory, "/.review/snapshot/versions.xml");
    } else {
      versionFile =
          this.baseDirectory.newInstance(
              this.baseDirectory, "/" + name + "/.review/snapshot/versions.xml");
    }
    IDesignerUser user = new DesignerUser(name);

    if (versionFile.exists()) {
      VersionFile file = new VersionFile();
      List<Version> versions = file.load(versionFile);
      for (Version version : versions) {
        user.addVersion(version);
        if (file.latestVersionID != null && version.getVersionID().equals(file.latestVersionID)) {
          user.setLatestVersion(version);
        }
      }
    }
    users.put(name, user);
  }
Ejemplo n.º 2
0
    public void save(IStorage file, org.davinci.server.review.user.IDesignerUser user) {
      OutputStream out = null;
      try {
        if (!file.exists())
          try {
            file.createNewFile();
          } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }

        try {
          out = file.getOutputStream();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.newDocument();

        Element rootElement = document.createElement("user");
        document.appendChild(rootElement);

        Element latestVersionElement = document.createElement("latestVersion");
        latestVersionElement.setAttribute("id", user.getLatestVersion().getVersionID());
        latestVersionElement.setAttribute("title", user.getLatestVersion().getVersionTitle());
        latestVersionElement.setAttribute("time", user.getLatestVersion().getTime());

        rootElement.appendChild(latestVersionElement);

        for (Version version : user.getVersions()) {
          Element element = document.createElement("version");
          element.setAttribute("id", version.getVersionID());
          element.setAttribute("title", version.getVersionTitle());
          element.setAttribute("time", version.getTime());
          element.setAttribute("isDraft", version.isDraft() ? "true" : "false");
          element.setAttribute("dueDate", version.dueDateString());
          element.setAttribute("desireWidth", version.getDesireWidth() + "");
          element.setAttribute("desireHeight", version.getDesireHeight() + "");
          element.setAttribute(
              "hasClosedManually", Boolean.toString(version.isHasClosedManually()));
          element.setAttribute("restartFrom", version.getRestartFrom());
          element.setAttribute("description", version.getDescription());
          element.setAttribute("receiveEmail", version.isReceiveEmail() ? "true" : "false");
          element.setAttribute("hasRestarted", version.isHasRestarted() ? "true" : "false");
          for (Reviewer reviewer : version.getReviewers()) {
            Element reviewerElement = document.createElement("reviewer");
            reviewerElement.setAttribute("name", reviewer.getUserName());
            reviewerElement.setAttribute("email", reviewer.getEmail());

            element.appendChild(reviewerElement);
          }
          for (String resource : version.resources) {
            Element resourceElement = document.createElement("resource");
            resourceElement.setAttribute("path", resource);
            element.appendChild(resourceElement);
          }
          rootElement.appendChild(element);
        }

        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.setOutputProperty(OutputKeys.METHOD, "xml"); // $NON-NLS-1$
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // $NON-NLS-1$
        transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // $NON-NLS-1$
        DOMSource source = new DOMSource(document);
        StreamResult result = new StreamResult(out);

        transformer.transform(source, result);

      } catch (TransformerFactoryConfigurationError e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } catch (TransformerConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } catch (TransformerException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } finally {
        try {
          if (out != null) {
            out.close();
          }
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }