ItEr20S04ArquitecturaServidorItEr19S04: Renamed interfaces with prefix "I*".
This commit is contained in:
parent
8b2a7c0647
commit
884b2de18a
54 changed files with 875 additions and 184 deletions
|
|
@ -4,6 +4,6 @@ package org.navalplanner.business.common;
|
|||
* Represents some work done inside a transaction <br />
|
||||
* @author oscar @param <T>
|
||||
*/
|
||||
public interface OnTransaction<T> {
|
||||
public interface IOnTransaction<T> {
|
||||
public T execute();
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@ package org.navalplanner.business.orders.services;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
|
|
@ -23,6 +23,6 @@ public interface IOrderService {
|
|||
|
||||
Order find(Long workerId) throws InstanceNotFoundException;
|
||||
|
||||
public <T> T onTransaction(OnTransaction<T> onTransaction);
|
||||
public <T> T onTransaction(IOnTransaction<T> onTransaction);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.navalplanner.business.orders.services;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.daos.IOrderDAO;
|
||||
|
|
@ -63,7 +63,7 @@ public class OrderService implements IOrderService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public <T> T onTransaction(OnTransaction<T> onTransaction) {
|
||||
public <T> T onTransaction(IOnTransaction<T> onTransaction) {
|
||||
return onTransaction.execute();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ import org.navalplanner.business.common.exceptions.ValidationException;
|
|||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.entities.ICriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -31,10 +31,10 @@ public class CriterionsBootstrap implements ICriterionsBootstrap {
|
|||
private static final Log LOG = LogFactory.getLog(CriterionsBootstrap.class);
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
@Autowired
|
||||
private List<ICriterionTypeProvider> providers;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import org.apache.commons.lang.builder.EqualsBuilder;
|
|||
import org.apache.commons.lang.builder.ToStringBuilder;
|
||||
import org.hibernate.validator.NotEmpty;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import java.util.Set;
|
|||
|
||||
import org.apache.commons.lang.builder.EqualsBuilder;
|
||||
import org.hibernate.validator.NotEmpty;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ public class CriterionType implements ICriterionType<Criterion> {
|
|||
private long version;
|
||||
|
||||
@Autowired
|
||||
CriterionTypeService criterionTypeService;
|
||||
ICriterionTypeService criterionTypeService;
|
||||
|
||||
@NotEmpty
|
||||
private String name;
|
||||
|
|
|
|||
|
|
@ -39,13 +39,13 @@ public abstract class Resource {
|
|||
|
||||
public abstract String getDescription();
|
||||
|
||||
private interface Predicate {
|
||||
private interface IPredicate {
|
||||
public boolean accepts(CriterionSatisfaction satisfaction);
|
||||
}
|
||||
|
||||
public class Query {
|
||||
|
||||
private List<Predicate> predicates = new ArrayList<Predicate>();
|
||||
private List<IPredicate> predicates = new ArrayList<IPredicate>();
|
||||
private boolean sort = false;
|
||||
|
||||
private Query() {
|
||||
|
|
@ -53,7 +53,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query from(final ICriterionType<?> type) {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
@ -62,7 +62,7 @@ public abstract class Resource {
|
|||
});
|
||||
}
|
||||
|
||||
private Query withNewPredicate(Predicate newPredicate) {
|
||||
private Query withNewPredicate(IPredicate newPredicate) {
|
||||
predicates.add(newPredicate);
|
||||
return this;
|
||||
}
|
||||
|
|
@ -76,7 +76,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query enforcedInAll(final Interval interval) {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
@ -86,7 +86,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query overlapsWith(final Interval interval) {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
@ -96,7 +96,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query from(final ICriterion criterion) {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
@ -123,7 +123,7 @@ public abstract class Resource {
|
|||
|
||||
private boolean isAcceptedByAllPredicates(
|
||||
CriterionSatisfaction criterionSatisfaction) {
|
||||
for (Predicate predicate : predicates) {
|
||||
for (IPredicate predicate : predicates) {
|
||||
if (!predicate.accepts(criterionSatisfaction))
|
||||
return false;
|
||||
}
|
||||
|
|
@ -131,7 +131,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query current() {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
@ -153,7 +153,7 @@ public abstract class Resource {
|
|||
}
|
||||
|
||||
public Query oneOf(final Collection<? extends ICriterionType<?>> types) {
|
||||
return withNewPredicate(new Predicate() {
|
||||
return withNewPredicate(new IPredicate() {
|
||||
|
||||
@Override
|
||||
public boolean accepts(CriterionSatisfaction satisfaction) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import java.util.Collection;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
|
|
@ -18,7 +18,7 @@ import org.navalplanner.business.resources.entities.Resource;
|
|||
* Services for {@link Criterion} <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
public interface CriterionService {
|
||||
public interface ICriterionService {
|
||||
|
||||
List<Criterion> list();
|
||||
|
||||
|
|
@ -57,6 +57,6 @@ public interface CriterionService {
|
|||
|
||||
Criterion load(Criterion criterion);
|
||||
|
||||
<T> T onTransaction(OnTransaction<T> onTransaction);
|
||||
<T> T onTransaction(IOnTransaction<T> onTransaction);
|
||||
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ import org.navalplanner.business.resources.entities.CriterionType;
|
|||
* Services for {@link CriterionType} <br />
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
*/
|
||||
public interface CriterionTypeService {
|
||||
public interface ICriterionTypeService {
|
||||
|
||||
void createIfNotExists(CriterionType criterionType) throws ValidationException;
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ import org.navalplanner.business.resources.entities.Worker;
|
|||
* Interface for the resource management service.
|
||||
* @author Fernando Bellas Permuy <fbellas@udc.es>
|
||||
*/
|
||||
public interface ResourceService {
|
||||
public interface IResourceService {
|
||||
|
||||
/**
|
||||
* It updates or inserts the resource passed as a parameter. If the resource
|
||||
|
|
@ -7,7 +7,7 @@ import java.util.List;
|
|||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.hibernate.validator.InvalidValue;
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.daos.ICriterionDAO;
|
||||
|
|
@ -20,9 +20,9 @@ import org.navalplanner.business.resources.entities.ICriterionOnData;
|
|||
import org.navalplanner.business.resources.entities.ICriterionType;
|
||||
import org.navalplanner.business.resources.entities.Interval;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
|
@ -31,7 +31,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Implementation of {@link CriterionService} using {@link CriterionDAO} <br />
|
||||
* Implementation of {@link ICriterionService} using {@link CriterionDAO} <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
* @author Fernando Bellas Permuy <fbellas@udc.es>
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
|
|
@ -39,16 +39,16 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@Service
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
@Transactional
|
||||
public class CriterionServiceImpl implements CriterionService {
|
||||
public class CriterionServiceImpl implements ICriterionService {
|
||||
|
||||
@Autowired
|
||||
private ICriterionDAO criterionDAO;
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private IResourceService resourceService;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
public boolean exists(Criterion criterion) {
|
||||
return criterionDAO.exists(criterion.getId())
|
||||
|
|
@ -159,7 +159,7 @@ public class CriterionServiceImpl implements CriterionService {
|
|||
|
||||
@Override
|
||||
public ICriterionOnData empower(final ICriterion criterion) {
|
||||
final CriterionService criterionService = getProxifiedCriterionService();
|
||||
final ICriterionService criterionService = getProxifiedCriterionService();
|
||||
return new ICriterionOnData() {
|
||||
@Override
|
||||
public boolean isSatisfiedBy(Resource resource) {
|
||||
|
|
@ -191,9 +191,9 @@ public class CriterionServiceImpl implements CriterionService {
|
|||
// this is a hack to avoid using the this variable in empower method. The
|
||||
// this instance is not proxified because spring uses an transparent proxy,
|
||||
// so it doesn't open the transacion
|
||||
private CriterionService getProxifiedCriterionService() {
|
||||
return (CriterionService) applicationContext.getBeansOfType(
|
||||
CriterionService.class).values().iterator().next();
|
||||
private ICriterionService getProxifiedCriterionService() {
|
||||
return (ICriterionService) applicationContext.getBeansOfType(
|
||||
ICriterionService.class).values().iterator().next();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -232,7 +232,7 @@ public class CriterionServiceImpl implements CriterionService {
|
|||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public <T> T onTransaction(OnTransaction<T> onTransaction) {
|
||||
public <T> T onTransaction(IOnTransaction<T> onTransaction) {
|
||||
return onTransaction.execute();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,18 +8,18 @@ import org.navalplanner.business.common.exceptions.ValidationException;
|
|||
import org.navalplanner.business.resources.daos.ICriterionTypeDAO;
|
||||
import org.navalplanner.business.resources.daos.impl.CriterionTypeDAO;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Implementation of {@link CriterionTypeService} using {@link CriterionTypeDAO} <br />
|
||||
* Implementation of {@link ICriterionTypeService} using {@link CriterionTypeDAO} <br />
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
*/
|
||||
@Transactional
|
||||
@Component
|
||||
public class CriterionTypeServiceImpl implements CriterionTypeService {
|
||||
public class CriterionTypeServiceImpl implements ICriterionTypeService {
|
||||
|
||||
@Autowired
|
||||
private ICriterionTypeDAO criterionTypeDAO;
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ import org.navalplanner.business.resources.entities.CriterionType;
|
|||
import org.navalplanner.business.resources.entities.ICriterion;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -27,7 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@Service
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
@Transactional
|
||||
public class ResourceServiceImpl implements ResourceService {
|
||||
public class ResourceServiceImpl implements IResourceService {
|
||||
|
||||
@Autowired
|
||||
private IResourceDAO resourceDao;
|
||||
|
|
@ -36,7 +36,7 @@ public class ResourceServiceImpl implements ResourceService {
|
|||
private ICriterionsBootstrap criterionsBootstrap;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
|
||||
@Transactional
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import org.hibernate.Session;
|
|||
import org.hibernate.SessionFactory;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
|
|
@ -30,7 +30,7 @@ import org.navalplanner.business.planner.entities.TaskElement;
|
|||
import org.navalplanner.business.planner.services.ITaskElementService;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.annotation.NotTransactional;
|
||||
|
|
@ -65,7 +65,7 @@ public class OrderServiceTest {
|
|||
private ITaskElementService taskElementService;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
|
@ -167,7 +167,7 @@ public class OrderServiceTest {
|
|||
}
|
||||
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
orderService.onTransaction(new IOnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
|
|
@ -228,7 +228,7 @@ public class OrderServiceTest {
|
|||
hoursGroup.setWorkingHours(3);
|
||||
leaf.addHoursGroup(hoursGroup);
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
orderService.onTransaction(new IOnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
|
|
@ -281,7 +281,7 @@ public class OrderServiceTest {
|
|||
|
||||
orderService.save(order);
|
||||
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
orderService.onTransaction(new IOnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,327 @@
|
|||
package org.navalplanner.business.test.orders.services;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.notNullValue;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
|
||||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.orders.entities.OrderLine;
|
||||
import org.navalplanner.business.orders.entities.OrderLineGroup;
|
||||
import org.navalplanner.business.orders.services.IOrderService;
|
||||
import org.navalplanner.business.planner.entities.Task;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.planner.services.ITaskElementService;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.annotation.NotTransactional;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Tests for {@link Order}. <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
|
||||
BUSINESS_SPRING_CONFIG_TEST_FILE })
|
||||
@Transactional
|
||||
public class OrderServiceTest {
|
||||
|
||||
private static Order createValidOrder() {
|
||||
Order order = new Order();
|
||||
order.setDescription("description");
|
||||
order.setCustomer("blabla");
|
||||
order.setInitDate(CriterionSatisfactionDAOTest.year(2000));
|
||||
order.setName("name");
|
||||
order.setResponsible("responsible");
|
||||
return order;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private IOrderService orderService;
|
||||
|
||||
@Autowired
|
||||
private ITaskElementService taskElementService;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
private Session getSession() {
|
||||
return sessionFactory.getCurrentSession();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreation() throws ValidationException {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertTrue(orderService.exists(order));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListing() throws Exception {
|
||||
List<Order> list = orderService.getOrders();
|
||||
orderService.save(createValidOrder());
|
||||
assertThat(orderService.getOrders().size(), equalTo(list.size() + 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemove() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertTrue(orderService.exists(order));
|
||||
orderService.remove(order);
|
||||
assertFalse(orderService.exists(order));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removingOrderWithAssociatedTasksDeletesThem()
|
||||
throws ValidationException, InstanceNotFoundException {
|
||||
Order order = createValidOrder();
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("bla");
|
||||
orderLine.setCode("00000000");
|
||||
orderLine.setWorkHours(10);
|
||||
order.add(orderLine);
|
||||
orderService.save(order);
|
||||
taskElementService.convertToScheduleAndSave(order);
|
||||
getSession().flush();
|
||||
getSession().evict(order);
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
OrderElement e = reloaded.getOrderElements().iterator().next();
|
||||
assertThat(e.getTaskElements().size(), equalTo(1));
|
||||
Set<TaskElement> taskElements = e.getTaskElements();
|
||||
for (TaskElement t : taskElements) {
|
||||
if (t instanceof Task) {
|
||||
Task task = (Task) t;
|
||||
task.getHoursGroup().dontPoseAsTransientObjectAnymore();
|
||||
}
|
||||
}
|
||||
orderService.remove(reloaded);
|
||||
assertFalse(orderService.exists(reloaded));
|
||||
}
|
||||
|
||||
@Test(expected = ValidationException.class)
|
||||
public void shouldSendValidationExceptionIfEndDateIsBeforeThanStartingDate()
|
||||
throws ValidationException {
|
||||
Order order = createValidOrder();
|
||||
order.setEndDate(CriterionSatisfactionDAOTest.year(0));
|
||||
orderService.save(order);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFind() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertThat(orderService.find(order.getId()), notNullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testOrderPreserved() throws ValidationException,
|
||||
InstanceNotFoundException {
|
||||
final Order order = createValidOrder();
|
||||
final OrderElement[] containers = new OrderLineGroup[10];
|
||||
for (int i = 0; i < containers.length; i++) {
|
||||
containers[i] = new OrderLineGroup();
|
||||
containers[i].setName("bla");
|
||||
containers[i].setCode("000000000");
|
||||
order.add(containers[i]);
|
||||
}
|
||||
OrderLineGroup container = (OrderLineGroup) containers[0];
|
||||
|
||||
final OrderElement[] orderElements = new OrderElement[10];
|
||||
for (int i = 0; i < orderElements.length; i++) {
|
||||
OrderLine leaf = createValidLeaf("bla");
|
||||
orderElements[i] = leaf;
|
||||
container.add(leaf);
|
||||
}
|
||||
|
||||
for (int i = 1; i < containers.length; i++) {
|
||||
OrderLineGroup orderLineGroup = (OrderLineGroup) containers[i];
|
||||
OrderLine leaf = createValidLeaf("foo");
|
||||
orderLineGroup.add(leaf);
|
||||
}
|
||||
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
List<OrderElement> elements = reloaded.getOrderElements();
|
||||
for (int i = 0; i < containers.length; i++) {
|
||||
assertThat(elements.get(i).getId(),
|
||||
equalTo(containers[i].getId()));
|
||||
}
|
||||
OrderLineGroup container = (OrderLineGroup) reloaded
|
||||
.getOrderElements().iterator().next();
|
||||
List<OrderElement> children = container.getChildren();
|
||||
for (int i = 0; i < orderElements.length; i++) {
|
||||
assertThat(children.get(i).getId(),
|
||||
equalTo(orderElements[i].getId()));
|
||||
}
|
||||
for (int i = 1; i < containers.length; i++) {
|
||||
OrderLineGroup orderLineGroup = (OrderLineGroup) containers[i];
|
||||
assertThat(orderLineGroup.getChildren().size(),
|
||||
equalTo(1));
|
||||
}
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
orderService.remove(order);
|
||||
}
|
||||
|
||||
private OrderLine createValidLeaf(String parameter) {
|
||||
OrderLine result = new OrderLine();
|
||||
result.setName(parameter);
|
||||
result.setCode("000000000");
|
||||
|
||||
HoursGroup hoursGroup = HoursGroup.create(result);
|
||||
hoursGroup.setWorkingHours(0);
|
||||
result.addHoursGroup(hoursGroup);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testAddingOrderElement() throws Exception {
|
||||
final Order order = createValidOrder();
|
||||
OrderLineGroup container = new OrderLineGroup();
|
||||
container.setName("bla");
|
||||
container.setCode("000000000");
|
||||
OrderLine leaf = new OrderLine();
|
||||
leaf.setName("leaf");
|
||||
leaf.setCode("000000000");
|
||||
container.add(leaf);
|
||||
order.add(container);
|
||||
HoursGroup hoursGroup = HoursGroup.create(leaf);
|
||||
hoursGroup.setWorkingHours(3);
|
||||
leaf.addHoursGroup(hoursGroup);
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
assertFalse(order == reloaded);
|
||||
assertThat(reloaded.getOrderElements().size(), equalTo(1));
|
||||
OrderLineGroup containerReloaded = (OrderLineGroup) reloaded
|
||||
.getOrderElements().get(0);
|
||||
assertThat(containerReloaded.getHoursGroups().size(),
|
||||
equalTo(1));
|
||||
assertThat(containerReloaded.getChildren().size(),
|
||||
equalTo(1));
|
||||
OrderElement leaf = containerReloaded.getChildren().get(0);
|
||||
assertThat(leaf.getHoursGroups().size(), equalTo(1));
|
||||
orderService.remove(order);
|
||||
} catch (InstanceNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testManyToManyHoursGroupCriterionMapping() throws Exception {
|
||||
final Order order = createValidOrder();
|
||||
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("Order element");
|
||||
orderLine.setCode("000000000");
|
||||
order.add(orderLine);
|
||||
|
||||
HoursGroup hoursGroup = HoursGroup.create(orderLine);
|
||||
hoursGroup.setWorkingHours(10);
|
||||
HoursGroup hoursGroup2 = HoursGroup.create(orderLine);
|
||||
hoursGroup2.setWorkingHours(5);
|
||||
|
||||
orderLine.addHoursGroup(hoursGroup);
|
||||
orderLine.addHoursGroup(hoursGroup2);
|
||||
|
||||
CriterionType criterionType = new CriterionType("test");
|
||||
Criterion criterion = new Criterion("Test" + UUID.randomUUID(),
|
||||
criterionType);
|
||||
criterionService.save(criterion);
|
||||
|
||||
hoursGroup.addCriterion(criterion);
|
||||
hoursGroup2.addCriterion(criterion);
|
||||
|
||||
orderService.save(order);
|
||||
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
|
||||
List<OrderElement> orderElements = reloaded
|
||||
.getOrderElements();
|
||||
assertThat(orderElements.size(), equalTo(1));
|
||||
|
||||
List<HoursGroup> hoursGroups = orderElements.get(0)
|
||||
.getHoursGroups();
|
||||
assertThat(hoursGroups.size(), equalTo(2));
|
||||
|
||||
Set<Criterion> criterions = hoursGroups.get(0)
|
||||
.getCriterions();
|
||||
assertThat(criterions.size(), equalTo(1));
|
||||
|
||||
Criterion criterion = criterions.iterator().next();
|
||||
|
||||
assertThat(criterion.getType().getName(), equalTo("test"));
|
||||
} catch (InstanceNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Test(expected = ValidationException.class)
|
||||
public void testAtLeastOneHoursGroup() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("foo");
|
||||
orderLine.setCode("000000000");
|
||||
order.add(orderLine);
|
||||
|
||||
orderService.save(order);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@ import org.junit.Test;
|
|||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.resources.bootstrap.ICriterionsBootstrap;
|
||||
import org.navalplanner.business.resources.entities.WorkingRelationship;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
|
@ -24,7 +24,7 @@ public class CriterionsBootstrapTest {
|
|||
private ICriterionsBootstrap criterionsBootstrap;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Test
|
||||
public void testBootstrap() throws Exception {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import org.hibernate.validator.InvalidStateException;
|
|||
import org.junit.Assume;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
|
|
@ -29,9 +29,9 @@ import org.navalplanner.business.resources.entities.Interval;
|
|||
import org.navalplanner.business.resources.entities.PredefinedCriterionTypes;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionDAOTest;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest;
|
||||
import org.navalplanner.business.test.resources.entities.ResourceTest;
|
||||
|
|
@ -43,7 +43,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Test cases for {@link CriterionService} <br />
|
||||
* Test cases for {@link ICriterionService} <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
*/
|
||||
|
|
@ -54,13 +54,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
public class CriterionServiceTest {
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private IResourceService resourceService;
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
|
@ -257,7 +257,7 @@ public class CriterionServiceTest {
|
|||
worker1.addSatisfaction(new CriterionWithItsType(criterion.getType(), criterion));
|
||||
resourceService.saveResource(worker1);
|
||||
Resource workerReloaded = criterionService
|
||||
.onTransaction(new OnTransaction<Resource>() {
|
||||
.onTransaction(new IOnTransaction<Resource>() {
|
||||
|
||||
@Override
|
||||
public Resource execute() {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.junit.Test;
|
|||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
|
@ -20,7 +20,7 @@ import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONF
|
|||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
/**
|
||||
* Test cases for {@link CriterionTypeService} <br />
|
||||
* Test cases for {@link ICriterionTypeService} <br />
|
||||
* @author Diego Pino García <dpino@igalia.com>
|
||||
* @author Javier Moran Rúa <jmoran@igalia.com>
|
||||
*/
|
||||
|
|
@ -31,7 +31,7 @@ import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING
|
|||
public class CriterionTypeServiceTest {
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
public CriterionType createValidCriterionType() {
|
||||
String unique = UUID.randomUUID().toString();
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ import org.navalplanner.business.resources.entities.ICriterion;
|
|||
import org.navalplanner.business.resources.entities.ICriterionType;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionDAOTest;
|
||||
import org.navalplanner.business.test.resources.entities.CriterionTest;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -45,13 +45,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
public class ResourceServiceTest {
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private IResourceService resourceService;
|
||||
|
||||
@Autowired
|
||||
private IResourceDAO resourceDao;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Test
|
||||
public void testRemoveResource() throws InstanceNotFoundException {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import java.util.Date;
|
|||
|
||||
import org.zkoss.ganttz.util.Interval;
|
||||
|
||||
public class DatesMapperOnInterval implements DatesMapper {
|
||||
public class DatesMapperOnInterval implements IDatesMapper {
|
||||
private final int horizontalSize;
|
||||
private final Interval stubInterval;
|
||||
private long millisecondsPerPixel;
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ import org.zkoss.ganttz.data.Task;
|
|||
import org.zkoss.ganttz.util.MenuBuilder;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners;
|
||||
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners.ListenerNotification;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners.IListenerNotification;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevel;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevelChangedListener;
|
||||
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.ext.AfterCompose;
|
||||
import org.zkoss.zul.Menupopup;
|
||||
|
|
@ -71,9 +71,9 @@ public class DependencyList extends XulElement implements AfterCompose {
|
|||
|
||||
private static final Log LOG = LogFactory.getLog(DependencyList.class);
|
||||
|
||||
private ZoomLevelChangedListener listener;
|
||||
private IZoomLevelChangedListener listener;
|
||||
|
||||
private final WeakReferencedListeners<DependencyRemovedListener> dependencyRemovedListeners = WeakReferencedListeners
|
||||
private final WeakReferencedListeners<IDependencyRemovedListener> dependencyRemovedListeners = WeakReferencedListeners
|
||||
.create();
|
||||
|
||||
public DependencyList() {
|
||||
|
|
@ -118,7 +118,7 @@ public class DependencyList extends XulElement implements AfterCompose {
|
|||
@Override
|
||||
public void afterCompose() {
|
||||
if (listener == null) {
|
||||
listener = new ZoomLevelChangedListener() {
|
||||
listener = new IZoomLevelChangedListener() {
|
||||
@Override
|
||||
public void zoomLevelChanged(ZoomLevel detailLevel) {
|
||||
for (DependencyComponent dependencyComponent : getDependencyComponents()) {
|
||||
|
|
@ -148,11 +148,11 @@ public class DependencyList extends XulElement implements AfterCompose {
|
|||
Event event) {
|
||||
removeChild(choosen);
|
||||
dependencyRemovedListeners
|
||||
.fireEvent(new ListenerNotification<DependencyRemovedListener>() {
|
||||
.fireEvent(new IListenerNotification<IDependencyRemovedListener>() {
|
||||
|
||||
@Override
|
||||
public void doNotify(
|
||||
DependencyRemovedListener listener) {
|
||||
IDependencyRemovedListener listener) {
|
||||
listener.dependenceRemoved(choosen);
|
||||
|
||||
}
|
||||
|
|
@ -164,7 +164,7 @@ public class DependencyList extends XulElement implements AfterCompose {
|
|||
}
|
||||
|
||||
public void addDependencyRemovedListener(
|
||||
DependencyRemovedListener removedListener) {
|
||||
IDependencyRemovedListener removedListener) {
|
||||
dependencyRemovedListeners.addListener(removedListener);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.zkoss.ganttz;
|
|||
|
||||
import java.util.Date;
|
||||
|
||||
public interface DatesMapper {
|
||||
public interface IDatesMapper {
|
||||
|
||||
int toPixels(Date date);
|
||||
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
package org.zkoss.ganttz;
|
||||
|
||||
public interface DependencyAddedListener {
|
||||
public interface IDependencyAddedListener {
|
||||
|
||||
public void dependenceAdded(DependencyComponent dependencyComponent);
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ package org.zkoss.ganttz;
|
|||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*
|
||||
*/
|
||||
public interface DependencyRemovedListener {
|
||||
public interface IDependencyRemovedListener {
|
||||
|
||||
public void dependenceRemoved(DependencyComponent dependencyComponent);
|
||||
|
||||
|
|
@ -25,9 +25,9 @@ public class Planner extends XulElement {
|
|||
|
||||
private static final Log LOG = LogFactory.getLog(Planner.class);
|
||||
|
||||
private DependencyAddedListener dependencyAddedListener;
|
||||
private IDependencyAddedListener dependencyAddedListener;
|
||||
private GanttDiagramGraph diagramGraph = new GanttDiagramGraph();
|
||||
private DependencyRemovedListener dependencyRemovedListener;
|
||||
private IDependencyRemovedListener dependencyRemovedListener;
|
||||
private LeftPane leftPane;
|
||||
|
||||
private GanttPanel ganttPanel;
|
||||
|
|
@ -84,7 +84,7 @@ public class Planner extends XulElement {
|
|||
|
||||
public void registerListeners() {
|
||||
TaskList taskList = getTaskList();
|
||||
dependencyAddedListener = new DependencyAddedListener() {
|
||||
dependencyAddedListener = new IDependencyAddedListener() {
|
||||
|
||||
@Override
|
||||
public void dependenceAdded(DependencyComponent dependencyComponent) {
|
||||
|
|
@ -95,7 +95,7 @@ public class Planner extends XulElement {
|
|||
}
|
||||
};
|
||||
taskList.addDependencyListener(dependencyAddedListener);
|
||||
dependencyRemovedListener = new DependencyRemovedListener() {
|
||||
dependencyRemovedListener = new IDependencyRemovedListener() {
|
||||
|
||||
@Override
|
||||
public void dependenceRemoved(
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
|
||||
private String _color;
|
||||
|
||||
private List<WeakReference<DependencyAddedListener>> dependencyListeners = new LinkedList<WeakReference<DependencyAddedListener>>();
|
||||
private List<WeakReference<IDependencyAddedListener>> dependencyListeners = new LinkedList<WeakReference<IDependencyAddedListener>>();
|
||||
|
||||
private boolean isTopLevel;
|
||||
|
||||
|
|
@ -201,19 +201,19 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
return null;
|
||||
}
|
||||
|
||||
public void addDependencyListener(DependencyAddedListener listener) {
|
||||
dependencyListeners.add(new WeakReference<DependencyAddedListener>(
|
||||
public void addDependencyListener(IDependencyAddedListener listener) {
|
||||
dependencyListeners.add(new WeakReference<IDependencyAddedListener>(
|
||||
listener));
|
||||
}
|
||||
|
||||
private void fireDependenceAdded(DependencyComponent dependencyComponent) {
|
||||
ArrayList<DependencyAddedListener> active = new ArrayList<DependencyAddedListener>();
|
||||
ArrayList<IDependencyAddedListener> active = new ArrayList<IDependencyAddedListener>();
|
||||
synchronized (this) {
|
||||
ListIterator<WeakReference<DependencyAddedListener>> iterator = dependencyListeners
|
||||
ListIterator<WeakReference<IDependencyAddedListener>> iterator = dependencyListeners
|
||||
.listIterator();
|
||||
while (iterator.hasNext()) {
|
||||
WeakReference<DependencyAddedListener> next = iterator.next();
|
||||
DependencyAddedListener listener = next.get();
|
||||
WeakReference<IDependencyAddedListener> next = iterator.next();
|
||||
IDependencyAddedListener listener = next.get();
|
||||
if (listener == null) {
|
||||
iterator.remove();
|
||||
} else {
|
||||
|
|
@ -221,7 +221,7 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
}
|
||||
}
|
||||
}
|
||||
for (DependencyAddedListener listener : active) {
|
||||
for (IDependencyAddedListener listener : active) {
|
||||
listener.dependenceAdded(dependencyComponent);
|
||||
}
|
||||
}
|
||||
|
|
@ -299,7 +299,7 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
response("depkey", new AuInvoke(this, "addDependency"));
|
||||
}
|
||||
|
||||
private DatesMapper getMapper() {
|
||||
private IDatesMapper getMapper() {
|
||||
return getTaskList().getMapper();
|
||||
}
|
||||
|
||||
|
|
|
|||
364
navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskComponent.java.orig
Executable file
364
navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskComponent.java.orig
Executable file
|
|
@ -0,0 +1,364 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package org.zkoss.ganttz;
|
||||
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.zkoss.ganttz.data.Task;
|
||||
import org.zkoss.ganttz.data.TaskContainer;
|
||||
import org.zkoss.lang.Objects;
|
||||
import org.zkoss.xml.HTMLs;
|
||||
import org.zkoss.zk.au.AuRequest;
|
||||
import org.zkoss.zk.au.Command;
|
||||
import org.zkoss.zk.au.ComponentCommand;
|
||||
import org.zkoss.zk.au.out.AuInvoke;
|
||||
import org.zkoss.zk.mesg.MZk;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.UiException;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
import org.zkoss.zk.ui.ext.AfterCompose;
|
||||
import org.zkoss.zul.Div;
|
||||
|
||||
/**
|
||||
* @author javi
|
||||
*/
|
||||
public class TaskComponent extends Div implements AfterCompose {
|
||||
|
||||
private static final int HEIGHT_PER_TASK = 10;
|
||||
private static final String STANDARD_TASK_COLOR = "#007bbe";
|
||||
|
||||
private static Pattern pixelsSpecificationPattern = Pattern
|
||||
.compile("\\s*(\\d+)px\\s*;?\\s*");
|
||||
|
||||
private static int stripPx(String pixels) {
|
||||
Matcher matcher = pixelsSpecificationPattern.matcher(pixels);
|
||||
if (!matcher.matches())
|
||||
throw new IllegalArgumentException("pixels " + pixels
|
||||
+ " is not valid. It must be "
|
||||
+ pixelsSpecificationPattern.pattern());
|
||||
return Integer.valueOf(matcher.group(1));
|
||||
}
|
||||
|
||||
private static Command _updatecmd = new ComponentCommand(
|
||||
"onUpdatePosition", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent ta = (TaskComponent) request.getComponent();
|
||||
|
||||
if (ta == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 2)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
|
||||
ta.doUpdatePosition(requestData[0], requestData[1]);
|
||||
Events.postEvent(new Event(getId(), ta, request.getData()));
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
private static Command _updatewidthcmd = new ComponentCommand(
|
||||
"onUpdateWidth", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent ta = (TaskComponent) request.getComponent();
|
||||
|
||||
if (ta == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 1)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
|
||||
ta.doUpdateSize(requestData[0]);
|
||||
Events.postEvent(new Event(getId(), ta, request.getData()));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private static Command _adddependencycmd = new ComponentCommand(
|
||||
"onAddDependency", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent taskComponent = (TaskComponent) request.getComponent();
|
||||
|
||||
if (taskComponent == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 1)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
taskComponent.doAddDependency(requestData[0]);
|
||||
Events.postEvent(new Event(getId(), taskComponent, request.getData()));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static TaskComponent asTaskComponent(Task task, TaskList taskList,
|
||||
boolean isTopLevel) {
|
||||
final TaskComponent result;
|
||||
if (task.isContainer()) {
|
||||
result = TaskContainerComponent
|
||||
.asTask((TaskContainer) task, taskList);
|
||||
} else {
|
||||
result = new TaskComponent(task);
|
||||
}
|
||||
result.isTopLevel = isTopLevel;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static TaskComponent asTaskComponent(Task task, TaskList taskList) {
|
||||
return asTaskComponent(task, taskList, true);
|
||||
}
|
||||
|
||||
public TaskComponent(Task task) {
|
||||
setHeight(HEIGHT_PER_TASK + "px");
|
||||
setContext("idContextMenuTaskAssigment");
|
||||
this.task = task;
|
||||
setColor(STANDARD_TASK_COLOR);
|
||||
setId(UUID.randomUUID().toString());
|
||||
}
|
||||
|
||||
protected String calculateClass() {
|
||||
return "box";
|
||||
}
|
||||
|
||||
protected void updateClass() {
|
||||
response(null, new AuInvoke(this, "setClass",
|
||||
new Object[] { calculateClass() }));
|
||||
}
|
||||
|
||||
public void afterCompose() {
|
||||
updateProperties();
|
||||
if (propertiesListener == null) {
|
||||
propertiesListener = new PropertyChangeListener() {
|
||||
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
if (isInPage()) {
|
||||
updateProperties();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
this.task
|
||||
.addFundamentalPropertiesChangeListener(propertiesListener);
|
||||
updateClass();
|
||||
}
|
||||
|
||||
private String _color;
|
||||
|
||||
private List<WeakReference<DependencyAddedListener>> dependencyListeners = new LinkedList<WeakReference<DependencyAddedListener>>();
|
||||
|
||||
private boolean isTopLevel;
|
||||
|
||||
private final Task task;
|
||||
private PropertyChangeListener propertiesListener;
|
||||
|
||||
public Task getTask() {
|
||||
return task;
|
||||
}
|
||||
|
||||
public String getTaskName() {
|
||||
return task.getName();
|
||||
}
|
||||
|
||||
public String getLength() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addDependencyListener(DependencyAddedListener listener) {
|
||||
dependencyListeners.add(new WeakReference<DependencyAddedListener>(
|
||||
listener));
|
||||
}
|
||||
|
||||
private void fireDependenceAdded(DependencyComponent dependencyComponent) {
|
||||
ArrayList<DependencyAddedListener> active = new ArrayList<DependencyAddedListener>();
|
||||
synchronized (this) {
|
||||
ListIterator<WeakReference<DependencyAddedListener>> iterator = dependencyListeners
|
||||
.listIterator();
|
||||
while (iterator.hasNext()) {
|
||||
WeakReference<DependencyAddedListener> next = iterator.next();
|
||||
DependencyAddedListener listener = next.get();
|
||||
if (listener == null) {
|
||||
iterator.remove();
|
||||
} else {
|
||||
active.add(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (DependencyAddedListener listener : active) {
|
||||
listener.dependenceAdded(dependencyComponent);
|
||||
}
|
||||
}
|
||||
|
||||
public Command getCommand(String cmdId) {
|
||||
|
||||
Command c = null;
|
||||
|
||||
if ("updatePosition".equals(cmdId))
|
||||
c = _updatecmd;
|
||||
else if ("updateSize".equals(cmdId))
|
||||
c = _updatewidthcmd;
|
||||
else if ("addDependency".equals(cmdId))
|
||||
c = _adddependencycmd;
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
// Command action to do
|
||||
void doUpdatePosition(String leftX, String topY) {
|
||||
this.task.setBeginDate(getMapper().toDate(stripPx(leftX)));
|
||||
}
|
||||
|
||||
void doUpdateSize(String size) {
|
||||
int pixels = stripPx(size);
|
||||
this.task.setLengthMilliseconds(getMapper().toMilliseconds(pixels));
|
||||
}
|
||||
|
||||
void doAddDependency(String destinyTaskId) {
|
||||
DependencyComponent dependencyComponent = new DependencyComponent(this,
|
||||
((TaskComponent) getFellow(destinyTaskId)));
|
||||
if (getPlanner().canAddDependency(dependencyComponent.getDependency())) {
|
||||
fireDependenceAdded(dependencyComponent);
|
||||
}
|
||||
}
|
||||
|
||||
public String getColor() {
|
||||
return _color;
|
||||
}
|
||||
|
||||
public void setColor(String color) {
|
||||
|
||||
if ((color != null) && (color.length() == 0)) {
|
||||
color = null;
|
||||
}
|
||||
|
||||
if (!Objects.equals(_color, color)) {
|
||||
_color = color;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* We override the method of getRealStyle to put the color property as part
|
||||
* of the style
|
||||
*/
|
||||
|
||||
protected String getRealStyle() {
|
||||
|
||||
final StringBuffer sb = new StringBuffer(super.getRealStyle());
|
||||
|
||||
if (getColor() != null) {
|
||||
HTMLs.appendStyle(sb, "background-color", getColor());
|
||||
}
|
||||
HTMLs.appendStyle(sb, "position", "absolute");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/*
|
||||
* We send a response to the client to create the arrow we are going to use
|
||||
* to create the dependency
|
||||
*/
|
||||
|
||||
public void addDependency() {
|
||||
response("depkey", new AuInvoke(this, "addDependency"));
|
||||
}
|
||||
|
||||
private DatesMapper getMapper() {
|
||||
return getTaskList().getMapper();
|
||||
}
|
||||
|
||||
public TaskList getTaskList() {
|
||||
return (TaskList) getParent();
|
||||
}
|
||||
|
||||
public Planner getPlanner() {
|
||||
return getTaskList().getPlanner();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParent(Component parent) {
|
||||
if (parent != null && !(parent instanceof TaskList))
|
||||
throw new UiException("Unsupported parent for rows: " + parent);
|
||||
super.setParent(parent);
|
||||
}
|
||||
|
||||
public void zoomChanged() {
|
||||
updateProperties();
|
||||
}
|
||||
|
||||
private void updateProperties() {
|
||||
setLeft("0");
|
||||
setLeft(getMapper().toPixels(this.task.getBeginDate()) + "px");
|
||||
setWidth("0");
|
||||
setWidth(getMapper().toPixels(this.task.getLengthMilliseconds())
|
||||
+ "px");
|
||||
smartUpdate("name", this.task.getName());
|
||||
DependencyList dependencyList = getDependencyList();
|
||||
if (dependencyList != null) {
|
||||
dependencyList.redrawDependenciesConnectedTo(this);
|
||||
}
|
||||
}
|
||||
|
||||
private DependencyList getDependencyList() {
|
||||
return getPlanner().getDependencyList();
|
||||
}
|
||||
|
||||
private boolean isInPage() {
|
||||
return getParent() != null;
|
||||
}
|
||||
|
||||
void publishTaskComponents(Map<Task, TaskComponent> resultAccumulated) {
|
||||
resultAccumulated.put(getTask(), this);
|
||||
publishDescendants(resultAccumulated);
|
||||
}
|
||||
|
||||
protected void publishDescendants(Map<Task, TaskComponent> resultAccumulated) {
|
||||
|
||||
}
|
||||
|
||||
protected void remove() {
|
||||
getDependencyList().taskRemoved(this.getTask());
|
||||
this.detach();
|
||||
}
|
||||
|
||||
public boolean isTopLevel() {
|
||||
return isTopLevel;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -20,7 +20,7 @@ import org.zkoss.ganttz.data.Task;
|
|||
import org.zkoss.ganttz.util.MenuBuilder;
|
||||
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevel;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevelChangedListener;
|
||||
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
|
||||
import org.zkoss.zk.au.out.AuInvoke;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
|
|
@ -37,9 +37,9 @@ public class TaskList extends XulElement implements AfterCompose {
|
|||
|
||||
private static final int HEIGHT_PER_ROW = 20; /* 30 */
|
||||
|
||||
private List<WeakReference<DependencyAddedListener>> listeners = new LinkedList<WeakReference<DependencyAddedListener>>();
|
||||
private List<WeakReference<IDependencyAddedListener>> listeners = new LinkedList<WeakReference<IDependencyAddedListener>>();
|
||||
|
||||
private ZoomLevelChangedListener zoomLevelChangedListener;
|
||||
private IZoomLevelChangedListener zoomLevelChangedListener;
|
||||
|
||||
private Menupopup contextMenu;
|
||||
|
||||
|
|
@ -93,10 +93,10 @@ public class TaskList extends XulElement implements AfterCompose {
|
|||
|
||||
addContextMenu(taskComponent);
|
||||
addListenerForTaskComponentEditForm(taskComponent);
|
||||
ListIterator<WeakReference<DependencyAddedListener>> iterator = listeners
|
||||
ListIterator<WeakReference<IDependencyAddedListener>> iterator = listeners
|
||||
.listIterator();
|
||||
while (iterator.hasNext()) {
|
||||
DependencyAddedListener listener = iterator.next().get();
|
||||
IDependencyAddedListener listener = iterator.next().get();
|
||||
if (listener != null) {
|
||||
taskComponent.addDependencyListener(listener);
|
||||
} else {
|
||||
|
|
@ -208,7 +208,7 @@ public class TaskList extends XulElement implements AfterCompose {
|
|||
return getGanttPanel().getTimeTracker();
|
||||
}
|
||||
|
||||
DatesMapper getMapper() {
|
||||
IDatesMapper getMapper() {
|
||||
return getTimeTracker().getMapper();
|
||||
}
|
||||
|
||||
|
|
@ -236,8 +236,8 @@ public class TaskList extends XulElement implements AfterCompose {
|
|||
return getTaskComponents().size();
|
||||
}
|
||||
|
||||
public void addDependencyListener(DependencyAddedListener listener) {
|
||||
listeners.add(new WeakReference<DependencyAddedListener>(listener));
|
||||
public void addDependencyListener(IDependencyAddedListener listener) {
|
||||
listeners.add(new WeakReference<IDependencyAddedListener>(listener));
|
||||
for (TaskComponent taskComponent : getTaskComponents()) {
|
||||
taskComponent.addDependencyListener(listener);
|
||||
}
|
||||
|
|
@ -249,7 +249,7 @@ public class TaskList extends XulElement implements AfterCompose {
|
|||
addTaskComponent(TaskComponent.asTaskComponent(task, this), false);
|
||||
}
|
||||
if (zoomLevelChangedListener == null) {
|
||||
zoomLevelChangedListener = new ZoomLevelChangedListener() {
|
||||
zoomLevelChangedListener = new IZoomLevelChangedListener() {
|
||||
@Override
|
||||
public void zoomLevelChanged(ZoomLevel detailLevel) {
|
||||
for (TaskComponent taskComponent : getTaskComponents()) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import java.util.ListIterator;
|
|||
import org.zkoss.ganttz.util.Interval;
|
||||
import org.zkoss.ganttz.util.zoom.TimeTrackerState;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevel;
|
||||
import org.zkoss.ganttz.util.zoom.ZoomLevelChangedListener;
|
||||
import org.zkoss.ganttz.util.zoom.IZoomLevelChangedListener;
|
||||
import org.zkoss.ganttz.util.zoom.TimeTrackerState.DetailItem;
|
||||
import org.zkoss.zk.au.out.AuInvoke;
|
||||
import org.zkoss.zk.ui.HtmlMacroComponent;
|
||||
|
|
@ -30,9 +30,9 @@ public class TimeTracker extends HtmlMacroComponent {
|
|||
.year(2012));
|
||||
}
|
||||
|
||||
private List<WeakReference<ZoomLevelChangedListener>> zoomListeners = new LinkedList<WeakReference<ZoomLevelChangedListener>>();
|
||||
private List<WeakReference<IZoomLevelChangedListener>> zoomListeners = new LinkedList<WeakReference<IZoomLevelChangedListener>>();
|
||||
|
||||
private DatesMapper datesMapper = null;
|
||||
private IDatesMapper datesMapper = null;
|
||||
|
||||
private Collection<DetailItem> detailsFirstLevelCached = null;
|
||||
|
||||
|
|
@ -51,9 +51,9 @@ public class TimeTracker extends HtmlMacroComponent {
|
|||
this.detailLevel = ZoomLevel.DETAIL_ONE;
|
||||
}
|
||||
|
||||
public void addZoomListener(ZoomLevelChangedListener listener) {
|
||||
public void addZoomListener(IZoomLevelChangedListener listener) {
|
||||
zoomListeners
|
||||
.add(new WeakReference<ZoomLevelChangedListener>(listener));
|
||||
.add(new WeakReference<IZoomLevelChangedListener>(listener));
|
||||
}
|
||||
|
||||
public void scrollHorizontalPercentage(int displacement) {
|
||||
|
|
@ -62,10 +62,10 @@ public class TimeTracker extends HtmlMacroComponent {
|
|||
}
|
||||
|
||||
private void fireZoomChanged(ZoomLevel detailLevel) {
|
||||
ListIterator<WeakReference<ZoomLevelChangedListener>> listIterator = zoomListeners
|
||||
ListIterator<WeakReference<IZoomLevelChangedListener>> listIterator = zoomListeners
|
||||
.listIterator();
|
||||
while (listIterator.hasNext()) {
|
||||
ZoomLevelChangedListener listener = listIterator.next().get();
|
||||
IZoomLevelChangedListener listener = listIterator.next().get();
|
||||
if (listener == null) {
|
||||
listIterator.remove();
|
||||
} else {
|
||||
|
|
@ -135,7 +135,7 @@ public class TimeTracker extends HtmlMacroComponent {
|
|||
return detailLevel;
|
||||
}
|
||||
|
||||
public DatesMapper getMapper() {
|
||||
public IDatesMapper getMapper() {
|
||||
if (datesMapper == null) {
|
||||
datesMapper = new DatesMapperOnInterval(getHorizontalSize(),
|
||||
getRealInterval());
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners.ListenerNotification;
|
||||
import org.zkoss.ganttz.util.WeakReferencedListeners.IListenerNotification;
|
||||
|
||||
/**
|
||||
* This class contains the information of a task container. It can be modified
|
||||
|
|
@ -147,7 +147,7 @@ public class TaskContainer extends Task {
|
|||
}
|
||||
if (valueChanged) {
|
||||
expandListeners
|
||||
.fireEvent(new ListenerNotification<IExpandListener>() {
|
||||
.fireEvent(new IListenerNotification<IExpandListener>() {
|
||||
|
||||
@Override
|
||||
public void doNotify(IExpandListener listener) {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import java.util.ListIterator;
|
|||
|
||||
public class WeakReferencedListeners<T> {
|
||||
|
||||
public interface ListenerNotification<T> {
|
||||
public interface IListenerNotification<T> {
|
||||
|
||||
void doNotify(T listener);
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ public class WeakReferencedListeners<T> {
|
|||
}
|
||||
|
||||
public synchronized void fireEvent(
|
||||
ListenerNotification<? super T> notification) {
|
||||
IListenerNotification<? super T> notification) {
|
||||
ListIterator<WeakReference<T>> listIterator = listeners.listIterator();
|
||||
ArrayList<T> active = new ArrayList<T>();
|
||||
while (listIterator.hasNext()) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package org.zkoss.ganttz.util.zoom;
|
||||
|
||||
|
||||
public interface ZoomLevelChangedListener {
|
||||
public interface IZoomLevelChangedListener {
|
||||
|
||||
public void zoomLevelChanged(ZoomLevel detailLevel);
|
||||
|
||||
|
|
@ -17,24 +17,24 @@ import org.springframework.stereotype.Component;
|
|||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class ConverterFactory implements IConverterFactory {
|
||||
|
||||
private Map<Class<?>, Converter<?>> convertersByType = new HashMap<Class<?>, Converter<?>>();
|
||||
private Map<Class<?>, IConverter<?>> convertersByType = new HashMap<Class<?>, IConverter<?>>();
|
||||
|
||||
@Autowired
|
||||
public ConverterFactory(List<Converter<?>> converters) {
|
||||
for (Converter<?> converter : converters) {
|
||||
public ConverterFactory(List<IConverter<?>> converters) {
|
||||
for (IConverter<?> converter : converters) {
|
||||
convertersByType.put(converter.getType(), converter);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Converter<? super T> getConverterFor(Class<T> klass) {
|
||||
public <T> IConverter<? super T> getConverterFor(Class<T> klass) {
|
||||
if (convertersByType.containsKey(klass))
|
||||
return (Converter<? super T>) convertersByType.get(klass);
|
||||
return (IConverter<? super T>) convertersByType.get(klass);
|
||||
for (Class<?> registeredKlass : convertersByType.keySet()) {
|
||||
if (registeredKlass.isAssignableFrom(klass)) {
|
||||
Converter<?> result = convertersByType.get(registeredKlass);
|
||||
IConverter<?> result = convertersByType.get(registeredKlass);
|
||||
convertersByType.put(klass, result);
|
||||
return (Converter<? super T>) result;
|
||||
return (IConverter<? super T>) result;
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("not found converter for " + klass);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ package org.navalplanner.web.common.converters;
|
|||
* back <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
public interface Converter<T> {
|
||||
public interface IConverter<T> {
|
||||
|
||||
Class<T> getType();
|
||||
|
||||
|
|
@ -7,6 +7,6 @@ package org.navalplanner.web.common.converters;
|
|||
*/
|
||||
public interface IConverterFactory {
|
||||
|
||||
<T> Converter<? super T> getConverterFor(Class<T> klass);
|
||||
<T> IConverter<? super T> getConverterFor(Class<T> klass);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ import org.springframework.context.annotation.Scope;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* A {@link Converter} for {@link Order} <br />
|
||||
* A {@link IConverter} for {@link Order} <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class OrderConverter implements Converter<Order> {
|
||||
public class OrderConverter implements IConverter<Order> {
|
||||
|
||||
@Autowired
|
||||
private IOrderService orderService;
|
||||
|
|
|
|||
|
|
@ -2,22 +2,22 @@ package org.navalplanner.web.common.converters;
|
|||
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* A {@link Converter} for {@link Resource} <br />
|
||||
* A {@link IConverter} for {@link Resource} <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class ResourceConverter implements Converter<Resource> {
|
||||
public class ResourceConverter implements IConverter<Resource> {
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private IResourceService resourceService;
|
||||
|
||||
@Override
|
||||
public Resource asObject(String stringRepresentation) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class WorkReportTypeConverter implements Converter<WorkReportType> {
|
||||
public class WorkReportTypeConverter implements IConverter<WorkReportType> {
|
||||
|
||||
@Autowired
|
||||
private IWorkReportTypeDAO workReportTypeDAO;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.zkoss.zk.ui.Executions;
|
|||
*/
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||
public class DefaultExecutorRetriever implements ExecutorRetriever {
|
||||
public class DefaultExecutorRetriever implements IExecutorRetriever {
|
||||
|
||||
@Override
|
||||
public Execution getCurrent() {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import org.zkoss.zk.ui.Execution;
|
|||
* It's used for retrieving the current {@link Execution} object <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
public interface ExecutorRetriever {
|
||||
public interface IExecutorRetriever {
|
||||
|
||||
public Execution getCurrent();
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
|
|||
import org.apache.commons.lang.Validate;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.navalplanner.web.common.converters.Converter;
|
||||
import org.navalplanner.web.common.converters.IConverter;
|
||||
import org.navalplanner.web.common.converters.IConverterFactory;
|
||||
import org.zkoss.zk.ui.Execution;
|
||||
import org.zkoss.zk.ui.Page;
|
||||
|
|
@ -43,7 +43,7 @@ public class URLHandler<T> {
|
|||
}
|
||||
}
|
||||
|
||||
private final ExecutorRetriever executorRetriever;
|
||||
private final IExecutorRetriever executorRetriever;
|
||||
|
||||
private Map<String, EntryPointMetadata> metadata = new HashMap<String, EntryPointMetadata>();
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ public class URLHandler<T> {
|
|||
private final IConverterFactory converterFactory;
|
||||
|
||||
public URLHandler(IConverterFactory converterFactory,
|
||||
ExecutorRetriever executorRetriever,
|
||||
IExecutorRetriever executorRetriever,
|
||||
Class<T> interfaceDefiningEntryPoints) {
|
||||
Validate.isTrue(interfaceDefiningEntryPoints.isInterface());
|
||||
this.converterFactory = converterFactory;
|
||||
|
|
@ -89,7 +89,7 @@ public class URLHandler<T> {
|
|||
String[] stringRepresentations = new String[parameterNames.length];
|
||||
for (int i = 0; i < types.length; i++) {
|
||||
Class<?> type = types[i];
|
||||
Converter<?> converterFor = converterFactory.getConverterFor(type);
|
||||
IConverter<?> converterFor = converterFactory.getConverterFor(type);
|
||||
stringRepresentations[i] = converterFor
|
||||
.asStringUngeneric(values[i]);
|
||||
}
|
||||
|
|
@ -213,7 +213,7 @@ public class URLHandler<T> {
|
|||
for (int i = 0; i < parameterTypes.length; i++) {
|
||||
Object argumentName = linkToStateAnnotation.value()[i];
|
||||
String parameterValue = matrixParams.get(argumentName);
|
||||
Converter<?> converter = converterFactory
|
||||
IConverter<?> converter = converterFactory
|
||||
.getConverterFor(parameterTypes[i]);
|
||||
result[i] = converter.asObject(parameterValue);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import org.springframework.stereotype.Component;
|
|||
public class URLHandlerRegistry implements IURLHandlerRegistry {
|
||||
|
||||
@Autowired
|
||||
private ExecutorRetriever executorRetriever;
|
||||
private IExecutorRetriever executorRetriever;
|
||||
|
||||
@Autowired
|
||||
private IConverterFactory converterFactory;
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ import org.navalplanner.business.resources.bootstrap.ICriterionsBootstrap;
|
|||
import org.navalplanner.business.resources.daos.ICriterionTypeDAO;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -39,10 +39,10 @@ public class OrderElementModel implements IOrderElementModel {
|
|||
private ICriterionsBootstrap criterionsBootstrap;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
private Map<String, CriterionType> mapCriterionTypes = new HashMap<String, CriterionType>();
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ import org.navalplanner.business.orders.services.IOrderService;
|
|||
import org.navalplanner.business.planner.services.ITaskElementService;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -37,10 +37,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
public class OrderModel implements IOrderModel {
|
||||
|
||||
@Autowired
|
||||
CriterionService criterionService;
|
||||
ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
CriterionTypeService criterionTypeService;
|
||||
ICriterionTypeService criterionTypeService;
|
||||
|
||||
private static final Map<CriterionType, List<Criterion>> mapCriterions = new HashMap<CriterionType, List<Criterion>>();
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.zkoss.ganttz.adapters.PlannerConfiguration;
|
|||
*/
|
||||
public interface IOrderPlanningModel {
|
||||
|
||||
public interface ConfigurationOnTransaction {
|
||||
public interface IConfigurationOnTransaction {
|
||||
public void use(PlannerConfiguration<TaskElement> configuration);
|
||||
}
|
||||
|
||||
|
|
@ -17,6 +17,6 @@ public interface IOrderPlanningModel {
|
|||
ResourceAllocationController resourceAllocationController,
|
||||
EditTaskController editTaskController,
|
||||
SplittingController splittingController,
|
||||
ConfigurationOnTransaction onTransaction);
|
||||
IConfigurationOnTransaction onTransaction);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import org.navalplanner.business.orders.entities.Order;
|
|||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.web.common.entrypoints.IURLHandlerRegistry;
|
||||
import org.navalplanner.web.common.entrypoints.URLHandler;
|
||||
import org.navalplanner.web.planner.IOrderPlanningModel.ConfigurationOnTransaction;
|
||||
import org.navalplanner.web.planner.IOrderPlanningModel.IConfigurationOnTransaction;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -53,7 +53,7 @@ public class OrderPlanningController implements
|
|||
public void showSchedule(Order order) {
|
||||
model.createConfiguration(order, resourceAllocationController,
|
||||
editTaskController, splittingController,
|
||||
new ConfigurationOnTransaction() {
|
||||
new IConfigurationOnTransaction() {
|
||||
|
||||
@Override
|
||||
public void use(PlannerConfiguration<TaskElement> configuration) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
ResourceAllocationController resourceAllocationController,
|
||||
EditTaskController editTaskController,
|
||||
SplittingController splittingController,
|
||||
ConfigurationOnTransaction onTransaction) {
|
||||
IConfigurationOnTransaction onTransaction) {
|
||||
Order orderReloaded = reload(order);
|
||||
if (!orderReloaded.isSomeTaskElementScheduled())
|
||||
throw new IllegalArgumentException("the order " + order
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import java.util.List;
|
|||
import org.navalplanner.business.planner.entities.Task;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.planner.entities.TaskGroup;
|
||||
import org.navalplanner.web.planner.SplittingController.ActionOnOk;
|
||||
import org.navalplanner.web.planner.SplittingController.IActionOnOk;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -34,7 +34,7 @@ public class SplitTaskCommand implements ISplitTaskCommand {
|
|||
int[] shares = createTwoEqualShares(taskElement);
|
||||
splittingController.show(
|
||||
ShareBean.toShareBeans(task.getName(), shares), task
|
||||
.getWorkHours(), new ActionOnOk() {
|
||||
.getWorkHours(), new IActionOnOk() {
|
||||
|
||||
@Override
|
||||
public void doOkAction(ShareBean[] shares) {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import org.zkoss.zul.api.Grid;
|
|||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class SplittingController extends GenericForwardComposer {
|
||||
|
||||
private ActionOnOk curentAction;
|
||||
private IActionOnOk curentAction;
|
||||
private Window window;
|
||||
|
||||
private Grid sharesListing;
|
||||
|
|
@ -26,12 +26,12 @@ public class SplittingController extends GenericForwardComposer {
|
|||
private List<ShareBean> sharesList;
|
||||
private Integer totalHours;
|
||||
|
||||
public interface ActionOnOk {
|
||||
public interface IActionOnOk {
|
||||
public void doOkAction(ShareBean[] shares);
|
||||
}
|
||||
|
||||
public void show(List<ShareBean> initialSharesList, Integer totalHours,
|
||||
ActionOnOk ok) {
|
||||
IActionOnOk ok) {
|
||||
this.sharesList = initialSharesList;
|
||||
this.totalHours = totalHours;
|
||||
this.curentAction = ok;
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ import org.navalplanner.business.resources.entities.CriterionWithItsType;
|
|||
import org.navalplanner.business.resources.entities.ICriterionType;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -44,13 +44,13 @@ public class CriterionsModel implements ICriterionsModel {
|
|||
private ICriterionsBootstrap criterionsBootstrap;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
private IResourceService resourceService;
|
||||
|
||||
private ICriterionType<?> criterionType;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import org.hibernate.validator.InvalidValue;
|
|||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.entities.CriterionSatisfaction;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.web.common.IMessagesForUser;
|
||||
import org.navalplanner.web.common.Level;
|
||||
import org.navalplanner.web.common.MessagesForUser;
|
||||
|
|
@ -53,7 +53,7 @@ public class WorkerCRUDController extends GenericForwardComposer implements
|
|||
|
||||
private LocalizationsController localizationsForCreationController;
|
||||
|
||||
private CriterionService criterionService;
|
||||
private ICriterionService criterionService;
|
||||
|
||||
private WorkRelationshipsController editWorkRelationship;
|
||||
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ import org.navalplanner.business.resources.entities.Interval;
|
|||
import org.navalplanner.business.resources.entities.PredefinedCriterionTypes;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -40,19 +40,19 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class WorkerModel implements IWorkerModel {
|
||||
|
||||
private final ResourceService resourceService;
|
||||
private final IResourceService resourceService;
|
||||
private final ICriterionType<?>[] laboralRelatedTypes = {
|
||||
PredefinedCriterionTypes.LEAVE,
|
||||
PredefinedCriterionTypes.WORK_RELATIONSHIP };
|
||||
private Worker worker;
|
||||
private ClassValidator<Worker> workerValidator;
|
||||
private final CriterionService criterionService;
|
||||
private final ICriterionService criterionService;
|
||||
|
||||
private IMultipleCriterionActiveAssigner localizationsAssigner;
|
||||
|
||||
@Autowired
|
||||
public WorkerModel(ResourceService resourceService,
|
||||
CriterionService criterionService) {
|
||||
public WorkerModel(IResourceService resourceService,
|
||||
ICriterionService criterionService) {
|
||||
Validate.notNull(resourceService);
|
||||
Validate.notNull(criterionService);
|
||||
this.resourceService = resourceService;
|
||||
|
|
@ -224,7 +224,7 @@ public class WorkerModel implements IWorkerModel {
|
|||
IMultipleCriterionActiveAssigner {
|
||||
private final Resource resource;
|
||||
private final ICriterionType<?> type;
|
||||
private final CriterionService criterionService;
|
||||
private final ICriterionService criterionService;
|
||||
private List<CriterionSatisfaction> history;
|
||||
private List<Criterion> initialCriterionsNotAssigned;
|
||||
private Set<CriterionSatisfaction> initialActive;
|
||||
|
|
@ -234,7 +234,7 @@ public class WorkerModel implements IWorkerModel {
|
|||
private Set<CriterionSatisfaction> added = new HashSet<CriterionSatisfaction>();
|
||||
|
||||
public MultipleCriterionActiveAssigner(
|
||||
CriterionService criterionService, Resource resource,
|
||||
ICriterionService criterionService, Resource resource,
|
||||
ICriterionType<?> type) {
|
||||
Validate
|
||||
.isTrue(
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import org.hibernate.validator.InvalidValue;
|
|||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionTypeService;
|
||||
import org.navalplanner.business.resources.services.ICriterionTypeService;
|
||||
import org.navalplanner.business.workreports.daos.WorkReportTypeDAO;
|
||||
import org.navalplanner.business.workreports.entities.WorkReportType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -29,7 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
public class WorkReportTypeModel implements IWorkReportTypeModel {
|
||||
|
||||
@Autowired
|
||||
private CriterionTypeService criterionTypeService;
|
||||
private ICriterionTypeService criterionTypeService;
|
||||
|
||||
private WorkReportType workReportType;
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ import org.navalplanner.business.common.exceptions.ValidationException;
|
|||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.PredefinedCriterionTypes;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.resources.services.ResourceService;
|
||||
import org.navalplanner.business.resources.services.ICriterionService;
|
||||
import org.navalplanner.business.resources.services.IResourceService;
|
||||
import org.navalplanner.web.resources.worker.WorkerModel;
|
||||
|
||||
/**
|
||||
|
|
@ -26,8 +26,8 @@ public class WorkerModelTest {
|
|||
@Test
|
||||
public void testWorkerValid() throws ValidationException,
|
||||
InstanceNotFoundException {
|
||||
ResourceService resourceServiceMock = createMock(ResourceService.class);
|
||||
CriterionService criterionServiceMock = createMock(CriterionService.class);
|
||||
IResourceService resourceServiceMock = createMock(IResourceService.class);
|
||||
ICriterionService criterionServiceMock = createMock(ICriterionService.class);
|
||||
Worker workerToReturn = new Worker();
|
||||
workerToReturn.setDailyHours(2);
|
||||
workerToReturn.setFirstName("firstName");
|
||||
|
|
@ -54,8 +54,8 @@ public class WorkerModelTest {
|
|||
@Test(expected = ValidationException.class)
|
||||
public void testWorkerInvalid() throws ValidationException,
|
||||
InstanceNotFoundException {
|
||||
ResourceService resourceServiceMock = createMock(ResourceService.class);
|
||||
CriterionService criterionServiceMock = createMock(CriterionService.class);
|
||||
IResourceService resourceServiceMock = createMock(IResourceService.class);
|
||||
ICriterionService criterionServiceMock = createMock(ICriterionService.class);
|
||||
Worker workerToReturn = new Worker();
|
||||
// expectations
|
||||
Collection<Criterion> criterions = new ArrayList<Criterion>();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue