Move and rename ResourceSearchModel to ResourcesSearcher

Now it's in bussiness so it can be reused in bussiness too.

FEA: ItEr74S04BugFixing
This commit is contained in:
Óscar González Fernández 2011-04-11 18:26:49 +02:00
parent 2f54a627f8
commit 4fb1783673
13 changed files with 29 additions and 29 deletions

View file

@ -115,7 +115,7 @@ public abstract class HoursModification extends AllocationModification {
for (HoursModification each : result) {
each.withNewResources(resourceDAO);
}
return result;
return ensureNoOneWithoutAssociatedResources(result, resourceDAO);
}
private final int hours;

View file

@ -211,7 +211,7 @@ public abstract class ResourcesPerDayModification extends
for (ResourcesPerDayModification each : result) {
each.withNewResources(resourceDAO);
}
return result;
return ensureNoOneWithoutAssociatedResources(result, resourceDAO);
}
public static ResourcesPerDayModification create(

View file

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.navalplanner.web.resources.search;
package org.navalplanner.business.resources.daos;
import java.util.Collection;
import java.util.List;
@ -39,7 +39,7 @@ import org.navalplanner.business.resources.entities.Worker;
*
* @author Diego Pino Garcia <dpino@igalia.com>
*/
public interface IResourceSearchModel {
public interface IResourcesSearcher {
public interface IResourcesQuery<T extends Resource> {
@ -84,7 +84,7 @@ public interface IResourceSearchModel {
* a type compatible for this query.
* </p>
* For example if this query has been created by
* {@link IResourceSearchModel#searchWorkers()} only the criteria with
* {@link IResourcesSearcher#searchWorkers()} only the criteria with
* criterion type such its resource is {@link ResourceEnum.WORKER}
* @return HashMap<CriterionType, Set<Criterion>>
*/

View file

@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.navalplanner.web.resources.search;
package org.navalplanner.business.resources.daos;
import static org.hibernate.criterion.Restrictions.eq;
import static org.hibernate.criterion.Restrictions.ilike;
@ -43,7 +43,6 @@ import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;
import org.navalplanner.business.common.IAdHocTransactionService;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.resources.daos.ICriterionDAO;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.resources.entities.Machine;
@ -61,9 +60,9 @@ import org.springframework.stereotype.Service;
/**
* @author Diego Pino Garcia <dpino@igalia.com>
*/
public class ResourceSearchModel implements IResourceSearchModel {
public class ResourcesSearcher implements IResourcesSearcher {
private static final Log LOG = LogFactory.getLog(ResourceSearchModel.class);
private static final Log LOG = LogFactory.getLog(ResourcesSearcher.class);
@Autowired
private IAdHocTransactionService adHocTransactionService;

View file

@ -23,13 +23,13 @@ package org.navalplanner.web.common.components;
import java.util.List;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.daos.IResourcesSearcher.IResourcesQuery;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.ResourceEnum;
import org.navalplanner.business.resources.entities.Worker;
import org.navalplanner.web.I18nHelper;
import org.navalplanner.web.planner.allocation.INewAllocationsAdder;
import org.navalplanner.web.resources.search.IResourceSearchModel;
import org.navalplanner.web.resources.search.IResourceSearchModel.IResourcesQuery;
import org.navalplanner.web.resources.search.NewAllocationSelectorController;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Radiogroup;
@ -59,7 +59,7 @@ public class NewAllocationSelector extends AllocationSelector {
@Override
public IResourcesQuery<?> doQueryOn(
IResourceSearchModel resourceSearchModel) {
IResourcesSearcher resourceSearchModel) {
return resourceSearchModel.searchWorkers();
}
@ -81,7 +81,7 @@ public class NewAllocationSelector extends AllocationSelector {
@Override
public IResourcesQuery<?> doQueryOn(
IResourceSearchModel resourceSearchModel) {
IResourcesSearcher resourceSearchModel) {
return resourceSearchModel.searchMachines();
}
@ -100,7 +100,7 @@ public class NewAllocationSelector extends AllocationSelector {
@Override
public IResourcesQuery<?> doQueryOn(
IResourceSearchModel resourceSearchModel) {
IResourcesSearcher resourceSearchModel) {
return resourceSearchModel.searchBoth();
}
@ -142,7 +142,7 @@ public class NewAllocationSelector extends AllocationSelector {
INewAllocationsAdder allocationsAdder);
public abstract IResourcesQuery<?> doQueryOn(
IResourceSearchModel resourceSearchModel);
IResourcesSearcher resourceSearchModel);
public abstract String asCaption(List<Criterion> criterions);

View file

@ -47,13 +47,13 @@ import org.navalplanner.business.planner.entities.Task;
import org.navalplanner.business.planner.entities.Task.ModifiedAllocation;
import org.navalplanner.business.planner.entities.allocationalgorithms.HoursModification;
import org.navalplanner.business.planner.entities.allocationalgorithms.ResourcesPerDayModification;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.resources.entities.ResourceEnum;
import org.navalplanner.business.workingday.EffortDuration;
import org.navalplanner.business.workingday.ResourcesPerDay;
import org.navalplanner.web.common.Util;
import org.navalplanner.web.planner.allocation.ResourceAllocationController.DerivedAllocationColumn;
import org.navalplanner.web.resources.search.IResourceSearchModel;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.EventListener;
@ -185,7 +185,7 @@ public abstract class AllocationRow {
public static List<AllocationRow> toRows(
Collection<? extends ResourceAllocation<?>> resourceAllocations,
IResourceSearchModel searchModel) {
IResourcesSearcher searchModel) {
List<AllocationRow> result = new ArrayList<AllocationRow>();
result.addAll(GenericAllocationRow.toGenericAllocations(
resourceAllocations, searchModel));

View file

@ -36,12 +36,12 @@ import org.navalplanner.business.planner.entities.ResourceAllocation;
import org.navalplanner.business.planner.entities.Task;
import org.navalplanner.business.planner.entities.allocationalgorithms.HoursModification;
import org.navalplanner.business.planner.entities.allocationalgorithms.ResourcesPerDayModification;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.resources.entities.ResourceEnum;
import org.navalplanner.business.resources.entities.ResourceType;
import org.navalplanner.business.workingday.ResourcesPerDay;
import org.navalplanner.web.resources.search.IResourceSearchModel;
/**
* The information required for creating a {@link GenericResourceAllocation}
@ -72,7 +72,7 @@ public class GenericAllocationRow extends AllocationRow {
public static GenericAllocationRow from(
GenericResourceAllocation resourceAllocation,
IResourceSearchModel searchModel) {
IResourcesSearcher searchModel) {
GenericAllocationRow result = createDefault(resourceAllocation
.getResourceType());
result.setOrigin(resourceAllocation);
@ -105,7 +105,7 @@ public class GenericAllocationRow extends AllocationRow {
public static Collection<GenericAllocationRow> toGenericAllocations(
Collection<? extends ResourceAllocation<?>> resourceAllocations,
IResourceSearchModel searchModel) {
IResourcesSearcher searchModel) {
ArrayList<GenericAllocationRow> result = new ArrayList<GenericAllocationRow>();
for (ResourceAllocation<?> resourceAllocation : resourceAllocations) {
if (resourceAllocation instanceof GenericResourceAllocation) {

View file

@ -46,6 +46,7 @@ import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.business.planner.entities.DerivedAllocationGenerator.IWorkerFinder;
import org.navalplanner.business.resources.daos.ICriterionDAO;
import org.navalplanner.business.resources.daos.IResourceDAO;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionSatisfaction;
import org.navalplanner.business.resources.entities.CriterionType;
@ -55,7 +56,6 @@ import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.resources.entities.ResourceEnum;
import org.navalplanner.business.resources.entities.Worker;
import org.navalplanner.web.planner.order.PlanningState;
import org.navalplanner.web.resources.search.IResourceSearchModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -80,7 +80,7 @@ public class ResourceAllocationModel implements IResourceAllocationModel {
private IResourceDAO resourceDAO;
@Autowired
private IResourceSearchModel searchModel;
private IResourcesSearcher searchModel;
@Autowired
private IHoursGroupDAO hoursGroupDAO;

View file

@ -35,13 +35,13 @@ import org.apache.commons.lang.math.Fraction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.navalplanner.business.planner.entities.ResourceAllocation;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionCompounder;
import org.navalplanner.business.resources.entities.ICriterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.workingday.EffortDuration;
import org.navalplanner.business.workingday.IntraDayDate;
import org.navalplanner.web.resources.search.IResourceSearchModel;
import org.zkoss.ganttz.data.resourceload.LoadLevel;
import org.zkoss.ganttz.data.resourceload.LoadPeriod;
@ -91,7 +91,7 @@ abstract class LoadPeriodGenerator {
}
public static LoadPeriodGeneratorFactory onCriterion(
final Criterion criterion, final IResourceSearchModel resourceSearch) {
final Criterion criterion, final IResourcesSearcher resourceSearch) {
final List<Resource> potentialResources = resourceSearch.searchBoth()
.byCriteria(Collections.singletonList(criterion)).execute();

View file

@ -55,6 +55,7 @@ import org.navalplanner.business.planner.entities.Task;
import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.business.resources.daos.ICriterionDAO;
import org.navalplanner.business.resources.daos.IResourceDAO;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.scenarios.IScenarioManager;
@ -65,7 +66,6 @@ import org.navalplanner.business.users.entities.OrderAuthorizationType;
import org.navalplanner.business.users.entities.User;
import org.navalplanner.business.users.entities.UserRole;
import org.navalplanner.web.calendars.BaseCalendarModel;
import org.navalplanner.web.resources.search.IResourceSearchModel;
import org.navalplanner.web.security.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
@ -86,7 +86,7 @@ public class ResourceLoadModel implements IResourceLoadModel {
private IResourceDAO resourcesDAO;
@Autowired
private IResourceSearchModel resourcesSearchModel;
private IResourcesSearcher resourcesSearchModel;
@Autowired
private ICriterionDAO criterionDAO;

View file

@ -23,6 +23,7 @@ package org.navalplanner.web.resources.search;
import java.util.List;
import org.navalplanner.business.resources.daos.IResourcesSearcher;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.web.common.components.ResourceAllocationBehaviour;
@ -38,7 +39,7 @@ public abstract class AllocationSelectorController extends
GenericForwardComposer {
@Autowired
protected IResourceSearchModel resourceSearchModel;
protected IResourcesSearcher resourceSearchModel;
protected ResourceAllocationBehaviour behaviour;

View file

@ -24,6 +24,7 @@ package org.navalplanner.web.resources.search;
import java.util.ArrayList;
import java.util.List;
import org.navalplanner.business.resources.daos.IResourcesSearcher.IResourcesQuery;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.Resource;
import org.navalplanner.business.resources.entities.ResourceEnum;
@ -32,7 +33,6 @@ import org.navalplanner.web.common.components.bandboxsearch.BandboxMultipleSearc
import org.navalplanner.web.common.components.finders.FilterPair;
import org.navalplanner.web.common.components.finders.ResourceAllocationFilterEnum;
import org.navalplanner.web.planner.allocation.INewAllocationsAdder;
import org.navalplanner.web.resources.search.IResourceSearchModel.IResourcesQuery;
import org.zkoss.zk.ui.Component;
/**

View file

@ -32,6 +32,7 @@ import java.util.Map.Entry;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.navalplanner.business.resources.daos.IResourcesSearcher.IResourcesQuery;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.resources.entities.Resource;
@ -40,7 +41,6 @@ import org.navalplanner.web.common.Util;
import org.navalplanner.web.common.components.NewAllocationSelector.AllocationType;
import org.navalplanner.web.common.components.ResourceAllocationBehaviour;
import org.navalplanner.web.planner.allocation.INewAllocationsAdder;
import org.navalplanner.web.resources.search.IResourceSearchModel.IResourcesQuery;
import org.zkoss.lang.Objects;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;