// }\r
// }\r
\r
- private void handleCitation(MarkupImportState state, XMLEventReader reader,\r
- XMLEvent parentEvent, NonViralName name) throws XMLStreamException {\r
+ private void handleCitation(MarkupImportState state, XMLEventReader reader, XMLEvent parentEvent, NonViralName name) throws XMLStreamException {\r
String classValue = getClassOnlyAttribute(parentEvent);\r
\r
state.setCitation(true);\r
if (isMyEndingElement(next, parentEvent)) {\r
checkMandatoryElement(hasRefPart, parentEvent.asStartElement(),\r
REF_PART);\r
- Reference reference = createReference(state, refMap, next);\r
+ Reference<?> reference = createReference(state, refMap, next);\r
String microReference = refMap.get(DETAILS);\r
doCitation(state, name, classValue, reference, microReference,\r
parentEvent);\r
\r
}\r
\r
- private Reference createReference(MarkupImportState state, Map<String, String> refMap, XMLEvent parentEvent) {\r
+ private Reference<?> createReference(MarkupImportState state, Map<String, String> refMap, XMLEvent parentEvent) {\r
// TODO\r
- Reference reference;\r
+ Reference<?> reference;\r
\r
String type = getAndRemoveMapKey(refMap, PUBTYPE);\r
String authorStr = getAndRemoveMapKey(refMap, AUTHOR);\r
journal.setTitle(pubName);\r
article.setInJournal(journal);\r
}\r
- reference = (Reference) article;\r
+ reference = (Reference<?>) article;\r
\r
} else {\r
// TODO\r
- Reference bookOrPartOf = ReferenceFactory.newGeneric();\r
- reference = bookOrPartOf;\r
+ if (pubName != null){\r
+ reference = ReferenceFactory.newBookSection();\r
+ }else{\r
+ reference = ReferenceFactory.newBook();\r
+ }\r
}\r
// TODO use existing author from name or before\r
- TeamOrPersonBase author = createAuthor(authorStr);\r
+ TeamOrPersonBase<?> author = createAuthor(authorStr);\r
reference.setAuthorTeam(author);\r
\r
- } else {\r
+ reference.setTitle(titleStr);\r
+ if (StringUtils.isNotBlank(titleCache)) {\r
+ reference.setTitleCache(titleCache, true);\r
+ }\r
+ reference.setEdition(edition);\r
+ reference.setEditor(editors);\r
+\r
+ if (pubName != null) {\r
+ Reference<?> inReference;\r
+ if (reference.getType().equals(ReferenceType.Article)) {\r
+ inReference = ReferenceFactory.newJournal();\r
+ } else {\r
+ inReference = ReferenceFactory.newGeneric();\r
+ }\r
+ inReference.setTitle(pubName);\r
+ reference.setInReference(inReference);\r
+ }\r
+\r
+ \r
+ } else { //no citation\r
if (volume != null || "journal".equalsIgnoreCase(type)) {\r
IArticle article = ReferenceFactory.newArticle();\r
if (pubName != null) {\r
journal.setTitle(pubName);\r
article.setInJournal(journal);\r
}\r
- reference = (Reference) article;\r
+ reference = (Reference<?>) article;\r
\r
} else {\r
- Reference bookOrPartOf = ReferenceFactory.newGeneric();\r
+ Reference<?> bookOrPartOf = ReferenceFactory.newGeneric();\r
reference = bookOrPartOf;\r
}\r
\r
// TODO type\r
- TeamOrPersonBase author = createAuthor(authorStr);\r
+ TeamOrPersonBase<?> author = createAuthor(authorStr);\r
reference.setAuthorTeam(author);\r
\r
reference.setTitle(titleStr);\r
reference.setEditor(editors);\r
\r
if (pubName != null) {\r
- Reference inReference;\r
+ Reference<?> inReference;\r
if (reference.getType().equals(ReferenceType.Article)) {\r
inReference = ReferenceFactory.newJournal();\r
} else {\r
state.putAreaUuid(areaName, area.getUuid());\r
\r
//TODO just for testing -> make generic and move to better place\r
+ String geoServiceLayer="vmap0_as_bnd_political_boundary_a";\r
+ String layerFieldName ="nam";\r
+ \r
if ("Bangka".equals(areaName)){\r
- String geoServiceLayer="vmap0_as_bnd_political_boundary_a";\r
- String layerFieldName ="nam";\r
- //TODO replace #\r
String areaValue = "PULAU BANGKA#SUMATERA SELATAN";\r
GeoServiceArea geoServiceArea = new GeoServiceArea();\r
geoServiceArea.add(geoServiceLayer, layerFieldName, areaValue);\r
this.editGeoService.setMapping(area, geoServiceArea);\r
// save(area, state);\r
}\r
+ if ("Luzon".equals(areaName)){\r
+ GeoServiceArea geoServiceArea = new GeoServiceArea();\r
+ \r
+ List<String> list = Arrays.asList("HERMANA MAYOR ISLAND#CENTRAL LUZON",\r
+ "HERMANA MENOR ISLAND#CENTRAL LUZON",\r
+ "CENTRAL LUZON");\r
+ for (String areaValue : list){\r
+ geoServiceArea.add(geoServiceLayer, layerFieldName, areaValue);\r
+ }\r
+ \r
+ this.editGeoService.setMapping(area, geoServiceArea);\r
+// save(area, state);\r
+ }\r
+ if ("Mindanao".equals(areaName)){\r
+ GeoServiceArea geoServiceArea = new GeoServiceArea();\r
+ \r
+ List<String> list = Arrays.asList("NORTHERN MINDANAO",\r
+ "SOUTHERN MINDANAO",\r
+ "WESTERN MINDANAO");\r
+ //TODO to be continued\r
+ for (String areaValue : list){\r
+ geoServiceArea.add(geoServiceLayer, layerFieldName, areaValue);\r
+ }\r
+ \r
+ this.editGeoService.setMapping(area, geoServiceArea);\r
+// save(area, state);\r
+ }\r
+ if ("Palawan".equals(areaName)){\r
+ GeoServiceArea geoServiceArea = new GeoServiceArea();\r
+ \r
+ List<String> list = Arrays.asList("PALAWAN#SOUTHERN TAGALOG");\r
+ for (String areaValue : list){\r
+ geoServiceArea.add(geoServiceLayer, layerFieldName, areaValue);\r
+ }\r
+ \r
+ this.editGeoService.setMapping(area, geoServiceArea);\r
+// save(area, state);\r
+ }\r
+ \r
+\r
}\r
}\r
return area;\r