ItEr30S06CUAltaMaquina: Assign valid Criterion to Resource
This commit is contained in:
parent
e6799f46f6
commit
a7cfc28034
3 changed files with 72 additions and 4 deletions
|
|
@ -11,18 +11,24 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
|
||||
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.CriterionWithItsType;
|
||||
import org.navalplanner.business.resources.entities.Machine;
|
||||
import org.navalplanner.business.resources.entities.ResourceEnum;
|
||||
import org.navalplanner.web.common.Util;
|
||||
import org.navalplanner.web.resources.machine.IAssignedMachineCriterionsModel;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.WrongValueException;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.Bandbox;
|
||||
import org.zkoss.zul.Combobox;
|
||||
import org.zkoss.zul.Comboitem;
|
||||
import org.zkoss.zul.Constraint;
|
||||
import org.zkoss.zul.Grid;
|
||||
import org.zkoss.zul.Listbox;
|
||||
import org.zkoss.zul.Listitem;
|
||||
import org.zkoss.zul.Row;
|
||||
|
||||
|
|
@ -38,6 +44,8 @@ public class CriterionsMachineController extends GenericForwardComposer {
|
|||
|
||||
private Grid listingCriterions;
|
||||
|
||||
private Listbox lbCriterions;
|
||||
|
||||
public CriterionsMachineController() {
|
||||
|
||||
}
|
||||
|
|
@ -46,6 +54,37 @@ public class CriterionsMachineController extends GenericForwardComposer {
|
|||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
comp.setVariable("assignedCriterionsController", this, true);
|
||||
lbCriterions.addEventListener("onChange", new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
System.out.println("### onChange");
|
||||
final Criterion criterion = (Criterion) event.getData();
|
||||
System.out.println("### criterion: " + criterion);
|
||||
final String resource = criterion.getType().getResource();
|
||||
if (!isValid(resource)) {
|
||||
throw new WrongValueException(event.getTarget(),
|
||||
_("resource not valid"));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
lbCriterions.addEventListener("onSelect", new EventListener() {
|
||||
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
// System.out.println("### onSelect");
|
||||
// final Criterion criterion = (Criterion) event.getData();
|
||||
// Listitem item = lbCriterions.getSelectedItem();
|
||||
// System.out.println("### selected item: " + item);
|
||||
// System.out.println("### criterion: " + criterion);
|
||||
// final String resource = criterion.getType().getResource();
|
||||
// if (!isValid(resource)) {
|
||||
// throw new WrongValueException(event.getTarget(),
|
||||
// _("resource not valid"));
|
||||
// }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void prepareForEdit(Machine machine) {
|
||||
|
|
@ -79,18 +118,46 @@ public class CriterionsMachineController extends GenericForwardComposer {
|
|||
reload();
|
||||
}
|
||||
|
||||
public void selectCriterionAndType(Listitem item,Bandbox bandbox,
|
||||
public void selectCriterionAndType(Listitem item, Bandbox bandbox,
|
||||
CriterionSatisfactionDTO criterionSatisfactionDTO){
|
||||
if(item != null){
|
||||
|
||||
CriterionWithItsType criterionAndType = (CriterionWithItsType)item.getValue();
|
||||
CriterionType criterionType = (CriterionType) criterionAndType
|
||||
.getType();
|
||||
final String resource = criterionType.getResource();
|
||||
// System.out.println("### criterionType: " + criterionType);
|
||||
// System.out.println("### resource: " + resource);
|
||||
if (!isValid(resource)) {
|
||||
throw new WrongValueException(item,
|
||||
_("cannot apply criterion to machine"));
|
||||
}
|
||||
bandbox.setValue(criterionAndType.getNameAndType());
|
||||
setCriterionWithItsType(criterionAndType,criterionSatisfactionDTO,bandbox);
|
||||
}else{
|
||||
} else {
|
||||
bandbox.setValue("");
|
||||
}
|
||||
bandbox.close();
|
||||
}
|
||||
|
||||
private boolean isValid(String resource) {
|
||||
// return (ResourceEnum.RESOURCE.toString().equals(resource) ||
|
||||
// ResourceEnum.MACHINE
|
||||
// .toString().equals(resource));
|
||||
return isValid(ResourceEnum.valueOf(resource));
|
||||
}
|
||||
|
||||
/**
|
||||
* Can only apply criterion types of resource type RESOURCE or MACHINE
|
||||
*
|
||||
* @param resource
|
||||
* @return
|
||||
*/
|
||||
private boolean isValid(ResourceEnum resource) {
|
||||
return (ResourceEnum.RESOURCE.equals(resource) || ResourceEnum.MACHINE
|
||||
.equals(resource));
|
||||
}
|
||||
|
||||
public void setCriterionWithItsType(CriterionWithItsType criterionAndType,
|
||||
CriterionSatisfactionDTO satisfaction,Bandbox bandbox) throws WrongValueException{
|
||||
this.assignedMachineCriterionsModel.setCriterionWithItsType(
|
||||
|
|
|
|||
|
|
@ -27,11 +27,12 @@
|
|||
<rows>
|
||||
<row self="@{each='criterionSatisfactionDTO'}" value="@{criterionSatisfactionDTO}">
|
||||
<hbox>
|
||||
<!-- Select criterion -->
|
||||
<bandbox width="500px"
|
||||
visible="@{criterionSatisfactionDTO.isNewObject}"
|
||||
value = "@{criterionSatisfactionDTO.criterionAndType}">
|
||||
<bandpopup>
|
||||
<listbox width="500px" height="150px" fixedLayout="true"
|
||||
<listbox id="lbCriterions" width="500px" height="150px" fixedLayout="true"
|
||||
model="@{assignedCriterionsController.criterionWithItsTypes}"
|
||||
onSelect="assignedCriterionsController.selectCriterionAndType(self.selectedItem,
|
||||
self.parent.parent,self.parent.parent.parent.parent.value);">
|
||||
|
|
|
|||
2
pom.xml
2
pom.xml
|
|
@ -78,7 +78,7 @@
|
|||
<!-- Naval Planner environment properties -->
|
||||
<navalplanner.mode>dev</navalplanner.mode>
|
||||
<!-- Hibernate properties -->
|
||||
<hibernate.show_sql>true</hibernate.show_sql>
|
||||
<hibernate.show_sql>false</hibernate.show_sql>
|
||||
<hibernate.format_sql>true</hibernate.format_sql>
|
||||
<hibernate.use_sql_comments>true</hibernate.use_sql_comments>
|
||||
<hibernate.hbm2ddl.auto>update</hibernate.hbm2ddl.auto>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue