List of usage examples for org.apache.commons.beanutils DynaBean get
public Object get(String name);
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests reading the data from a file via the {#link {@link DataReader#read(File)} method. *//* ww w.j a va2 s . c o m*/ public void testReadFromFile2() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); String testDataXml = "<data>\n" + " <test id='1' value='foo'/>\n" + "</data>"; File tmpFile = File.createTempFile("data", ".xml"); try { Writer writer = new BufferedWriter(new FileWriter(tmpFile)); writer.write(testDataXml); writer.close(); ArrayList beans = new ArrayList(); DataReader dataReader = new DataReader(); dataReader.setModel(model); dataReader.setSink(new TestDataSink(beans)); dataReader.read(tmpFile); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertEquals("foo", obj.get("value").toString()); } finally { tmpFile.delete(); } }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests reading the data from a file via the {#link {@link DataReader#read(java.io.InputStream)} method. *///from w ww.ja v a 2 s . com public void testReadFromFile3() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); String testDataXml = "<data>\n" + " <test id='1' value='foo'/>\n" + "</data>"; File tmpFile = File.createTempFile("data", ".xml"); try { Writer writer = new BufferedWriter(new FileWriter(tmpFile)); writer.write(testDataXml); writer.close(); ArrayList beans = new ArrayList(); DataReader dataReader = new DataReader(); dataReader.setModel(model); dataReader.setSink(new TestDataSink(beans)); dataReader.read(new FileInputStream(tmpFile)); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertEquals("foo", obj.get("value").toString()); } finally { tmpFile.delete(); } }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests sub elements for columns./*from w w w . ja v a 2 s . c o m*/ */ public void testSubElements() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); List beans = readBeans(model, "<data>\n" + " <test id='1'>\n" + " <value>foo</value>\n" + " </test>\n" + " <test id='2' value='foo'>\n" + " <value>bar</value>\n" + " </test>\n" + " <test id='3' value='baz'>\n" + " </test>\n" + "</data>"); assertEquals(3, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertEquals("foo", obj.get("value").toString()); obj = (DynaBean) beans.get(1); assertEquals("test", obj.getDynaClass().getName()); assertEquals("2", obj.get("id").toString()); assertEquals("bar", obj.get("value").toString()); obj = (DynaBean) beans.get(2); assertEquals("test", obj.getDynaClass().getName()); assertEquals("3", obj.get("id").toString()); assertEquals("baz", obj.get("value").toString()); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests that the name of the root element does not matter. *//*from w ww.j ava 2 s. co m*/ public void testRootElementNameDoesntMatter() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); List beans = readBeans(model, "<someRandomName>\n" + " <test id='1' value='foo'/>\n" + "</someRandomName>"); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertEquals("foo", obj.get("value").toString()); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests that elements for undefined tables are ignored. *//*from w w w . j av a 2s .c om*/ public void testElementForUndefinedTable() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); List beans = readBeans(model, "<data>\n" + " <test id='1' value='foo'/>\n" + " <other id='2' value='bar'/>\n" + " <test id='3' value='baz'/>\n" + "</data>"); assertEquals(2, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertEquals("foo", obj.get("value").toString()); obj = (DynaBean) beans.get(1); assertEquals("test", obj.getDynaClass().getName()); assertEquals("3", obj.get("id").toString()); assertEquals("baz", obj.get("value").toString()); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests that attributes for which no column is defined, are ignored. *//*from www .j a v a2 s . co m*/ public void testAttributeForUndefinedColumn() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); List beans = readBeans(model, "<data>\n" + " <test id='1' value1='foo'/>\n" + "</data>"); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertNull(obj.get("value")); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests that sub elements for which no column is defined, are ignored. *///from www. j a v a 2s . c o m public void testSubElementForUndefinedColumn() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='test'>\n" + " <column name='id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); List beans = readBeans(model, "<data>\n" + " <test id='1'>\n" + " <value2>foo</value2>\n" + " </test>\n" + "</data>"); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("test", obj.getDynaClass().getName()); assertEquals("1", obj.get("id").toString()); assertNull(obj.get("value")); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests parsing when case sensitivity is turned on. *///from w w w . j a v a2s . c om public void testCaseSensitivityTurnedOn() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='Test'>\n" + " <column name='Id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='Value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); String testDataXml = "<data>\n" + " <test Id='1' Value='foo'/>\n" + " <Test Id='2' value='baz'/>\n" + "</data>"; ArrayList beans = new ArrayList(); DataReader dataReader = new DataReader(); dataReader.setCaseSensitive(true); dataReader.setModel(model); dataReader.setSink(new TestDataSink(beans)); dataReader.read(new StringReader(testDataXml)); assertEquals(1, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("Test", obj.getDynaClass().getName()); assertEquals("2", obj.get("Id").toString()); assertNull(obj.get("Value")); }
From source file:org.apache.ddlutils.io.TestDataReaderAndWriter.java
/** * Tests parsing when case sensitivity is turned off. *//* www .j a v a 2 s . co m*/ public void testCaseSensitivityTurnedOff() throws Exception { Database model = readModel("<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='test'>\n" + " <table name='Test'>\n" + " <column name='Id' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='Value' type='VARCHAR' size='50' required='true'/>\n" + " </table>\n" + "</database>"); String testDataXml = "<data>\n" + " <test Id='1' Value='foo'/>\n" + " <Test Id='2' value='bar'/>\n" + " <Test id='3' Value='baz'/>\n" + "</data>"; ArrayList beans = new ArrayList(); DataReader dataReader = new DataReader(); dataReader.setCaseSensitive(false); dataReader.setModel(model); dataReader.setSink(new TestDataSink(beans)); dataReader.read(new StringReader(testDataXml)); assertEquals(3, beans.size()); DynaBean obj = (DynaBean) beans.get(0); assertEquals("Test", obj.getDynaClass().getName()); assertEquals("1", obj.get("Id").toString()); assertEquals("foo", obj.get("Value").toString()); obj = (DynaBean) beans.get(1); assertEquals("Test", obj.getDynaClass().getName()); assertEquals("2", obj.get("Id").toString()); assertEquals("bar", obj.get("Value").toString()); obj = (DynaBean) beans.get(2); assertEquals("Test", obj.getDynaClass().getName()); assertEquals("3", obj.get("Id").toString()); assertEquals("baz", obj.get("Value").toString()); }
From source file:org.apache.ddlutils.platform.PlatformImplBase.java
/** * Returns all properties where the column is not non-autoincrement and for which the bean * either has a value or the column hasn't got a default value, for the given dyna class. * /*from ww w .ja va2s . c o m*/ * @param model The database model * @param dynaClass The dyna class * @param bean The bean * @return The properties */ private SqlDynaProperty[] getPropertiesForInsertion(Database model, SqlDynaClass dynaClass, final DynaBean bean) { SqlDynaProperty[] properties = dynaClass.getSqlDynaProperties(); Collection result = CollectionUtils.select(Arrays.asList(properties), new Predicate() { public boolean evaluate(Object input) { SqlDynaProperty prop = (SqlDynaProperty) input; if (bean.get(prop.getName()) != null) { // we ignore properties for which a value is present in the bean // only if they are identity and identity override is off or // the platform does not allow the override of the auto-increment // specification return !prop.getColumn().isAutoIncrement() || (isIdentityOverrideOn() && getPlatformInfo().isIdentityOverrideAllowed()); } else { // we also return properties without a value in the bean // if they ain't auto-increment and don't have a default value // in this case, a NULL is inserted return !prop.getColumn().isAutoIncrement() && (prop.getColumn().getDefaultValue() == null); } } }); return (SqlDynaProperty[]) result.toArray(new SqlDynaProperty[result.size()]); }