📄 copyperiodplugintest.java
字号:
/*--------------------------------------------------------------------------*
| Copyright (C) 2006 Christopher Kohlhaas |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by the |
| Free Software Foundation. A copy of the license has been included with |
| these distribution in the COPYING file, if not go to www.fsf.org |
| |
| As a special exception, you are granted the permissions to link this |
| program with every library, which license fulfills the Open Source |
| Definition as published by the Open Source Initiative (OSI). |
*--------------------------------------------------------------------------*/
package org.rapla.plugin.tests;
import java.util.Collections;
import java.util.Locale;
import org.rapla.RaplaTestCase;
import org.rapla.entities.domain.Allocatable;
import org.rapla.entities.domain.Period;
import org.rapla.entities.domain.Reservation;
import org.rapla.entities.dynamictype.ClassificationFilter;
import org.rapla.facade.ClientFacade;
import org.rapla.gui.internal.common.CalendarModelImpl;
import org.rapla.gui.internal.common.CalendarSelectionModel;
import org.rapla.plugin.periodcopy.CopyPluginInit;
/** listens for allocation changes */
public class CopyPeriodPluginTest extends RaplaTestCase {
ClientFacade facade;
Locale locale;
public CopyPeriodPluginTest(String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
facade = (ClientFacade)
getContext().lookup(ClientFacade.ROLE + "/local-facade");
facade.login("homer","duffs".toCharArray());
locale = Locale.getDefault();
}
private Reservation findReservationWithName(Reservation[] reservations, String name) {
for (int i=0;i<reservations.length;i++) {
if ( reservations[i].getName( locale).equals( name )) {
return reservations[i];
}
}
return null;
}
public void test() throws Exception {
CalendarSelectionModel model = new CalendarModelImpl( getClientService().getContext() );
ClassificationFilter filter = facade.getDynamicType("room").newClassificationFilter();
filter.addEqualsRule("name","erwin");
Allocatable allocatable = facade.getAllocatables( new ClassificationFilter[] { filter})[0];
model.setSelectedObjects( Collections.singletonList(allocatable ));
Period[] periods = facade.getPeriods();
Period sourcePeriod = null;
Period destPeriod = null;
for ( int i=0;i<periods.length;i++) {
if ( periods[i].getName().equals("SS 2002")) {
sourcePeriod = periods[i];
}
if ( periods[i].getName().equals("SS 2001")) {
destPeriod = periods[i];
}
}
assertNotNull( "Period not found ", sourcePeriod );
assertNotNull( "Period not found ", destPeriod );
CopyPluginInit init = new CopyPluginInit( getClientService().getContext() );
Reservation[] original = model.getReservations( sourcePeriod.getStart(), sourcePeriod.getEnd());
assertNotNull(findReservationWithName(original, "power planting"));
init.copy( model, sourcePeriod, destPeriod);
Reservation[] copy = model.getReservations( destPeriod.getStart(), destPeriod.getEnd());
assertNotNull(findReservationWithName(copy,"power planting"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -