Пример #1
0
 public static void outputACK(File filePath, String mode) {
   File outFileName = new File(filePath.getPath() + "/" + mode + "_ACK.TXT");
   System.out.println("Sending output to: " + outFileName.getPath());
   if (outFileName.exists()) {
     outFileName.delete();
   }
   try {
     PrintWriter out = new PrintWriter(outFileName.getPath());
     // out.print(recommendations);
     out.flush();
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   }
 }
Пример #2
0
 private static void processFile(
     String pid, File child, File outFilePath, String guidelineId, String htmlFilePath) {
   // Write to output directory
   // outFilePath should be path+pid+extension
   String caseData = null;
   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
   java.util.Date startTime = new java.util.Date();
   try {
     caseData = readFileAsString(child.getPath());
   } catch (java.io.IOException e) {
     logger.error("Error reading data file ", e);
     System.exit(-1);
   }
   String recommendations = null;
   try {
     System.out.println("-----------------------------------------");
     recommendations =
         pca.topLevelComputeAdvisory(pid, caseData, formatter.format(startTime), guidelineId, pid);
     System.out.println("-----------------------------------------");
     // String fileName = outFilePath+pid+fileExtension
     // File outFilePath = new File(fileName);;
     logger.warn("Output recommenations to: " + outFilePath);
     if (outFilePath.exists()) {
       outFilePath.delete();
     }
     try {
       PrintWriter out = new PrintWriter(outFilePath.getPath());
       out.print(recommendations);
       out.flush();
       // System.out.println("****READY FILE PROCESSING****");
       // create Ready file
       // String readyFileName;
       // readyFileName = outFilePath.getPath();
       // System.out.println("Ready File Name Is: " + readyFileName);  //Remove
       // File readyFile = new File(readyFileName.replace(".xml","_READY.txt"));
       // try {
       //  readyFile.createNewFile();
       //  System.out.println("****SUCCESS****"+readyFile.getPath());
       // } catch (java.io.IOException e0) {
       //   System.out.println("Error creating READY file");
       // }
     } catch (FileNotFoundException e) {
       e.printStackTrace();
     }
   } catch (PCA_Session_Exception e1) {
     e1.printStackTrace();
   }
 }
  public void run() {
    try {
      PrintWriter pw = null;
      if (os != null) pw = new PrintWriter(os);

      InputStreamReader isr = new InputStreamReader(is);
      BufferedReader br = new BufferedReader(isr);
      String line = null;
      while ((line = br.readLine()) != null) {
        if (pw != null) pw.println(line);
        logger.info(type + ">" + line);
      }
      if (pw != null) pw.flush();
    } catch (IOException ioe) {
      logger.fatal("IOE: ", ioe);
    }
  }
Пример #4
0
  public void run() {
    try {
      PrintWriter writer = null;
      if (out != null) {
        writer = new PrintWriter(out);
      }

      BufferedReader br = new BufferedReader(new InputStreamReader(in));
      String line = br.readLine();
      while (line != null) {
        if (writer != null) {
          writer.println(line);
        }
        log4JLevel.log(log, line);
        line = br.readLine();
      }
      if (writer != null) {
        writer.flush();
      }
    } catch (IOException e) {
      throw new IoRuntimeException("Exception gobbling stream ", e);
    }
  }
