protected void setup() { // save current null values for later restoration saveDefaultDefaultNullValues = ConversionManager.getDefaultManager().getDefaultNullValues(); saveDefaultNullValues = getSession().getLogin().getPlatform().getConversionManager().getDefaultNullValues(); getSession() .getLogin() .getPlatform() .getConversionManager() .setDefaultNullValues(new Hashtable()); getSession().getLogin().setDefaultNullValue(String.class, "null"); getSession().getLogin().setDefaultNullValue(int.class, new Integer(-1)); // Reinit mappings. for (DatabaseMapping mapping : getSession().getDescriptor(Address.class).getMappings()) { if (mapping.isDirectToFieldMapping()) { mapping.preInitialize(getAbstractSession()); } } getAbstractSession().beginTransaction(); employee = new Employee(); employee.setFirstName("Fred"); employee.setLastName("Flintstone"); employee.setSalary(22); employee.setGender("Male"); Address address = new Address(); address.setCity(null); employee.setAddress(address); getAbstractSession().writeObject(employee); // force the salary to be NULL getSession() .executeNonSelectingCall( new SQLCall("update SALARY set SALARY = null where EMP_ID = " + employee.getId())); }
public void reset() { getAbstractSession().rollbackTransaction(); getSession().getIdentityMapAccessor().initializeAllIdentityMaps(); getSession() .getLogin() .getPlatform() .getConversionManager() .setDefaultNullValues(saveDefaultNullValues); ConversionManager.getDefaultManager().setDefaultNullValues(saveDefaultDefaultNullValues); }
protected void verify() { if (results.size() != expectedResults.size()) { throw new TestErrorException("ReportQuery test failed: The result size are different"); } BigDecimal expected = (BigDecimal) ((ReportQueryResult) expectedResults.firstElement()).getByIndex(0); BigDecimal result = (BigDecimal) ConversionManager.getDefaultManager() .convertObject( ((ReportQueryResult) results.firstElement()).getByIndex(0), BigDecimal.class); if (!Helper.compareBigDecimals(expected, result)) { throw new TestErrorException( "ReportQuery test failed: The results did not match (" + expected + ", " + result + ")"); } }