List of usage examples for org.apache.poi.ss.usermodel DateUtil convertTime
public static double convertTime(String timeStr)
From source file:ch.oakmountain.tpa.parser.TpaParser.java
License:Apache License
public void generateRequests(MacroscopicTopology macroscopicTopology, int requestsPerHour, int durationMinutes, int offset, String from, String to, Periodicity p) { String colLayoutString = getPropertyValue(tpaProps.REQUESTS_COL_LAYOUT); List<ColumnIdentifier> cols = new ArrayList<ColumnIdentifier>(requestsLayout.values().length); for (requestsLayout l : requestsLayout.values()) { cols.add(l);// w w w. ja va2s . co m } Map<ColumnIdentifier, Integer> colLayoutMapping = getColLayoutMapping(colLayoutString, cols); int arrtimeColIndex = colLayoutMapping.get(requestsLayout.ARRTIME); int fromColIndex = colLayoutMapping.get(requestsLayout.FROM); int toColIndex = colLayoutMapping.get(requestsLayout.TO); int deptimeColIndex = colLayoutMapping.get(requestsLayout.DEPTIME); int idColIndex = colLayoutMapping.get(requestsLayout.ID); String requestedMarker = getPropertyValue(tpaProps.REQUESTS_REQUESTED_DAY_MARKER); List<String> linkNames = macroscopicTopology.getLinkNames(); Sheet sheet = wb.getSheet(getPropertyValue(tpaProps.REQUESTS_WS_NAME)); // header Row headerRow = sheet.createRow(0); for (ColumnIdentifier col : colLayoutMapping.keySet()) { int i = colLayoutMapping.get(col); Cell cell = headerRow.getCell(i, Row.CREATE_NULL_AS_BLANK); cell.setCellValue(col.name()); } // train path slots hourly int k = 1; for (int i = 0; i < 24; i++) { for (int j = 0; j < requestsPerHour; j++) { Row row = sheet.createRow(sheet.getLastRowNum() + 1); int hour = i; int minutes = (offset + j * (60 / requestsPerHour)) % 60; double deptime = DateUtil .convertTime(String.format("%02d", hour) + ":" + String.format("%02d", minutes)); double arrtime = (deptime * 24 * 60 + durationMinutes) / (24 * 60); Cell cell = row.getCell(deptimeColIndex, Row.CREATE_NULL_AS_BLANK); cell.setCellStyle(timestyle); cell.setCellValue(deptime); cell = row.getCell(arrtimeColIndex, Row.CREATE_NULL_AS_BLANK); cell.setCellStyle(timestyle); cell.setCellValue(arrtime); row.getCell(fromColIndex, Row.CREATE_NULL_AS_BLANK).setCellValue(from); row.getCell(toColIndex, Row.CREATE_NULL_AS_BLANK).setCellValue(to); row.getCell(idColIndex, Row.CREATE_NULL_AS_BLANK) .setCellValue(from + "_" + to + "_" + String.format("%03d", k)); k++; // peridiocity for (Integer integer : p.getWeekDays()) { int weekdayColIndex = colLayoutMapping.get(requestsLayout.getWeekDayTrainPathLayout(integer)); row.getCell(weekdayColIndex, Row.CREATE_NULL_AS_BLANK).setCellValue(requestedMarker); } } } }
From source file:ch.oakmountain.tpa.parser.TpaParser.java
License:Apache License
public void addCatalogue(MacroscopicTopology macroscopicTopology, TrainPathSlotCatalogue catalogue) { String colLayoutString = getPropertyValue(tpaProps.TRAINPATHS_COL_LAYOUT); List<ColumnIdentifier> cols = new ArrayList<ColumnIdentifier>(trainPathLayout.values().length); for (trainPathLayout l : trainPathLayout.values()) { cols.add(l);/*from w w w . jav a 2 s . c o m*/ } Map<ColumnIdentifier, Integer> colLayoutMapping = getColLayoutMapping(colLayoutString, cols); int deptimeColIndex = colLayoutMapping.get(trainPathLayout.DEPTIME); int arrtimeColIndex = colLayoutMapping.get(trainPathLayout.ARRTIME); int idColIndex = colLayoutMapping.get(trainPathLayout.ID); for (PeriodicalTrainPathSlot periodicalTrainPathSlot : catalogue.getTrainPathSlots()) { String linkName = periodicalTrainPathSlot.getTrainPathSectionName(); // Create sheet if it does not exist yet if (wb.getSheet(linkName) == null) { Sheet sheet = wb.createSheet(linkName); // header Row headerRow = sheet.createRow(0); for (ColumnIdentifier col : colLayoutMapping.keySet()) { int i = colLayoutMapping.get(col); Cell cell = headerRow.getCell(i, Row.CREATE_NULL_AS_BLANK); cell.setCellValue(col.name()); } } Sheet sheet = wb.getSheet(linkName); int rowNb; for (rowNb = 1; rowNb < sheet.getPhysicalNumberOfRows(); rowNb++) { if (sheet.getRow(rowNb) == null || StringUtils.isBlank( getCellValueString(sheet.getRow(rowNb).getCell(idColIndex, Row.CREATE_NULL_AS_BLANK)))) { break; } } Row row = sheet.createRow(rowNb); TrainPathSlot slot = periodicalTrainPathSlot.getSlots().get(0); int depHour = slot.getStartTime().getHourOfDay(); int depMinutes = slot.getStartTime().getMinuteOfHour(); int arrHour = slot.getEndTime().getHourOfDay(); int arrMinutes = slot.getEndTime().getMinuteOfHour(); double deptime = DateUtil .convertTime(String.format("%02d", depHour) + ":" + String.format("%02d", depMinutes)); double arrtime = DateUtil .convertTime(String.format("%02d", arrHour) + ":" + String.format("%02d", arrMinutes)); Cell cell = row.getCell(deptimeColIndex, Row.CREATE_NULL_AS_BLANK); cell.setCellStyle(timestyle); cell.setCellValue(deptime); cell = row.getCell(arrtimeColIndex, Row.CREATE_NULL_AS_BLANK); cell.setCellStyle(timestyle); cell.setCellValue(arrtime); cell = row.getCell(idColIndex, Row.CREATE_NULL_AS_BLANK); cell.setCellValue(periodicalTrainPathSlot.getName()); } }
From source file:org.soulwing.jawb.poi.ApachePoiDateTimeConverter.java
License:Apache License
/** * {@inheritDoc} */ @Override public double convertTime(String time) { return DateUtil.convertTime(time); }