\r
import java.beans.PropertyEditorSupport;\r
\r
-import org.joda.time.DateTime;\r
-import org.joda.time.format.DateTimeFormatter;\r
-import org.joda.time.format.DateTimeFormatterBuilder;\r
+import eu.etaxonomy.cdm.remote.dto.oaipmh.MetadataPrefix;\r
+import eu.etaxonomy.cdm.remote.exception.CannotDisseminateFormatException;\r
\r
public class MetadataPrefixEditor extends PropertyEditorSupport {\r
-\r
- private static DateTimeFormatter parser;\r
- private static DateTimeFormatter printer;\r
-\r
- static {\r
- parser = new DateTimeFormatterBuilder().appendPattern("dd/MM/YYYY").appendOptional(new DateTimeFormatterBuilder().appendPattern(" HH:mm:ss").toParser()).toFormatter();\r
- printer = new DateTimeFormatterBuilder().appendPattern("dd/MM/YYYY HH:mm:ss").toFormatter();\r
- }\r
\r
public void setAsText(String text) {\r
- setValue(parser.parseDateTime(text));\r
+ if(text == null) {\r
+ throw new IllegalArgumentException("null is not an acceptable metadata format");\r
+ } else {\r
+ MetadataPrefix metadatPrefix = MetadataPrefix.value(text);\r
+ if(metadatPrefix != null){\r
+ setValue(metadatPrefix);\r
+\r
+// if(text.equals("rdf")) {\r
+// setValue(MetadataPrefix.RDF);\r
+// } else if(text.equals("oai_dc")) {\r
+// setValue(MetadataPrefix.OAI_DC);\r
+ } else {\r
+ throw new CannotDisseminateFormatException(text + " is not an acceptable metadata format");\r
+ }\r
+ }\r
}\r
\r
public String getAsText() {\r
- return printer.print((DateTime)getValue());\r
+ if(getValue() == null) {\r
+ return null;\r
+ } else {\r
+ return ((MetadataPrefix)getValue()).name();\r
+ }\r
}\r
-\r
}\r