/** * This property ensure that there will be one row in the * properties table for every bean. * * The purpose of creating a special property for a JpaBean is to * reduce number of SQL calls and increase database performance. * With the marker, we can fetch beans directly from the properties * table immediatly without first consulting the beans table. */ public static void markBeanWithProperty(Bean bean) { bean.addProperty(BEAN_MARKER_PROPERTY_NAME, ""); }
public static List<Bean> generateBeans(int numBeans, int numProps) { ArrayList<Bean> beans = new ArrayList<>(); for (int i = 0; i < numBeans; i++) { String id = "beanId" + i; String type = "beanType" + i; Bean bean = Bean.create(BeanId.create(id, type)); for (int j = 0; j < numProps; j++) { String _name = "propName" + j; String _value = "propFieldName" + j; bean.addProperty(_name, _value); List<String> d = Arrays.asList("1", "2", "3"); bean.addProperty(_name, d); } beans.add(bean); } return beans; }
public void addField(int numvalues) { Class<?> clazz = types[new Random().nextInt(types.length)]; boolean isList = new Random().nextBoolean(); String name = randomFieldName(); if (!isList) { fields.put(name, clazz.getName()); for (Bean bean : beans) { bean.addProperty(name, generateRandomValue(clazz)); } } else { fields.put(name, "List<" + clazz.getName() + ">"); for (Bean bean : beans) { for (int i = 0; i < numvalues; i++) { bean.addProperty(name, generateRandomValue(clazz)); } } } }
/** * Add properties to appropriate bean found from a partial * query of bean properties. */ public void addProperties(List<JpaProperty> queryProperties) { for (JpaProperty prop : queryProperties) { Bean bean = putIfAbsent(prop.getId()); if (!JpaProperty.BEAN_MARKER_PROPERTY_NAME.equals(prop.getPropertyName())) { bean.addProperty(prop.getPropertyName(), prop.getValue()); } } }
public List<Bean> getBeans() { ArrayList<Bean> result = new ArrayList<Bean>(); for (XmlBean b : beans) { Bean bean = null; if (b.singleton) { bean = Bean.create(BeanId.createSingleton(b.id, b.name)); } else { bean = Bean.create(BeanId.create(b.id, b.name)); } for (XmlBeanPropertyList p : b.properties) { if (p.values != null) bean.addProperty(p.name, p.values); } for (XmlBeanPropertyRefList p : b.references) { if (p.refs != null) bean.addReference(p.name, p.getReferences()); } result.add(bean); } return result; }
child.addProperty("property1", "true"); child.addProperty("property2", "false"); manager.create(child); parent.addProperty("property1", "prop1"); parent.addProperty("property2", "prop2"); manager.create(parent);
bean.addProperty(name, conversion.convert(values, String.class));
bean.addProperty(propertyName, toStrings((Collection) value)); } else { bean.addProperty(propertyName, value.toString());
child.addProperty("prop3", "2.2"); admin.merge(child); fail("2.2 does not fit a collection of java.lang.Integer"); parent.addProperty("prop19", "not_a_enum"); admin.merge(parent); fail("not_a_enum is not a value of TimeUnit"); grandfather.addProperty("prop1", Arrays.asList("1", "2")); admin.merge(grandfather); fail("Cannot add mutiple values to a single valued property."); grandfather.addProperty("prop11", "2.0"); admin.set(parent); fail("Cannot add a value to a single typed value.");
observer.clear(); Bean bean = Bean.create(c1.getId()); bean.addProperty("non_existing", "bogus"); try { admin.create(bean); bean.addProperty("non_existing", "bogus"); try { admin.set(bean);
child.addProperty("prop3", "2.2"); admin.merge(child); fail("2.2 does not fit a collection of java.lang.Integer"); parent.addProperty("prop19", "not_a_enum"); admin.merge(parent); fail("not_a_enum is not a value of TimeUnit"); grandfather.addProperty("prop1", Arrays.asList("1", "2")); admin.merge(grandfather); fail("Cannot add mutiple values to a single valued property."); grandfather.addProperty("prop11", "2.0"); admin.set(parent); fail("Cannot add a value to a single typed value.");
createDefault(); Bean bean = Bean.create(c1.getId()); bean.addProperty("non_existing", "bogus"); try { admin.create(bean); bean.addProperty("non_existing", "bogus");