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    }