|
From: <yo...@us...> - 2009-11-05 20:30:21
|
Revision: 256
http://treebase.svn.sourceforge.net/treebase/?rev=256&view=rev
Author: youjun
Date: 2009-11-05 20:30:13 +0000 (Thu, 05 Nov 2009)
Log Message:
-----------
finish coding
Modified Paths:
--------------
trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/command/Identify.java
trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/controller/OAIPMHController.java
trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/util/IdentifyUtil.java
Added Paths:
-----------
trunk/oai-pmh_data_provider/data_provider_web/src/main/webapp/WEB-INF/vmFiles/cannotDisseminateFormat.vm
Removed Paths:
-------------
trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/controller/cannotDisseminateFormat.vm
Modified: trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/command/Identify.java
===================================================================
--- trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/command/Identify.java 2009-11-05 16:32:57 UTC (rev 255)
+++ trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/command/Identify.java 2009-11-05 20:30:13 UTC (rev 256)
@@ -10,6 +10,13 @@
public class Identify {
+ public String getGranularityPattern() {
+ return granularityPattern;
+ }
+ public void setGranularityPattern(String granularityPattern) {
+ this.granularityPattern = granularityPattern;
+ }
+
private String baseRUL;
private String repositoryName;
private String protocolVersion;
Modified: trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/controller/OAIPMHController.java
===================================================================
--- trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/controller/OAIPMHController.java 2009-11-05 16:32:57 UTC (rev 255)
+++ trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/controller/OAIPMHController.java 2009-11-05 20:30:13 UTC (rev 256)
@@ -1,6 +1,7 @@
package org.treebase.oai.web.controller;
import java.lang.reflect.Method;
+import java.text.ParseException;
import java.util.List;
import java.util.Map;
@@ -12,7 +13,7 @@
import org.springframework.web.servlet.mvc.AbstractCommandController;
import org.treebase.oai.web.command.Identify;
import org.treebase.oai.web.command.OAIPMHCommand;
-import org.treebase.oai.web.util.ParamsUtil;
+import org.treebase.oai.web.util.IdentifyUtil;
import org.cipres.treebase.domain.study.Submission;
import org.cipres.treebase.domain.study.SubmissionService;
import org.cipres.treebase.domain.study.StudyService;
@@ -76,7 +77,7 @@
Method method=null;
- if(ParamsUtil.badMetadataPrefix(params))
+ if(IdentifyUtil.badMetadataPrefix(params))
return new ModelAndView("cannotDisseminateFormat.vm",model);
@@ -96,7 +97,14 @@
ModelAndView ListRecoed(HttpServletRequest request, HttpServletResponse response, OAIPMHCommand params, Map model){
List<Submission> list=null;
- model.put("recodeList", list);;
+ try {
+ list = (List)submissionService.findSubmissionByCreateDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getFrom()),
+ IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getUntil()));
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ return (new ModelAndView("badArgument.vm",model));
+ }
+ model.put("recodeList", list);
return (new ModelAndView(params.getMetadataPrefix()+"_ListRecoed.vm",model));
}
@@ -105,6 +113,13 @@
ModelAndView ListIdentifiers(HttpServletRequest request, HttpServletResponse response, OAIPMHCommand params, Map model){
List<Submission> list=null;
+ try {
+ list = (List)submissionService.findSubmissionByCreateDateRange(IdentifyUtil.parseGranularity(identify.getGranularityPattern(),params.getFrom()),
+ IdentifyUtil.parseGranularity(identify.getGranularityPattern(), params.getUntil()));
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ return (new ModelAndView("badArgument.vm",model));
+ }
model.put("recodeList", list);
return (new ModelAndView(params.getMetadataPrefix()+"_ListIdentifiers.vm",model));
@@ -115,7 +130,7 @@
Submission submission = null;
try{
- long id = ParamsUtil.parseID(params);
+ long id = IdentifyUtil.parseID(params);
submission = studyService.findByID(id).getSubmission();
}catch(NumberFormatException nfe){
return (new ModelAndView("badArgument.vm",model));
@@ -149,7 +164,7 @@
Submission submission = null;
try{
- long id = ParamsUtil.parseID(params);
+ long id = IdentifyUtil.parseID(params);
submission = studyService.findByID(id).getSubmission();
}catch(NumberFormatException nfe){
return (new ModelAndView("badArgument.vm",model));
Modified: trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/util/IdentifyUtil.java
===================================================================
--- trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/util/IdentifyUtil.java 2009-11-05 16:32:57 UTC (rev 255)
+++ trunk/oai-pmh_data_provider/data_provider_web/src/main/java/org/treebase/oai/web/util/IdentifyUtil.java 2009-11-05 20:30:13 UTC (rev 256)
@@ -1,5 +1,13 @@
package org.treebase.oai.web.util;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+
+import org.treebase.oai.web.command.Identify;
import org.treebase.oai.web.command.OAIPMHCommand;
public class IdentifyUtil {
@@ -17,4 +25,23 @@
String [] ids = params.getIdentifier().split("/");
return Long.parseLong(ids[ids.length-1]);
}
+
+ public static Date parseGranularity(String granularity, String time ) throws ParseException
+ {
+
+ SimpleDateFormat sdf = new SimpleDateFormat(granularity);
+ Date utcDate = sdf.parse(time);
+ return utcToLocal(utcDate);
+
+
+ }
+
+ protected static Date utcToLocal(Date utcDate)
+ {
+ long utcMiliseconds = utcDate.getTime();
+
+ Calendar cal = new GregorianCalendar();
+ cal.setTimeInMillis(utcMiliseconds);
+ return new Date(utcMiliseconds + cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET));
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|