protected Schedule getWaterPolicySchedule(FeedingPolicy fp) { Vector sched_els = new Vector(0); if (fp != null) { RangeRuleParameterEntry[] waterRanges = fp.getWaterPolicyRanges(); ObjectScheduleElement element; long start, end; // e.g., min = 0 then start is C + 0 or C - Day of the operation // e.g., min = 1 then start is C + 1 or 2nd day of the operation if (waterRanges.length > 0) { start = parentPlugin .getTimeUtils() .addNDays(logOPlan.getStartTime(), waterRanges[0].getRangeMin()); for (int i = 0; i < waterRanges.length; i++) { end = parentPlugin .getTimeUtils() .addNDays( start, (waterRanges[i].getRangeMax() - waterRanges[i].getRangeMin() + 1)); KeyRuleParameterEntry[] keys = fp.getRangeKeys(waterRanges[i]); element = new ObjectScheduleElement( start, end, addWater(new HashMap(), BOTTLED_WATER, new Double(keys[0].getValue()))); sched_els.addElement(element); start = end; } } } // else feeding policy is null return empty schedule return parentPlugin.getScheduleUtils().newObjectSchedule(sched_els.elements()); }
protected Schedule getEnhancementPolicySchedule(FeedingPolicy fp) { Vector sched_els = new Vector(0); String[] nsns = {FRESH_FRUITS, FRESH_VEGETABLES}; if (fp != null) { RangeRuleParameterEntry[] eRanges = fp.getEnhancementsPolicyRanges(); ObjectScheduleElement element; long start, end; // e.g., min = 0 then start is C + 0 or C - Day of the operation // e.g., min = 1 then start is C + 1 or 2nd day of the operation if (eRanges.length > 0) { start = parentPlugin.getTimeUtils().addNDays(logOPlan.getStartTime(), eRanges[0].getRangeMin()); for (int i = 0; i < eRanges.length; i++) { end = parentPlugin .getTimeUtils() .addNDays(start, (eRanges[i].getRangeMax() - eRanges[i].getRangeMin() + 1)); element = new ObjectScheduleElement(start, end, addEnhancements(new HashMap(), nsns, i, fp)); sched_els.addElement(element); start = end; } } } // else feeding policy is null return empty schedule return parentPlugin.getScheduleUtils().newObjectSchedule(sched_els.elements()); }
protected Schedule getFeedingPolicySchedule(FeedingPolicy fp) { Vector sched_els = new Vector(); ObjectScheduleElement ose; long start, end; ObjectScheduleElement element; Vector mealsSched = createMealAndSupplementSchedule(fp); for (int i = 0; i < mealsSched.size(); i++) { ose = (ObjectScheduleElement) mealsSched.elementAt(i); // e.g., min = 0 then start is C + 0 or C - Day of the operation // e.g., min = 1 then start is C + 1 or 2nd day of the operation start = parentPlugin.getTimeUtils().addNDays(logOPlan.getStartTime(), (int) ose.getStartTime()); end = parentPlugin .getTimeUtils() .addNDays(start, ((int) ose.getEndTime() - (int) ose.getStartTime() + 1)); element = new ObjectScheduleElement(start, end, ose.getObject()); sched_els.addElement(element); start = end; } return parentPlugin.getScheduleUtils().newObjectSchedule(sched_els.elements()); }