From: <vga...@us...> - 2010-11-18 15:46:13
|
Revision: 760 http://treebase.svn.sourceforge.net/treebase/?rev=760&view=rev Author: vgapeyev Date: 2010-11-18 15:46:06 +0000 (Thu, 18 Nov 2010) Log Message: ----------- Fixing SF:3079602 (multiple keywords into multiple <dc:subject> elements) Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java trunk/treebase-web/src/main/webapp/WEB-INF/vmFiles/oai_dc_record.vm Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java 2010-11-15 15:38:56 UTC (rev 759) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/OAIPMHController.java 2010-11-18 15:46:06 UTC (rev 760) @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.StringTokenizer; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -233,8 +234,10 @@ map.put("title", IdentifyUtil.escape4XML(study.getId(),citation.getTitle())); - map.put("creator", authors); - map.put("subject", IdentifyUtil.escape4XML(study.getId(),citation.getKeywords())); + map.put("creator", authors); + //VG 2010-11-17 fixing SF:3079602 (multiple keywords into multiple <dc:subject> elements) + //--map.put("subject", IdentifyUtil.escape4XML(study.getId(),citation.getKeywords())); + map.put("subject", splitKeywords(study.getId(),citation.getKeywords())); if(study.getName()!=null&study.getNotes()!=null) map.put("description", IdentifyUtil.escape4XML(study.getId(),study.getName()+" "+study.getNotes())); else if(study.getNotes()==null) @@ -263,6 +266,21 @@ return map; } + //VG 2010-11-17 fixing SF:3079602 (multiple keywords into multiple <dc:subject> elements) + private List<String> splitKeywords(long study_id, String kwstring) { + List<String> kwlist = new java.util.ArrayList<String>(); + if (null == kwstring) return kwlist; + StringTokenizer tokenizer = new StringTokenizer(kwstring, ",;"); + while (tokenizer.hasMoreTokens()) { + String token = tokenizer.nextToken().trim(); + if (!token.equals("")) { + kwlist.add(IdentifyUtil.escape4XML(study_id, token)); + } + } + return kwlist; + } + + private List getRecordList(List<Submission> sList) { List recordList=new ArrayList<Map>(); Modified: trunk/treebase-web/src/main/webapp/WEB-INF/vmFiles/oai_dc_record.vm =================================================================== --- trunk/treebase-web/src/main/webapp/WEB-INF/vmFiles/oai_dc_record.vm 2010-11-15 15:38:56 UTC (rev 759) +++ trunk/treebase-web/src/main/webapp/WEB-INF/vmFiles/oai_dc_record.vm 2010-11-18 15:46:06 UTC (rev 760) @@ -18,9 +18,18 @@ <dc:creator>${person.lastName}, ${person.firstName}</dc:creator> #end #end +## VG 2010-11-17 fixing SF:3079602 (multiple keywords into multiple <dc:subject> elements) +#*-- #if($record.subject) <dc:subject>${record.subject}</dc:subject> #end +*# +#if($record.subject) +#foreach ($keyword in $record.subject) +<dc:subject>${keyword}</dc:subject> +#end +#end +## end VG 2010-11-17 #if($record.description) <dc:description>${record.description}</dc:description> #end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |