001 package nl.tudelft.tbm.eeni.owl2java.model.xsd;
002
003 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
004 import com.hp.hpl.jena.datatypes.xsd.XSDDateTime;
005 import com.hp.hpl.jena.datatypes.xsd.XSDDuration;
006 import org.apache.commons.codec.binary.Hex;
007 import org.apache.commons.logging.Log;
008 import org.apache.commons.logging.LogFactory;
009
010 import java.math.BigDecimal;
011 import java.math.BigInteger;
012 import java.util.Calendar;
013 import java.util.HashMap;
014 import java.util.Map;
015
016
017 public class XsdMapTestData {
018
019 @SuppressWarnings("unused")
020 private static Log log = LogFactory.getLog(XsdUtils.class);
021
022 public static Map<String, String> type2TestValue = new HashMap<String, String>();
023
024
025 static {
026 type2TestValue.put("java.math.BigDecimal", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getBigDecimal");
027 type2TestValue.put("java.math.BigInteger", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getBigInteger");
028 type2TestValue.put("java.lang.Boolean", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getBoolean");
029 type2TestValue.put("java.lang.Byte", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getByte");
030 type2TestValue.put("java.lang.Character", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getCharacter");
031 type2TestValue.put("java.lang.Double", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getDouble");
032 type2TestValue.put("java.lang.Float", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getFloat");
033 type2TestValue.put("java.lang.Integer", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getInteger");
034 type2TestValue.put("java.lang.Long", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getLong");
035 type2TestValue.put("java.lang.Short", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getShort");
036 type2TestValue.put("java.lang.String", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getString");
037 type2TestValue.put("java.util.Calendar", "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getCalendar");
038 type2TestValue.put("com.hp.hpl.jena.datatypes.xsd.XSDDuration",
039 "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getXSDDuration");
040 type2TestValue.put("com.hp.hpl.jena.datatypes.xsd.XSDDateTime",
041 "nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdMapTestData.getXSDDateTime");
042 }
043
044 public static String getMethodName(String javaType) {
045 return type2TestValue.get(javaType);
046 }
047
048 public static BigDecimal getBigDecimal(String dataTypeUri) {
049 return new BigDecimal(12.23);
050 }
051
052 public static BigInteger getBigInteger(String dataTypeUri) {
053 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#nonPositiveInteger"))
054 return new BigInteger("-100");
055 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#negativeInteger"))
056 return new BigInteger("-100");
057 return new BigInteger("100");
058 }
059
060 public static Boolean getBoolean(String dataTypeUri) {
061 return new Boolean(false);
062 }
063
064 public static Byte getByte(String dataTypeUri) {
065 return new Byte((byte) 12);
066 }
067
068 public static Calendar getCalendar(String dataTypeUri) {
069 return Calendar.getInstance();
070 }
071
072 public static Character getCharacter(String dataTypeUri) {
073 return new Character('c');
074 }
075
076 public static Double getDouble(String dataTypeUri) {
077 return new Double(23.45);
078 }
079
080 public static Float getFloat(String dataTypeUri) {
081 return new Float(12.24);
082 }
083
084 public static Integer getInteger(String dataTypeUri) {
085 return new Integer(12);
086 }
087
088 public static Long getLong(String dataTypeUri) {
089 return new Long((long) 100);
090 }
091
092 public static Short getShort(String dataTypeUri) {
093 return new Short((short) 10);
094 }
095
096 public static String getString(String dataTypeUri) {
097 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#language"))
098 return "DE";
099 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#base64Binary")) {
100 String strg = "myTest";
101 return new String(org.apache.commons.codec.binary.Base64.encodeBase64(strg.getBytes()));
102 }
103 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#hexBinary")) {
104 String strg = "myTest";
105 return new String(Hex.encodeHex(strg.getBytes()));
106 }
107 if (dataTypeUri.equals("http://www.w3.org/2001/XMLSchema#ENTITY")) {
108 // TODO: no support for Xsd:ENTITY currently
109 return "";
110 }
111 return "testString";
112 }
113
114 public static XSDDateTime getXSDDateTime(String dtUri) {
115 int hashLocation = dtUri.lastIndexOf("#");
116 String dtTypeName = dtUri.substring(hashLocation + 1);
117
118 Calendar cal = Calendar.getInstance();
119 XSDDateTime xdatetime = new XSDDateTime(cal);
120 XSDDatatype xdatatype = new XSDDatatype(dtTypeName);
121 xdatetime.narrowType(xdatatype);
122 return xdatetime;
123 }
124
125 public static XSDDuration getXSDDuration(String dataTypeUri) {
126 int[] dur = {0, 1, 2, 3, 4, 5, 6, 7, 8};
127 return new XSDDuration(dur);
128 }
129
130
131 }