public static TaggerDocument fromDocumentToTaggerDocument(Document doc) { TaggerDocument document = new TaggerDocument(); if (doc != null) { // NOTE: documentID needs to be set separately as Auto Generation ID from DB/Hibernate // Now copy the remaining fields document.setHasHumanLabels(doc.hasHumanLabels()); document.setCrisisID(doc.getCrisisID()); document.setCrisisCode(doc.getCrisisCode()); document.setReceivedAt( new java.sql.Timestamp(java.util.Calendar.getInstance().getTimeInMillis())); document.setLanguage(doc.getLanguage()); document.setDoctype(doc.getClass().getSimpleName().toString()); if (doc.getInputJson() != null) { document.setData(Helpers.escapeJson(doc.getInputJson().toString())); } else { document.setData(null); } if (doc.features != null) { document.setWordFeatures(DocumentJSONConverter.getFeaturesJson(WordSet.class, doc)); } document.setGeoFeatures(null); document.setValueAsTrainingSample(doc.getValueAsTrainingSample()); boolean val = Math.random() < (1.0 / 5.0) ? true : false; document.setIsEvaluationSet(val); /* List<NominalLabelBC> labels = doc.getHumanLabels(NominalLabelBC.class); if (!labels.isEmpty()) { List<NominalLabel> nbList = new ArrayList<NominalLabel>(); for (NominalLabelBC label : labels) { NominalLabel nb = new NominalLabel(label.getNominalLabelID()); nbList.add(nb); } document.setNominalLabelCollection(nbList); } else { document.setNominalLabelCollection(null); }*/ return document; } return null; }