Dumper

Run Settings
LanguageJava
Language Version
Run Command
class Main { public static void main(String[] args) { System.out.println("Hello World!"); } }
public static void dumpFieldsToSolr(SolrInputDocument doc, Object obj, String namePrefix) { if(Dumper.class.isAssignableFrom(obj.getClass())) { ((Dumper)obj).preDumpFieldsToSolr(); } Class<?> c = obj.getClass(); Field[] fields = c.getFields();//DeclaredFields(); for(Field field:fields) { try { if(!Modifier.isStatic(field.getModifiers()) && !isTransient(field) && Modifier.isPublic(field.getModifiers())) { if(Dumper.class.isAssignableFrom(field.getType())) { Dumper dumper = (Dumper)field.get(obj); if(dumper != null) { String prefix = namePrefix+field.getName()+"_"; dumpFieldsToSolr(doc, dumper, prefix); } } else if(Iterable.class.isAssignableFrom(field.getType())) { Iterable<?> col = (Iterable<?>)field.get(obj); if(col != null) { String prefix =namePrefix+field.getName()+"_"; for(Object o:col) { if(o != null) { if(Dumper.class.isAssignableFrom(o.getClass()) || Iterable.class.isAssignableFrom(o.getClass())) { dumpFieldsToSolr(doc, o, prefix); } else { String value = StringUtil.removeHtmlTags(String.valueOf(o).trim()); doc.addField(namePrefix + field.getName(), value); } } } } } else if(Date.class.isAssignableFrom(field.getType())) { Date value = (Date)field.get(obj); if(value != null) { doc.addField(namePrefix + field.getName(), value); } } else { Object o = field.get(obj); if(o != null) { String value = StringUtil.removeHtmlTags(String.valueOf(o).trim()); if(value.length() > 0) { doc.addField(namePrefix + field.getName(), value); } } } } } catch(Exception e) { System.out.println("Class:" + obj.getClass() + ", ErrorField:" + field); e.printStackTrace(); } } if(Dumper.class.isAssignableFrom(c)) { ((Dumper)obj).postDumpFieldsToSolr(doc); } }
public Reginfo reginfo; public Date start; public Date end; public List<String> titles; public List<String> titles_langs; public List<String> academic_summary; public List<String> academic_summary_langs; public List<String> method; public List<String> method_langs; public List<String> equipment; public List<String> equipment_langs; public List<String> popsci_summary; public List<String> popsci_summary_langs; public List<String> patient_oriented_description; public List<String> patient_oriented_description_langs; public String mainlanguage; public Approval approval; public boolean status_published; public boolean status_publishable; public List<String> allInstitutionIds_facet; public List<String> adminPerson; transient public Kontaktinformasjon kontaktinformasjon; public List<PersonInfoUnitRole> person; public List<Unit> unit; transient public Reginfo tilknyttetProsjekt; //Obs, denne typen er endret fra prosjekt til reginfo. public Classification classification; public String finansiering_finansieringskilde_kode;
Editor Settings
Theme
Key bindings
Full width
Lines