List of usage examples for org.apache.commons.beanutils DynaBean set
public void set(String name, Object value);
From source file:org.apache.ddlutils.io.TestChangeColumn.java
/** * Tests the alteration of an indexed column datatype change from smallint to varchar. */// ww w .j a v a2 s . c om public void testUniqueIndexColumnTypeSmallintToVarchar() { if (!getPlatformInfo().isIndicesSupported()) { return; } final String model1Xml = "<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='roundtriptest'>\n" + " <table name='roundtrip'>\n" + " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='avalue1' type='SMALLINT'/>\n" + " <column name='avalue2' type='DOUBLE'/>\n" + " <unique name='testindex'>\n" + " <unique-column name='avalue1'/>\n" + " <unique-column name='avalue2'/>\n" + " </unique>\n" + " </table>\n" + "</database>"; final String model2Xml = "<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='roundtriptest'>\n" + " <table name='roundtrip'>\n" + " <column name='pk' type='INTEGER' primaryKey='true' required='true'/>\n" + " <column name='avalue1' type='VARCHAR' size='20'/>\n" + " <column name='avalue2' type='DOUBLE'/>\n" + " <unique name='testindex'>\n" + " <unique-column name='avalue1'/>\n" + " <unique-column name='avalue2'/>\n" + " </unique>\n" + " </table>\n" + "</database>"; createDatabase(model1Xml); insertRow("roundtrip", new Object[] { new Integer(1), new Short((short) 2), new Double(3.0) }); alterDatabase(model2Xml); assertEquals(getAdjustedModel(), readModelFromDatabase("roundtriptest")); List beans = getRows("roundtrip"); DynaBean bean = (DynaBean) beans.get(0); // Some databases (e.g. DB2) pad the string for some reason, so we manually trim it if (bean.get("avalue1") instanceof String) { bean.set("avalue1", ((String) bean.get("avalue1")).trim()); } assertEquals(new Integer(1), beans.get(0), "pk"); assertEquals((Object) "2", beans.get(0), "avalue1"); assertEquals(new Double(3.0), beans.get(0), "avalue2"); }
From source file:org.apache.ddlutils.platform.ModelBasedResultSetIterator.java
/** * {@inheritDoc}/*ww w. java 2s . com*/ */ public Object next() throws DatabaseOperationException { advanceIfNecessary(); if (_isAtEnd) { throw new NoSuchElementException("No more elements in the resultset"); } else { try { DynaBean bean = _dynaClass.newInstance(); Table table = null; if (bean instanceof SqlDynaBean) { SqlDynaClass dynaClass = (SqlDynaClass) ((SqlDynaBean) bean).getDynaClass(); table = dynaClass.getTable(); } for (Iterator it = _columnsToProperties.entrySet().iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry) it.next(); String columnName = (String) entry.getKey(); String propName = (String) entry.getValue(); Table curTable = table; if (curTable == null) { curTable = (Table) _preparedQueryHints .get(_caseSensitive ? columnName : columnName.toLowerCase()); } Object value = _platform.getObjectFromResultSet(_resultSet, columnName, curTable); bean.set(propName, value); } _needsAdvancing = true; return bean; } catch (Exception ex) { cleanUp(); throw new DatabaseOperationException("Exception while reading the row from the resultset", ex); } } }
From source file:org.apache.ddlutils.platform.TestPlatformImplBase.java
/** * Test the toColumnValues method./* ww w . ja va2 s . c o m*/ */ public void testToColumnValues() { final String schema = "<?xml version='1.0' encoding='ISO-8859-1'?>\n" + "<database xmlns='" + DatabaseIO.DDLUTILS_NAMESPACE + "' name='ddlutils'>\n" + " <table name='TestTable'>\n" + " <column name='id' autoIncrement='true' type='INTEGER' primaryKey='true'/>\n" + " <column name='name' type='VARCHAR' size='15'/>\n" + " </table>\n" + "</database>"; Database database = parseDatabaseFromString(schema); PlatformImplBase platform = new TestPlatform(); Table table = database.getTable(0); SqlDynaClass clz = SqlDynaClass.newInstance(table); DynaBean db = new SqlDynaBean(SqlDynaClass.newInstance(table)); db.set("name", "name"); Map map = platform.toColumnValues(clz.getSqlDynaProperties(), db); assertEquals("name", map.get("name")); assertTrue(map.containsKey("id")); }
From source file:org.apache.ddlutils.TestAgainstLiveDatabaseBase.java
/** * Inserts a row into the designated table. * // w w w . j av a 2s . c o m * @param tableName The name of the table (case insensitive) * @param columnValues The values for the columns in order of definition * @return The dyna bean for the row */ protected DynaBean insertRow(String tableName, Object[] columnValues) { Table table = getModel().findTable(tableName); DynaBean bean = getModel().createDynaBeanFor(table); for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++) { Column column = table.getColumn(idx); bean.set(column.getName(), columnValues[idx]); } getPlatform().insert(getModel(), bean); return bean; }
From source file:org.apache.ddlutils.TestAgainstLiveDatabaseBase.java
/** * Updates the row in the designated table. * // w w w.j a va2 s . com * @param tableName The name of the table (case insensitive) * @param oldBean The bean representing the current row * @param columnValues The values for the columns in order of definition * @return The dyna bean for the new row */ protected DynaBean updateRow(String tableName, DynaBean oldBean, Object[] columnValues) { Table table = getModel().findTable(tableName); DynaBean bean = getModel().createDynaBeanFor(table); for (int idx = 0; (idx < table.getColumnCount()) && (idx < columnValues.length); idx++) { Column column = table.getColumn(idx); bean.set(column.getName(), columnValues[idx]); } getPlatform().update(getModel(), oldBean, bean); return bean; }
From source file:org.apache.ddlutils.TestAgainstLiveDatabaseBase.java
/** * Deletes the specified row from the table. * //from w ww. ja v a 2s .c o m * @param tableName The name of the table (case insensitive) * @param pkColumnValues The values for the pk columns in order of definition */ protected void deleteRow(String tableName, Object[] pkColumnValues) { Table table = getModel().findTable(tableName); DynaBean bean = getModel().createDynaBeanFor(table); Column[] pkColumns = table.getPrimaryKeyColumns(); for (int idx = 0; (idx < pkColumns.length) && (idx < pkColumnValues.length); idx++) { bean.set(pkColumns[idx].getName(), pkColumnValues[idx]); } getPlatform().delete(getModel(), bean); }
From source file:org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl.java
public void set(Object anObject, Object aValue) throws MetadataException { if (anObject == null) return;/*from w w w.j ava 2s. c o m*/ if (anObject instanceof DynaBean) { DynaBean dynaBean = (DynaBean) anObject; try { dynaBean.set(getName(), aValue); } catch (Throwable t) { String msg = dynaBean.getClass().getName(); logSetProblem(anObject, aValue, msg); throw new PersistenceBrokerException(t); } } else { String msg = "the object is not a DynaBean"; logSetProblem(anObject, aValue, msg); throw new PersistenceBrokerException(msg); } }
From source file:org.apache.ojb.broker.metadata.PersistentFieldTest.java
public void testDynaBean() throws Exception { checkBoundaryConditions(PersistentFieldDynaBeanImpl.class, false); DynaClass dynaClass = createDynaClass(); DynaBean bean = dynaClass.newInstance(); bean.set("name", "testDynaBean"); PersistentField pf = new PersistentFieldDynaBeanImpl(String.class, "name"); String result = (String) pf.get(bean); assertNotNull(result);// w w w.jav a 2 s. c o m assertEquals("testDynaBean", result); pf.set(bean, "XXXX"); result = (String) pf.get(bean); assertNotNull(result); assertEquals("XXXX", result); }
From source file:org.apache.ojb.broker.metadata.PersistentFieldTest.java
public void testAutoProxyWithDyna() throws Exception { DynaClass dynaClass = createDynaClass(); DynaBean bean = dynaClass.newInstance(); bean.set("name", "testDynaBean"); PersistentField pf = new PersistentFieldAutoProxyImpl(String.class, "name"); String result = (String) pf.get(bean); assertNotNull(result);/*from w ww . j av a2s.com*/ assertEquals("testDynaBean", result); pf.set(bean, "XXXX"); result = (String) pf.get(bean); assertNotNull(result); assertEquals("XXXX", result); }
From source file:org.apache.struts.config.FormBeanConfig.java
/** * <p>Create and return an <code>ActionForm</code> instance appropriate to * the information in this <code>FormBeanConfig</code>.</p> * * <p>Although this method is not formally deprecated yet, where possible, * the form which accepts an <code>ActionContext</code> as an argument is * preferred, to help sever direct dependencies on the Servlet API. As * the ActionContext becomes more familiar in Struts, this method will * almost certainly be deprecated.</p> * * @param servlet The action servlet/*from w w w . j av a2s. c o m*/ * @return ActionForm instance * @throws IllegalAccessException if the Class or the appropriate * constructor is not accessible * @throws InstantiationException if this Class represents an abstract * class, an array class, a primitive type, * or void; or if instantiation fails for * some other reason */ public ActionForm createActionForm(ActionServlet servlet) throws IllegalAccessException, InstantiationException { Object obj = null; // Create a new form bean instance if (getDynamic()) { obj = getDynaActionFormClass().newInstance(); } else { obj = formBeanClass().newInstance(); } ActionForm form = null; if (obj instanceof ActionForm) { form = (ActionForm) obj; } else { form = new BeanValidatorForm(obj); } form.setServlet(servlet); if (form instanceof DynaBean && ((DynaBean) form).getDynaClass() instanceof MutableDynaClass) { DynaBean dynaBean = (DynaBean) form; MutableDynaClass dynaClass = (MutableDynaClass) dynaBean.getDynaClass(); // Add properties dynaClass.setRestricted(false); FormPropertyConfig[] props = findFormPropertyConfigs(); for (int i = 0; i < props.length; i++) { dynaClass.add(props[i].getName(), props[i].getTypeClass()); dynaBean.set(props[i].getName(), props[i].initial()); } dynaClass.setRestricted(isRestricted()); } if (form instanceof BeanValidatorForm) { ((BeanValidatorForm) form).initialize(this); } return form; }