List of usage examples for org.apache.commons.beanutils LazyDynaClass LazyDynaClass
public LazyDynaClass(String name, DynaProperty[] properties)
From source file:ddf.catalog.data.dynamic.impl.DynamicMetacardImplTest.java
@Before public void setUp() throws Exception { properties = new DynaProperty[] { new DynaProperty(STRING, String.class), new DynaProperty(BOOLEAN, Boolean.class), new DynaProperty(DATE, Date.class), new DynaProperty(SHORT, Short.class), new DynaProperty(INTEGER, Integer.class), new DynaProperty(LONG, Long.class), new DynaProperty(FLOAT, Float.class), new DynaProperty(DOUBLE, Double.class), new DynaProperty(BINARY, Byte[].class, Byte.class), new DynaProperty(XML, String.class), new DynaProperty(OBJECT, Object.class), new DynaProperty(STRING_LIST, List.class, String.class) }; baseClass = new LazyDynaClass("test", properties); baseBean = new LazyDynaBean(baseClass); metacard = new DynamicMetacardImpl(baseBean); }
From source file:ddf.catalog.data.dynamic.impl.MetacardFactoryImpl.java
@Override public void registerDynamicMetacardType(String name, List<MetacardPropertyDescriptor> descriptors) { if (StringUtils.isNotEmpty(name) && descriptors != null && descriptors.size() > 0) { DynaProperty[] properties = new DynaProperty[descriptors.size()]; int i = 0; for (MetacardPropertyDescriptor descriptor : descriptors) { properties[i++] = getDynaProperty(descriptor); }/* ww w . ja v a2 s.co m*/ LazyDynaClass dynaClass = new LazyDynaClass(name, properties); // set to return null when getter is called with non-existent property dynaClass.setReturnNull(true); LOGGER.info("Registering new dynamic metacard - name {}", dynaClass.getName()); typeClasses.put(dynaClass.getName(), dynaClass); typeProperties.put(name, descriptors.toArray(new MetacardPropertyDescriptor[0])); } else { LOGGER.warn( "Called to register dynamic metacard with invalid data - name must be non-null and one or more descriptors - name: {} descriptor size: {}", name, descriptors == null ? "null" : descriptors.size()); } }
From source file:ddf.catalog.data.dynamic.impl.MetacardFactoryImpl.java
private static void registerNewType(String name, List<MetacardPropertyDescriptorImpl> descriptors) { // save the list of MetacardPropertyDescriptor if (typeProperties.get(name) != null) { LOGGER.warn("Attempt to overwrite dynamic metacard type with name {} - only one instance allowed.", name);/*from w ww .j a v a 2 s.co m*/ return; } MetacardPropertyDescriptorImpl[] descriptorArray = new MetacardPropertyDescriptorImpl[descriptors.size()]; int i = 0; for (MetacardPropertyDescriptorImpl descriptor : descriptors) { descriptorArray[i++] = descriptor; } typeProperties.put(name, descriptorArray); LazyDynaClass dynaClass = new LazyDynaClass(name, descriptorArray); dynaClass.setReturnNull(true); LOGGER.info("Registering new dynamic metacard - name {}", dynaClass.getName()); typeClasses.put(dynaClass.getName(), dynaClass); }