/** * Convert a string to a Java object of the correct type with the same value (e.g. "1" -> 1). * * <p>If a number has a preceding 0, it will be assumed not to be a number as it is likely to * represent a phone number * * <p>This method accepts no configuration, and so uses default values * * @param s String to convert * @return A Java object of the correct type */ public static Object convertStringToObject(String s) { return convertStringToObject(s, new Properties()); }
Boolean precedingZeroIsntNumber = getConfigPrecedingZero(config); } else if (tryNumber(s, precedingZeroIsntNumber)) { try { return parseNumber(s); } catch (InvalidParameterException e) { return convertToDate(s, config);
/** * Convert a string to a Java object of the correct type with the same value (e.g. "1" -> 1). * * <p>If a number has a preceding 0, it will be assumed not to be a number as it is likely to * represent a phone number * * <p>This method accepts no configuration, and so uses default values * * @param s String to convert * @return A Java object of the correct type */ public static Object convertStringToObject(String s) { return convertStringToObject(s, new Properties()); }
Boolean precedingZeroIsntNumber = getConfigPrecedingZero(config); } else if (tryNumber(s, precedingZeroIsntNumber)) { try { return parseNumber(s); } catch (InvalidParameterException e) { return convertToDate(s, config);
private static Object[] toArray(Feature f, Annotation a) { Object[] ret; try { CommonArrayFS array = (CommonArrayFS) a.getFeatureValue(f); ret = new Object[array.size()]; int index = 0; for (String s : array.toStringArray()) { ret[index] = StringToObject.convertStringToObject(s); index++; } return ret; } catch (ClassCastException cce) { LoggerFactory.getLogger(FeatureUtils.class) .debug("Couldn't cast feature value to array", cce); return new Object[0]; } } }
private static Object[] toArray(Feature f, Annotation a) { Object[] ret; try { CommonArrayFS array = (CommonArrayFS) a.getFeatureValue(f); ret = new Object[array.size()]; int index = 0; for (String s : array.toStringArray()) { ret[index] = StringToObject.convertStringToObject(s); index++; } return ret; } catch (ClassCastException cce) { LoggerFactory.getLogger(FeatureUtils.class) .debug("Couldn't cast feature value to array", cce); return new Object[0]; } } }
@Test public void testBoolean() { assertTrue(StringToObject.convertStringToObject("true") instanceof Boolean); assertTrue((Boolean) StringToObject.convertStringToObject("true")); assertFalse((Boolean) StringToObject.convertStringToObject("false")); assertTrue((Boolean) StringToObject.convertStringToObject("True")); assertFalse((Boolean) StringToObject.convertStringToObject("False")); assertTrue((Boolean) StringToObject.convertStringToObject("TRUE")); assertFalse((Boolean) StringToObject.convertStringToObject("FALSE")); assertFalse(StringToObject.convertStringToObject("something") instanceof Boolean); }
@Test public void testDouble() { assertTrue(StringToObject.convertStringToObject("1.0") instanceof Double); assertEquals(new Double(1.0), StringToObject.convertStringToObject("1.0")); assertTrue(StringToObject.convertStringToObject("-1.0") instanceof Double); assertEquals(new Double(-1.0), StringToObject.convertStringToObject("-1.0")); assertTrue(StringToObject.convertStringToObject("43.5") instanceof Double); assertEquals(new Double(43.5), StringToObject.convertStringToObject("43.5")); }
@Test public void testInteger() { assertTrue(StringToObject.convertStringToObject("1") instanceof Integer); assertEquals(new Integer(1), StringToObject.convertStringToObject("1")); assertTrue(StringToObject.convertStringToObject("-5") instanceof Integer); assertEquals(new Integer(-5), StringToObject.convertStringToObject("-5")); }
@Test public void testNumberPrecedingZero() { Properties precedingZero = new Properties(); precedingZero.put("precedingZeroIsntNumber", false); assertTrue(StringToObject.convertStringToObject("01234") instanceof String); assertTrue(StringToObject.convertStringToObject("01234", precedingZero) instanceof Integer); assertTrue(StringToObject.convertStringToObject("0.1234") instanceof Double); assertTrue(StringToObject.convertStringToObject("0.1234", precedingZero) instanceof Double); }
@Test public void testDateDisabled() { Date testDate = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Properties disableDate = new Properties(); disableDate.put("allowDates", false); assertTrue( StringToObject.convertStringToObject(sdf.format(testDate), disableDate) instanceof String); assertEquals( sdf.format(testDate), StringToObject.convertStringToObject(sdf.format(testDate), disableDate)); }
@Test public void testDate() { Date testDate = new Date(); testDate = DateUtils.truncate(testDate, Calendar.SECOND); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); assertTrue(StringToObject.convertStringToObject(sdf.format(testDate)) instanceof Date); assertEquals(testDate, StringToObject.convertStringToObject(sdf.format(testDate))); sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); assertTrue(StringToObject.convertStringToObject(sdf.format(testDate)) instanceof Date); assertEquals(testDate, StringToObject.convertStringToObject(sdf.format(testDate))); sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); assertTrue(StringToObject.convertStringToObject(sdf.format(testDate)) instanceof Date); assertEquals(testDate, StringToObject.convertStringToObject(sdf.format(testDate))); }
@Test public void testString() { assertTrue(StringToObject.convertStringToObject("something") instanceof String); assertTrue(StringToObject.convertStringToObject("") instanceof String); }
@Test public void testNull() { assertNull(StringToObject.convertStringToObject(null)); } }
ret = StringToObject.convertStringToObject(a.getStringValue(f)); break; case CAS.TYPE_NAME_INTEGER:
ret = StringToObject.convertStringToObject(a.getStringValue(f)); break; case CAS.TYPE_NAME_INTEGER: