public static synchronized List<ScheduleForm> copyProperties( Locale locale, TimeZone tz, List<Schedule> scheduleList) throws Exception { List<ScheduleForm> result = new ArrayList<ScheduleForm>(); if (scheduleList != null && !scheduleList.isEmpty()) { for (Schedule src : scheduleList) { ScheduleForm dest = new ScheduleForm(); dest.setName(src.getName()); dest.setWebSafeName(src.getName()); dest.setId(src.getId()); dest.setStatus(src.getStatus().name()); dest.setRate(String.valueOf(src.getRate())); dest.setRecurrence(src.isRecurring()); dest.setSrcTNA(src.getSrcTNA()); dest.setSrcFacLabel(src.getSrcFacLabel()); dest.setDestTNA(src.getDestTNA()); dest.setDestFacLabel(src.getDestFacLabel()); dest.setCancellable(State.isCancelable(src.getStatus())); // remove dest.setConfirmable(State.isConfirmable(src.getStatus())); dest.setStartTimeMillis(src.getStartTime()); dest.setEndTimeMillis(src.getEndTime()); Date startDate = new Date(src.getStartTime()); Date endDate = new Date(src.getEndTime()); SimpleDateFormat dateFormatter = new SimpleDateFormat(DracConstants.WEB_GUI_TIME2, locale); dateFormatter.setTimeZone(tz); dest.setStartDate(dateFormatter.format(startDate)); dest.setEndDate(dateFormatter.format(endDate)); UserType userType = src.getUserInfo(); if (userType != null) { dest.setUserId(userType.getUserId()); String sourceUserGroup = userType.getSourceEndpointUserGroup(); String targetUserGroup = userType.getTargetEndpointUserGroup(); String groupNames = ""; if (sourceUserGroup != null && targetUserGroup != null) { groupNames = sourceUserGroup + ", " + targetUserGroup; } else { if (sourceUserGroup != null) { groupNames = sourceUserGroup; } if (targetUserGroup != null) { groupNames = targetUserGroup; } } dest.setUserGroup(groupNames); } result.add(dest); } } return result; }
public static void copyScheduleDetails( LoginToken token, Locale locale, TimeZone tz, Schedule src, ScheduleForm dest) throws Exception { if (src != null && dest != null) { dest.setName(src.getName()); dest.setWebSafeName(src.getName()); dest.setId(src.getId()); dest.setStatus(src.getStatus().name()); dest.setDuration(src.getDurationLong()); dest.setRate(String.valueOf(src.getRate())); dest.setActivationType(src.getActivationType().name()); dest.setExpandable(State.isExpandable(src.getStatus())); dest.setCancellable(State.isCancelable(src.getStatus())); dest.setConfirmable(State.isConfirmable(src.getStatus())); dest.setRecurrence(src.isRecurring()); RecurrenceType recurrence = src.getRecurrence(); if (recurrence != null) { dest.setRecurrenceType(recurrence.getType().toString()); dest.setWeekDay(recurrence.getWeekDay()); dest.setRecDay(Integer.toString(recurrence.getDay())); dest.setRecMonth(Integer.toString(recurrence.getMonth())); } dest.setSrcTNA(src.getSrcTNA()); dest.setSrcFacLabel(src.getSrcFacLabel()); dest.setSrcVlanId(src.getPath().getSrcVlanId()); dest.setDestVlanId(src.getPath().getDstVlanId()); dest.setVcat(src.getPath().getVcatRoutingOption()); dest.setDestTNA(src.getDestTNA()); dest.setDestFacLabel(src.getDestFacLabel()); int channel = src.getPath().getSourceEndPoint().getChannelNumber(); dest.setSrcCh(String.valueOf(channel)); // If endpoint is layer2, don't set a channel if (channel == -1) { EndPointType ep = RequestHandler.INSTANCE.findEndpointById( token, src.getPath().getSourceEndPoint().getId()); if (ep != null) { String layer = ep.getLayer(); if (!layer.equals(Layer.LAYER1.toString())) { dest.setSrcCh(String.valueOf(DracConstants.EMPTY_STRING)); } else { dest.setSrcCh(String.valueOf(DracConstants.AUTO_CH)); } } else { log.warn("No endpoint found for " + src.getPath().getSourceEndPoint().getId()); } } channel = src.getPath().getTargetEndPoint().getChannelNumber(); dest.setDestCh(String.valueOf(channel)); // If endpoint is layer2, don't set a channel if (channel == -1) { EndPointType ep = RequestHandler.INSTANCE.findEndpointById( token, src.getPath().getTargetEndPoint().getId()); if (ep != null) { String layer = ep.getLayer(); if (!layer.equals(Layer.LAYER1.toString())) { dest.setDestCh(String.valueOf(DracConstants.EMPTY_STRING)); } else { dest.setDestCh(String.valueOf(DracConstants.AUTO_CH)); } } else { log.warn("No endpoint found for " + src.getPath().getTargetEndPoint().getId()); } } dest.setProtectionType(src.getPath().getProtectionType().toString()); dest.setSrlg(src.getPath().getSrlg()); String srsg = src.getPath().getSharedRiskServiceGroup(); StringTokenizer st = new StringTokenizer(srsg, ","); while (st.hasMoreTokens()) { dest.getSrsg().add(st.nextToken().trim()); } dest.setStartTimeMillis(src.getStartTime()); dest.setEndTimeMillis(src.getEndTime()); Date startDate = new Date(src.getStartTime()); Date endDate = new Date(src.getEndTime()); SimpleDateFormat dateFormatter = new SimpleDateFormat(DracConstants.WEB_GUI_TIME, locale); dateFormatter.setTimeZone(tz); dest.setStartDate(dateFormatter.format(startDate)); dest.setEndDate(dateFormatter.format(endDate)); dateFormatter = new SimpleDateFormat(DracConstants.WEB_GUI_DATE, locale); dest.setFirstOccurrence(dateFormatter.format(startDate)); dest.setLastOccurrence(dateFormatter.format(endDate)); UserType userType = src.getUserInfo(); // if (userType != null) { dest.setUserId(userType.getUserId()); dest.setUserGroup(userType.getBillingGroup().toString()); } } }