ItEr44S11CUImportarTraballoRealizadoPorSubcontrataItEr43S14: Added assertTrues related with subcontracted tasks and external companies.

This commit is contained in:
Manuel Rego Casasnovas 2010-01-19 19:13:58 +01:00 committed by Javier Moran Rua
parent 12be0713ac
commit 2781b33ad8
3 changed files with 32 additions and 3 deletions

View file

@ -20,6 +20,7 @@
package org.navalplanner.business.externalcompanies.entities;
import org.apache.commons.lang.StringUtils;
import org.hibernate.validator.AssertTrue;
import org.hibernate.validator.NotEmpty;
import org.navalplanner.business.common.BaseEntity;
@ -175,4 +176,16 @@ public class ExternalCompany extends BaseEntity {
}
}
}
}
@AssertTrue(message = "interaction fields are empty and company is marked as interact with applications")
public boolean checkConstraintInteractionFieldsNotEmptyIfNeeded() {
if (!interactsWithApplications) {
return true;
}
return !StringUtils.isEmpty(appURI)
&& !StringUtils.isEmpty(ourCompanyLogin)
&& !StringUtils.isEmpty(ourCompanyPassword);
}
}

View file

@ -23,6 +23,7 @@ package org.navalplanner.business.planner.entities;
import java.math.BigDecimal;
import java.util.Date;
import org.hibernate.validator.AssertTrue;
import org.hibernate.validator.NotNull;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.externalcompanies.entities.ExternalCompany;
@ -220,4 +221,17 @@ public class SubcontractedTaskData extends BaseEntity {
this.criterionRequirementsExported = subcontratedTask.criterionRequirementsExported;
}
@AssertTrue(message = "external company should be subcontractor")
public boolean checkConstraintExternalCompanyIsSubcontractor() {
if (!firstLevelValidationsPassed()) {
return true;
}
return externalCompany.isSubcontractor();
}
private boolean firstLevelValidationsPassed() {
return (externalCompany != null) && (subcontratationDate != null);
}
}

View file

@ -427,9 +427,11 @@ public class TaskElementDAOTest {
@Autowired
private IExternalCompanyDAO externalCompanyDAO;
private ExternalCompany getExternalCompanySaved() {
private ExternalCompany getSubcontractorExternalCompanySaved() {
ExternalCompany externalCompany = ExternalCompanyDAOTest
.createValidExternalCompany();
externalCompany.setSubcontractor(true);
externalCompanyDAO.save(externalCompany);
externalCompanyDAO.flush();
sessionFactory.getCurrentSession().evict(externalCompany);
@ -446,7 +448,7 @@ public class TaskElementDAOTest {
SubcontractedTaskData subcontractedTaskData = SubcontractedTaskData
.create();
subcontractedTaskData.setExternalCompany(getExternalCompanySaved());
subcontractedTaskData.setExternalCompany(getSubcontractorExternalCompanySaved());
task.setSubcontractedTaskData(subcontractedTaskData);
taskElementDAO.save(task);