private AssessmentData doCreateAssessmentForBatch( String user, AssessmentFilter filter, boolean useTemplate, TaxonNode taxon) { AssessmentFilter draftFilter = filter.deepCopy(); draftFilter.setDraft(false); draftFilter.setRecentPublished(true); draftFilter.setAllPublished(false); AssessmentFilterHelper helper = new AssessmentFilterHelper(draftFilter); AssessmentData curAss = null; if (useTemplate) { List<AssessmentData> assessments = helper.getAssessments(taxon.getId() + "", vfs); if (assessments.size() == 0) { draftFilter.getRegions().clear(); draftFilter.getRegions().add(AssessmentData.GLOBAL_ID); assessments = helper.getAssessments(taxon.getId() + "", vfs); } if (assessments.size() == 0) { System.out.println("No template exists for species " + taxon.getFullName()); curAss = new AssessmentData(); // No template exists... } else { curAss = assessments.get(0).deepCopy(); } } else curAss = new AssessmentData(); curAss.setRegionIDs(filter.getRegions()); if (!filter.getRegions().contains("-1")) curAss.setEndemic(false); curAss.setType(AssessmentData.DRAFT_ASSESSMENT_STATUS); curAss.setAssessmentID("new"); curAss.setSpeciesID(taxon.getId() + ""); curAss.setSpeciesName(taxon.getFullName()); return curAss; }