Пример #5
0
  // public List getUserStoryList(String sessionId,String iterationId,ServletOutputStream out) {
  public List getUserStoryList(String sessionId, String iterationId, PrintWriter out) {

    List<Map> list = new ArrayList<Map>();

    statusMap.put(sessionId, "0");

    try {

      String apiURL =
          rallyApiHost
              + "/hierarchicalrequirement?"
              + "query=(Iteration%20=%20"
              + rallyApiHost
              + "/iteration/"
              + iterationId
              + ")&fetch=true&start=1&pagesize=100";

      log.info("getUserStoryList apiURL=" + apiURL);

      String responseXML = getRallyXML(apiURL);

      org.jdom.input.SAXBuilder bSAX = new org.jdom.input.SAXBuilder();
      org.jdom.Document doc = bSAX.build(new StringReader(responseXML));
      Element root = doc.getRootElement();

      XPath xpath = XPath.newInstance("//Object");
      List xlist = xpath.selectNodes(root);

      int totalSteps = xlist.size() + 1;
      int currentStep = 0;

      List taskRefLink = new ArrayList();

      Iterator iter = xlist.iterator();
      while (iter.hasNext()) {
        double totalTimeSpent = 0.0D;

        Map map = new HashMap();

        Element item = (Element) iter.next();
        String objId = item.getChildText("ObjectID");
        String name = item.getChildText("Name");
        String planEstimate = item.getChildText("PlanEstimate");
        String formattedId = item.getChildText("FormattedID");

        String taskActualTotal = item.getChildText("TaskActualTotal");
        String taskEstimateTotal = item.getChildText("TaskEstimateTotal");
        String taskRemainingTotal = item.getChildText("TaskRemainingTotal");
        String scheduleState = item.getChildText("ScheduleState");

        Element ownerElement = item.getChild("Owner");

        String owner = "";
        String ownerRef = "";

        if (ownerElement != null) {
          owner = ownerElement.getAttributeValue("refObjectName");
        }

        Element taskElements = item.getChild("Tasks");
        // List taskElementList=taskElements.getContent();
        List taskElementList = taskElements.getChildren();

        List taskList = new ArrayList();

        log.info("taskElements.getChildren=" + taskElements);
        log.info("taskList=" + taskElementList);

        for (int i = 0; i < taskElementList.size(); i++) {
          Element taskElement = (Element) taskElementList.get(i);

          String taskRef = taskElement.getAttributeValue("ref");

          String[] objectIdArr = taskRef.split("/");
          String objectId = objectIdArr[objectIdArr.length - 1];

          log.info("objectId=" + objectId);

          // Map taskMap=getTaskMap(taskRef);
          Map taskMap = getTaskMapBatch(objectId);

          double taskTimeSpentTotal =
              Double.parseDouble((String) taskMap.get("taskTimeSpentTotal"));
          totalTimeSpent += taskTimeSpentTotal;
          taskList.add(taskMap);
        }

        map.put("type", "userstory");
        map.put("formattedId", formattedId);
        map.put("name", name);
        map.put("taskStatus", scheduleState);
        map.put("owner", owner);
        map.put("planEstimate", planEstimate);
        map.put("taskEstimateTotal", taskEstimateTotal);
        map.put("taskRemainingTotal", taskRemainingTotal);
        map.put("taskTimeSpentTotal", "" + totalTimeSpent);

        list.add(map);
        list.addAll(taskList);

        ++currentStep;
        double percentage = 100.0D * currentStep / totalSteps;
        String status = "" + Math.round(percentage);
        statusMap.put(sessionId, status);

        out.println("<script>parent.updateProcessStatus('" + status + "%')</script>" + status);
        out.flush();
        log.info("out.flush..." + status);

        // log.info("status="+status+" sessionId="+sessionId);
        // log.info("L1 statusMap="+statusMap+" "+statusMap.hashCode());

      }

      double planEstimate = 0.0D;
      double taskEstimateTotal = 0.0D;
      double taskRemainingTotal = 0.0D;
      double taskTimeSpentTotal = 0.0D;
      Map iterationMap = new HashMap();
      for (Map map : list) {
        String type = (String) map.get("type");

        String planEstimateStr = (String) map.get("planEstimate");

        log.info("planEstimateStr=" + planEstimateStr);

        if ("userstory".equals(type)) {

          if (planEstimateStr != null) {
            planEstimate += Double.parseDouble(planEstimateStr);
          }
          taskEstimateTotal += Double.parseDouble((String) map.get("taskEstimateTotal"));
          taskRemainingTotal += Double.parseDouble((String) map.get("taskRemainingTotal"));
          taskTimeSpentTotal += Double.parseDouble((String) map.get("taskTimeSpentTotal"));
        }
      }

      apiURL = rallyApiHost + "/iteration/" + iterationId + "?fetch=true";
      log.info("iteration apiURL=" + apiURL);
      responseXML = getRallyXML(apiURL);

      bSAX = new org.jdom.input.SAXBuilder();
      doc = bSAX.build(new StringReader(responseXML));
      root = doc.getRootElement();

      xpath = XPath.newInstance("//Iteration");
      xlist = xpath.selectNodes(root);

      String projName = "";
      String iterName = "";
      String iterState = "";

      iter = xlist.iterator();
      while (iter.hasNext()) {
        Element item = (Element) iter.next();

        iterName = item.getChildText("Name");
        iterState = item.getChildText("State");
        Element projElement = item.getChild("Project");
        projName = projElement.getAttributeValue("refObjectName");
      }

      iterationMap.put("type", "iteration");
      iterationMap.put("formattedId", "");
      iterationMap.put("name", projName + " - " + iterName);
      iterationMap.put("taskStatus", iterState);
      iterationMap.put("owner", "");

      iterationMap.put("planEstimate", "" + planEstimate);
      iterationMap.put("taskEstimateTotal", "" + taskEstimateTotal);
      iterationMap.put("taskRemainingTotal", "" + taskRemainingTotal);
      iterationMap.put("taskTimeSpentTotal", "" + taskTimeSpentTotal);

      list.add(0, iterationMap);

      statusMap.put(sessionId, "100");

      log.info("L2 statusMap=" + statusMap);

      log.info("L2 verify=" + getProcessStatus(sessionId));
      log.info("-----------");

      // String jsonData=JsonUtil.encodeObj(list);
      String jsonData = JSONValue.toJSONString(list);

      out.println("<script>parent.tableResult=" + jsonData + "</script>");
      out.println("<script>parent.showTableResult()</script>");

    } catch (Exception ex) {
      log.error("ERROR: ", ex);
    }

    return list;
  }