use of org.hisp.dhis.period.PeriodType in project dhis2-core by dhis2.
the class UniqueArrayListTest method testAddAll.
@Test
public void testAddAll() {
List<Period> list = new ArrayList<>();
PeriodType periodType = new MonthlyPeriodType();
Period peA = periodType.createPeriod(new DateTime(2000, 1, 1, 0, 0).toDate());
// Duplicate
Period peB = periodType.createPeriod(new DateTime(2000, 1, 1, 0, 0).toDate());
Period peC = periodType.createPeriod(new DateTime(2000, 2, 1, 0, 0).toDate());
list.add(peA);
list.add(peB);
list.add(peC);
assertEquals(3, list.size());
List<Period> uniqueList = new UniqueArrayList<>();
uniqueList.addAll(list);
assertEquals(2, uniqueList.size());
assertTrue(uniqueList.contains(peA));
assertTrue(uniqueList.contains(peB));
assertTrue(uniqueList.contains(peC));
}
use of org.hisp.dhis.period.PeriodType in project dhis2-core by dhis2.
the class DataApprovalWorkflowObjectBundleHook method preUpdate.
@Override
public <T extends IdentifiableObject> void preUpdate(T object, T persistedObject, ObjectBundle bundle) {
if (!DataApprovalWorkflow.class.isInstance(object))
return;
DataApprovalWorkflow dataApprovalWorkflow = (DataApprovalWorkflow) object;
if (dataApprovalWorkflow.getPeriodType() != null) {
PeriodType periodType = bundle.getPreheat().getPeriodTypeMap().get(dataApprovalWorkflow.getPeriodType().getName());
dataApprovalWorkflow.setPeriodType(periodType);
}
}
use of org.hisp.dhis.period.PeriodType in project dhis2-core by dhis2.
the class PredictorObjectBundleHook method preCreate.
@Override
public void preCreate(IdentifiableObject object, ObjectBundle bundle) {
if (!Predictor.class.isInstance(object)) {
return;
}
Predictor predictor = (Predictor) object;
Expression skipTest = predictor.getSampleSkipTest();
preheatService.connectReferences(predictor.getGenerator(), bundle.getPreheat(), bundle.getPreheatIdentifier());
if (skipTest != null) {
preheatService.connectReferences(skipTest, bundle.getPreheat(), bundle.getPreheatIdentifier());
}
sessionFactory.getCurrentSession().save(predictor.getGenerator());
if (skipTest != null) {
sessionFactory.getCurrentSession().save(skipTest);
}
if (predictor.getPeriodType() != null) {
PeriodType periodType = bundle.getPreheat().getPeriodTypeMap().get(predictor.getPeriodType().getName());
predictor.setPeriodType(periodType);
}
}
use of org.hisp.dhis.period.PeriodType in project dhis2-core by dhis2.
the class PredictorObjectBundleHook method preUpdate.
@Override
public void preUpdate(IdentifiableObject object, IdentifiableObject persistedObject, ObjectBundle bundle) {
if (!Predictor.class.isInstance(object)) {
return;
}
Predictor predictor = (Predictor) object;
Expression skipTest = predictor.getSampleSkipTest();
preheatService.connectReferences(predictor.getGenerator(), bundle.getPreheat(), bundle.getPreheatIdentifier());
if (skipTest != null) {
preheatService.connectReferences(skipTest, bundle.getPreheat(), bundle.getPreheatIdentifier());
}
sessionFactory.getCurrentSession().save(predictor.getGenerator());
if (skipTest != null) {
sessionFactory.getCurrentSession().save(skipTest);
}
if (predictor.getPeriodType() != null) {
PeriodType periodType = bundle.getPreheat().getPeriodTypeMap().get(predictor.getPeriodType().getName());
predictor.setPeriodType(periodType);
}
}
use of org.hisp.dhis.period.PeriodType in project dhis2-core by dhis2.
the class DataApprovalController method getApproval.
@RequestMapping(value = STATUS_PATH, method = RequestMethod.GET, produces = ContextUtils.CONTENT_TYPE_JSON)
@ResponseBody
public RootNode getApproval(@RequestParam Set<String> ds, @RequestParam(required = false) String pe, @RequestParam Date startDate, @RequestParam Date endDate, @RequestParam Set<String> ou, @RequestParam(required = false) boolean children, HttpServletResponse response) throws IOException, WebMessageException {
List<String> fields = Lists.newArrayList(contextService.getParameterValues("fields"));
if (fields.isEmpty()) {
fields.addAll(Preset.ALL.getFields());
List<String> defaults = new ArrayList<>();
defaults.add("period[id,name,code],organisationUnit[id,name,created,lastUpdated],dataSet[code,name,created,lastUpdated,id]");
fields.addAll(defaults);
}
Set<DataSet> dataSets = parseDataSetsWithWorkflow(ds);
Set<Period> periods = new HashSet<>();
PeriodType periodType = periodService.getPeriodTypeByName(pe);
if (periodType != null) {
periods.addAll(periodService.getPeriodsBetweenDates(periodType, startDate, endDate));
} else {
periods.addAll(periodService.getPeriodsBetweenDates(startDate, endDate));
}
Set<OrganisationUnit> organisationUnits = new HashSet<>();
if (children) {
organisationUnits.addAll(organisationUnitService.getOrganisationUnitsWithChildren(ou));
} else {
organisationUnits.addAll(organisationUnitService.getOrganisationUnitsByUid(ou));
}
DataApprovalStateResponses dataApprovalStateResponses = new DataApprovalStateResponses();
for (DataSet dataSet : dataSets) {
for (OrganisationUnit organisationUnit : organisationUnits) {
for (Period period : periods) {
dataApprovalStateResponses.add(getDataApprovalStateResponse(dataSet, organisationUnit, period));
}
}
}
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
RootNode rootNode = NodeUtils.createMetadata();
rootNode.addChild(fieldFilterService.filter(DataApprovalStateResponse.class, dataApprovalStateResponses.getDataApprovalStateResponses(), fields));
return rootNode;
}
Aggregations