@Override public Collection<Appointment> eval(EvalContext context) { if (context instanceof ReservationEvalContext) { Reservation reservation = ((ReservationEvalContext) context).getReservation(); List<Appointment> asList = Arrays.asList(reservation.getAppointments()); return asList; } return Collections.emptyList(); }
public void testRefresh() throws Exception { changeInSecondFacade("bowling"); facade.refresh(); Reservation resAfter = findReservation(facade, "bowling"); Appointment appointment = resAfter.getAppointments()[0]; Calendar cal = Calendar.getInstance(DateTools.getTimeZone()); cal.setTime(appointment.getStart()); assertEquals(17, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(Calendar.MONDAY, cal.get(Calendar.DAY_OF_WEEK)); cal.setTime(appointment.getEnd()); assertEquals(19, cal.get(Calendar.HOUR_OF_DAY)); assertEquals(Calendar.MONDAY, cal.get(Calendar.DAY_OF_WEEK)); }
private int getAppointmentNumber(AppointmentBlock appointmentBlock) { final long blockStart = appointmentBlock.getEnd(); final Date end = new Date(blockStart); final Appointment appointment = appointmentBlock.getAppointment(); final Reservation reservation = appointment.getReservation(); final Date start = reservation.getFirstDate(); SortedSet<AppointmentBlock> blocks = new TreeSet<AppointmentBlock>(); for (Appointment app : reservation.getAppointments()) { app.createBlocks(start, end, blocks); } final SortedSet<AppointmentBlock> headSet = blocks.headSet(appointmentBlock); final int size = headSet.size(); // final long appoimtmentStart = reservation.getFirstDate().getTime(); // if (appoimtmentStart == start) // { // return 1; // } return size + 1; }
void insertAllAppointments(Reservation reservation, StringBuffer buf) { buf.append("<table cellpadding=\"2\">"); buf.append("<tr>\n"); buf.append("<td colspan=\"2\" class=\"label\">"); String appointmentLabel = getString("appointments"); encode(appointmentLabel, buf); buf.append(":"); buf.append("</td>\n"); buf.append("</tr>\n"); Appointment[] appointments = reservation.getAppointments(); for (int i = 0; i < appointments.length; i++) { buf.append("<tr>\n"); buf.append("<td valign=\"top\">\n"); if (appointments[i].getRepeating() != null) { buf.append("<img width=\"16\" height=\"16\" src=\"org/rapla/gui/images/repeating.png\">"); } else { buf.append("<img width=\"16\" height=\"16\" src=\"org/rapla/gui/images/single.png\">"); } buf.append("</td>\n"); buf.append("<td>\n"); String appointmentSummary = getAppointmentFormater().getSummary(appointments[i]); encode(appointmentSummary, buf); Repeating repeating = appointments[i].getRepeating(); if (repeating != null) { buf.append("<br>"); buf.append("<small>"); List<Period> periods = getPeriodModel().getPeriodsFor(appointments[i].getStart()); String repeatingSummary = getAppointmentFormater().getSummary(repeating, periods); encode(repeatingSummary, buf); if (repeating.hasExceptions()) { buf.append("<br>"); buf.append(getAppointmentFormater().getExceptionSummary(repeating)); } buf.append("</small>"); } buf.append("</td>\n"); buf.append("<td></td>"); buf.append("</tr>\n"); } buf.append("</table>\n"); }
public void testClone() throws Exception { ClassificationFilter filter = facade.getDynamicType("event").newClassificationFilter(); filter.addEqualsRule("name", "power planting"); Reservation orig = facade .getReservationsForAllocatable(null, null, null, new ClassificationFilter[] {filter})[ 0]; Reservation clone = facade.clone(orig); Appointment a = clone.getAppointments()[0]; Date newStart = new SerializableDateTimeFormat().parseDateTime("2005-10-10", "10:20:00"); Date newEnd = new SerializableDateTimeFormat().parseDateTime("2005-10-12", null); a.move(newStart); a.getRepeating().setEnd(newEnd); facade.store(clone); Reservation[] allPowerPlantings = facade.getReservationsForAllocatable(null, null, null, new ClassificationFilter[] {filter}); assertEquals(2, allPowerPlantings.length); Reservation[] onlyClones = facade.getReservationsForAllocatable( null, newStart, null, new ClassificationFilter[] {filter}); assertEquals(1, onlyClones.length); }
// Make some Changes to the Reservation in another client private void changeInSecondFacade(String name) throws Exception { ClientFacade facade2 = raplaContainer.lookup(ClientFacade.class, "local-facade2"); facade2.login("homer", "duffs".toCharArray()); UserModule userMod2 = facade2; QueryModule queryMod2 = facade2; ModificationModule modificationMod2 = facade2; boolean bLogin = userMod2.login("homer", "duffs".toCharArray()); assertTrue(bLogin); Reservation reservation = findReservation(queryMod2, name); Reservation mutableReseravation = modificationMod2.edit(reservation); Appointment appointment = mutableReseravation.getAppointments()[0]; RaplaLocale loc = getRaplaLocale(); Calendar cal = loc.createCalendar(); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); Date startTime = loc.toTime(17, 0, 0); Date startTime1 = loc.toDate(cal.getTime(), startTime); Date endTime = loc.toTime(19, 0, 0); Date endTime1 = loc.toDate(cal.getTime(), endTime); appointment.move(startTime1, endTime1); modificationMod2.store(mutableReseravation); // userMod2.logout(); }