You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sk...@apache.org on 2008/03/07 14:54:50 UTC
svn commit: r634677 - in
/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm:
jsf/component/ metadata/ metadata/impl/ metadata/impl/ejb/
metadata/impl/hibernate/ metadata/impl/jsf/
Author: skitching
Date: Fri Mar 7 05:54:48 2008
New Revision: 634677
URL: http://svn.apache.org/viewvc?rev=634677&view=rev
Log:
More packaging cleanups
Added:
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java (with props)
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java (with props)
Modified:
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/jsf/component/DynaConfig.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/Extractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaData.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaField.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaDataImpl.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaFieldImpl.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/hibernate/HibernateExtractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/AbstractJsfExtractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExclusiveExtractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExtractor.java
myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfRequestFieldExtractor.java
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/jsf/component/DynaConfig.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/jsf/component/DynaConfig.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/jsf/component/DynaConfig.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/jsf/component/DynaConfig.java Fri Mar 7 05:54:48 2008
@@ -18,7 +18,7 @@
*/
package org.apache.myfaces.orchestra.dynaForm.jsf.component;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
@@ -186,7 +186,7 @@
};
}
- public void configureMetaData(MetaFieldImpl field)
+ public void configureMetaData(MetaFieldWritable field)
{
if (getDisplaySize() != null)
{
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/Extractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/Extractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/Extractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/Extractor.java Fri Mar 7 05:54:48 2008
@@ -18,16 +18,9 @@
*/
package org.apache.myfaces.orchestra.dynaForm.metadata;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaDataImpl;
-
/**
- * An interface to a perstence-library-specific adapter class that knows how
- * to create a MetaData object from the data held by that specific persistence
- * library.
- * <p>
- * TODO: Why is this class returning instances of concrete class MetaData,
- * rather than the interface? What is the point of the interface if this
- * class doesn't use it?
+ * An interface implemented by objects that can inspect an arbitrary object
+ * and extract metadata about its properties.
*/
public interface Extractor
{
@@ -40,6 +33,5 @@
* new data overwrites the old data. A chain of Extractors can therefore
* be used (in the correct order) to control exactly what metadata applies.
*/
- // TODO: this is a packaging violation; fix!
- public void getMetaData(MetaDataImpl metaData, Object entity);
+ public void getMetaData(MetaDataWritable metaData, Object entity);
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaData.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaData.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaData.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaData.java Fri Mar 7 05:54:48 2008
@@ -21,6 +21,7 @@
import java.util.Iterator;
/**
+ * A read-only view of metadata about a particular entity.
*/
public interface MetaData
{
Added: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java?rev=634677&view=auto
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java (added)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java Fri Mar 7 05:54:48 2008
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.orchestra.dynaForm.metadata;
+
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * A writable implementation of the MetaData interface that is initialised
+ * by Extractor objects, and then read by other objects that need information
+ * about the available properties.
+ * <p>
+ * An instance of this class is created and then passed to a list of one or
+ * more Extractor objects, together with a source object to be introspected.
+ * The extractor instances deduce information about fields of the source
+ * object and then add or update MetaField objects held by the MetaDataImpl.
+ * <p>
+ * An instance of MetaDataImpl is then typically cast to the read-only
+ * MetaData interface type and passed to objects that make use of the
+ * gathered metadata, such as dynaform "gui builders".
+ */
+public interface MetaDataWritable extends MetaData
+{
+ /**
+ * Indicate whether the field with the specified name should be
+ * used or ignored.
+ *
+ * @see #setLockFields(boolean)
+ */
+ public boolean isWantedField(String name);
+
+ /**
+ // we processed this field due to the fact that it was the parent of a requestedField
+ * should this field be processed.
+ *
+ * @return true if the given name is the parent of one of the requestedFields
+ * @see #processField(String)
+ * @see #setLockFields(boolean)
+ */
+ public boolean isParentOfWantedField(String name);
+
+ /**
+ * request to add this field if we reach it. eg. used to trigger traversing the object graph for
+ * linked entities
+ * <p>
+ * Name may be of form "foo.bar.baz"
+ */
+ public void requestField(String name);
+
+ public Set<String> getRequestedFields();
+
+ /**
+ * add a new field to the metadata or return one if one already exists for
+ * the given name
+ */
+ public MetaFieldWritable getOrCreateField(String name);
+
+ public int getFieldCount();
+
+ public Iterator<String> iterFieldNames();
+
+ public MetaField getField(String name);
+
+ public String[] getFieldNames();
+
+ /**
+ * Prevent the adding of any new MetaField objects to this instance (but
+ * enhancing existing fields is permitted).
+ * <p>
+ * When set to true, any call to isProcessableField will return false for names
+ * that are not already known, and getOrCreateField will throw an exception if
+ * the field does not exist.
+ */
+ public boolean setLockFields(boolean lockFields);
+}
Propchange: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaDataWritable.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaField.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaField.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaField.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaField.java Fri Mar 7 05:54:48 2008
@@ -26,8 +26,10 @@
import org.apache.myfaces.orchestra.dynaForm.lib.SelectionSourceEnum;
/**
- * Provides the DynaForm with meta-data about a single property of a
- * persistent entity.
+ * Rad-only representation of meta-data about a single property of an entity.
+ * <p>
+ * This is similar to java.beans.PropertyDescriptor, but customised for the
+ * needs of the DynaForm component.
*/
public interface MetaField
{
@@ -61,12 +63,15 @@
public Selection[] getAllowedSelections();
- // Set to NONE for normal properties, or a different value for
- // properties that hold a reference to some other persistent entity.
+ /**
+ * Indicates whether this property is a <i>relation</i> to some other object.
+ * <p>
+ * For primitive fields, this returns NONE.
+ */
public RelationType getRelationType();
/**
- * in case of hierarchical structures this defines if a child class should be treatened
+ * In case of hierarchical structures this defines if a child class should be treatened
* as "embedded".<br />
* <ul>
* <li>Embedded: like a composite key in hibernate</li>
@@ -81,7 +86,10 @@
// OR: does this also limit # of chars for numeric and date fields?
public Integer getMaxSize();
- // Used only for numeric fields. Limits the maximum value.
+ /**
+ * For numeric fields, this specifies the maximum value permitted for this field.
+ * Returns null for non-numeric fields.
+ */
public Double getMaxValue();
// Used only for text fields. Limits the number of characters.
@@ -93,7 +101,10 @@
// usually allow scrolling internally.
public Integer getDisplaySize();
- // Used only for numeric fields. Limits the maximum value.
+ /**
+ * For numeric fields, this specifies the minimum value permitted for this field.
+ * Returns null for non-numeric fields.
+ */
public Double getMinValue();
// Explicitly allow control over what JSF component is created to
Added: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java?rev=634677&view=auto
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java (added)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java Fri Mar 7 05:54:48 2008
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.orchestra.dynaForm.metadata;
+
+import javax.faces.component.UIComponent;
+import javax.faces.convert.Converter;
+import javax.persistence.TemporalType;
+
+import org.apache.myfaces.orchestra.dynaForm.jsf.guiBuilder.DynaFormComponentHandler;
+import org.apache.myfaces.orchestra.dynaForm.lib.SelectionSourceEnum;
+
+
+/**
+ * Metadata for a field
+ */
+public interface MetaFieldWritable extends MetaField
+{
+ public void setPreferredExternalName(String preferredExternalName);
+ public void setType(Class<?> type);
+ public void setDisplayOnly(Boolean displayOnly);
+ public void setCanRead(boolean canRead);
+ public void setCanWrite(boolean canWrite);
+ public void setDisabled(boolean disabled);
+ public void setRequired(boolean nullable);
+ public void setAllowedSelections(Selection[] allowedSelections);
+ public void setRelationType(RelationType relationType);
+ public void setMaxSize(Integer maxSize);
+ public void setMaxValue(Double maxValue);
+ public void setMinSize(Integer minSize);
+ public void setMinValue(Double minValue);
+ public void setWantedComponent(UIComponent component);
+ public void setWantedComponentType(FieldRepresentation componentType);
+ public void setDisplaySize(int displaySize);
+ public void setTemporalType(TemporalType temporalType);
+ public void setAllowMultipleSelections(boolean allowMultipleSelections);
+ public void setSelectionSource(SelectionSourceEnum selectionSource);
+ public void setEntityType(boolean entityType);
+ public void setId(boolean id);
+ public void setEmbedded(boolean embedded);
+ public void setDataSource(String dataSource);
+ public void setDataSourceDescription(String dataSourceDescription);
+ public void setConverterId(String converterId);
+ public void setConverterClass(Class<Converter> converterClass);
+ public void setConverterBean(String converterBean);
+ public void setComponentHandler(DynaFormComponentHandler componentHandler);
+ public void setAttribute(String name, Object value);
+}
+
Propchange: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/MetaFieldWritable.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaDataImpl.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaDataImpl.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaDataImpl.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaDataImpl.java Fri Mar 7 05:54:48 2008
@@ -25,24 +25,28 @@
import java.util.Set;
import java.util.TreeSet;
-import org.apache.myfaces.orchestra.dynaForm.metadata.MetaData;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaDataWritable;
import org.apache.myfaces.orchestra.dynaForm.metadata.MetaField;
/**
- * A convenient implementation of the MetaDataInterface that implementations
- * of the Extractor interface can use.
+ * A convenience implementation of the MetaDataWritable interface.
* <p>
- * An instance of this type can be created by an Extractor to represent the
- * metadata for a specific class.
+ * An instance of this type can be created and then passed to a list of one or
+ * more Extractor objects, together with a source object to be introspected.
+ * The extractor instances deduce information about fields of the source
+ * object and then add or update MetaField objects held by the MetaDataImpl.
* <p>
- * TODO: Rename this to MetaDataImpl, and move to the impl package.
- * It isn't specific to any particular implementation, but is a concrete
- * class rather than an interface.
+ * The resulting populated object is then typically cast to the read-only
+ * MetaData interface type and passed to objects that make use of the
+ * gathered metadata, such as dynaform "gui builders".
*/
-public class MetaDataImpl implements MetaData
+public class MetaDataImpl implements MetaDataWritable
{
private final Set<String> requestedFields = new TreeSet<String>();
private final Set<String> requestedFieldParents = new TreeSet<String>();
+
+ // Here, a LinkedHashMap is used to ensure that fields can be iterated over
+ // in the order in which they were added to the map.
private final Map<String, MetaFieldImpl> fields = new LinkedHashMap<String, MetaFieldImpl>();
private boolean lockFields = false;
@@ -52,30 +56,49 @@
}
/**
- * should this field be processed
+ * Indicates whether metadata about this field is wanted.
+ * <p>
+ * If this object is not "locked", then this always returns true.
+ * <p>
+ * Even when locked, this returns true if:
+ * <ul>
+ * <li>The field is already added to this object, or
+ * <li>The field has explicitly been "requested", or
+ * <li>The name is of form "foo.bar", and "foo.bar.baz" has
+ * been added to the "requested" fields.
+ * </ul>
*
* @see #setLockFields(boolean)
*/
- public boolean processField(String name)
+ public boolean isWantedField(String name)
{
- return !lockFields || processFieldParent(name) || requestedFields.contains(name) || fields.containsKey(name);
+ return !lockFields
+ || isParentOfWantedField(name)
+ || requestedFields.contains(name)
+ || fields.containsKey(name);
}
/**
- * should this field be processed.
+ * Is metadata about this field wanted because some child field of this
+ * field has explicitly been marked as requested?
*
* @return true if the given name is the parent of one of the requestedFields
* @see #processField(String)
* @see #setLockFields(boolean)
*/
- public boolean processFieldParent(String name)
+ public boolean isParentOfWantedField(String name)
{
return requestedFieldParents.contains(name);
}
/**
- * request to add this field if we reach it. eg. used to trigger traversing the object graph for
- * linked entities
+ * Allow a field to be added to this object even after this MetaData object is
+ * "locked" for field addition.
+ * <p>
+ * This is used when traversing the object graph for linked entities.
+ * <p>
+ * When a name like "foo.bar.baz" is passed to this method, the requestedFieldsParent
+ * list has "foo" and "foo.bar" added to it.
*/
public void requestField(String name)
{
@@ -99,12 +122,12 @@
}
/**
- * add a new field to the metadata or return one if one already exists for
+ * Add a new field to the metadata or return one if one already exists for
* the given name
*/
public MetaFieldImpl getOrCreateField(String name)
{
- if (!processField(name))
+ if (!isWantedField(name))
{
throw new SecurityException("Current state do not allow to add the field: " + name);
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaFieldImpl.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaFieldImpl.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaFieldImpl.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/MetaFieldImpl.java Fri Mar 7 05:54:48 2008
@@ -29,7 +29,7 @@
import org.apache.myfaces.orchestra.dynaForm.jsf.guiBuilder.DynaFormComponentHandler;
import org.apache.myfaces.orchestra.dynaForm.lib.SelectionSourceEnum;
import org.apache.myfaces.orchestra.dynaForm.metadata.FieldRepresentation;
-import org.apache.myfaces.orchestra.dynaForm.metadata.MetaField;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
import org.apache.myfaces.orchestra.dynaForm.metadata.RelationType;
import org.apache.myfaces.orchestra.dynaForm.metadata.Selection;
@@ -37,7 +37,7 @@
/**
* Metadata for a field
*/
-public class MetaFieldImpl implements MetaField, Serializable
+class MetaFieldImpl implements MetaFieldWritable, Serializable
{
private final String name;
private final String baseName;
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/ejb/EjbExtractor.java Fri Mar 7 05:54:48 2008
@@ -63,10 +63,10 @@
//TODO: fix this import; this non-jsf class should not import jsf-specific stuff
import org.apache.myfaces.orchestra.dynaForm.jsf.guiBuilder.DynaFormComponentHandler;
import org.apache.myfaces.orchestra.dynaForm.metadata.Extractor;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaDataWritable;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
import org.apache.myfaces.orchestra.dynaForm.metadata.RelationType;
import org.apache.myfaces.orchestra.dynaForm.metadata.Selection;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaDataImpl;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
import org.apache.myfaces.orchestra.frameworkAdapter.FrameworkAdapter;
/**
@@ -191,7 +191,7 @@
* <p>
* The specified class and its ancestors are inspected for JPA annotations, and
*/
- public void getMetaData(MetaDataImpl metaData, Object entity)
+ public void getMetaData(MetaDataWritable metaData, Object entity)
{
if (!(entity instanceof String))
{
@@ -236,7 +236,7 @@
* create the metadata for the given class
*/
@SuppressWarnings("unchecked")
- protected void create(Context context, MetaDataImpl metaData, Class entityClass)
+ protected void create(Context context, MetaDataWritable metaData, Class entityClass)
{
/* do not check if this is really a entity. this allows us to parse any given bean
if (!entityClass.isAnnotationPresent(Entity.class))
@@ -335,7 +335,7 @@
/**
* ejb3 access through fields
*/
- protected void initFromFields(Context context, MetaDataImpl metaData, Field[] fields)
+ protected void initFromFields(Context context, MetaDataWritable metaData, Field[] fields)
{
for (Field field : fields)
{
@@ -350,7 +350,7 @@
String name = field.getName();
Class<?> type = field.getType();
- if (metaData.processField(createFullName(context, name)))
+ if (metaData.isWantedField(createFullName(context, name)))
{
processField(context, metaData, field, name, type, true, true);
}
@@ -360,7 +360,7 @@
/**
* process the given field - or ist superclass if it is embedded
*/
- protected void processField(Context context, MetaDataImpl metaData, AccessibleObject accessibleObject,
+ protected void processField(Context context, MetaDataWritable metaData, AccessibleObject accessibleObject,
String name, Class<?> type, Boolean canRead, Boolean canWrite)
{
if (accessibleObject.isAnnotationPresent(IgnoreProperty.class))
@@ -375,7 +375,7 @@
return;
}
- if (metaData.processFieldParent(name))
+ if (metaData.isParentOfWantedField(name))
{
// we processed this field due to the fact that it was the parent of a requestedField
embeddEntity(context, metaData, name, type);
@@ -383,7 +383,7 @@
return;
}
- MetaFieldImpl mdField = metaData.getOrCreateField(createFullName(context, name));
+ MetaFieldWritable mdField = metaData.getOrCreateField(createFullName(context, name));
mdField.setType(type);
if (canRead != null && mdField.getCanRead() == null)
{
@@ -398,7 +398,7 @@
initFromAnnotations(context, mdField, accessibleObject);
}
- protected boolean processEmbedded(Context context, MetaDataImpl metaData, AccessibleObject accessibleObject,
+ protected boolean processEmbedded(Context context, MetaDataWritable metaData, AccessibleObject accessibleObject,
String name, Class<?> type)
{
if (accessibleObject.isAnnotationPresent(Embedded.class) || accessibleObject.isAnnotationPresent(Id.class) || accessibleObject.isAnnotationPresent(EmbeddedId.class))
@@ -428,7 +428,7 @@
/**
* check if we should embedd this entity
*/
- protected boolean checkEmbeddEntity(Context context, MetaDataImpl metaData, String name)
+ protected boolean checkEmbeddEntity(Context context, MetaDataWritable metaData, String name)
{
String checkName = createFullName(context, name) + ".";
@@ -458,7 +458,7 @@
/**
* embedd this entity
*/
- protected void embeddEntity(Context context, MetaDataImpl metaData, String name, Class<?> entityType)
+ protected void embeddEntity(Context context, MetaDataWritable metaData, String name, Class<?> entityType)
{
// process embedded type
boolean previousLock = false;
@@ -482,7 +482,7 @@
/**
* init metadata from annotations
*/
- protected void initFromAnnotations(Context context, MetaFieldImpl mdField, AccessibleObject accessibleObject)
+ protected void initFromAnnotations(Context context, MetaFieldWritable mdField, AccessibleObject accessibleObject)
{
if (accessibleObject.isAnnotationPresent(DisplayOnly.class))
{
@@ -656,7 +656,7 @@
/**
* configure a special fields as disabled. e.g. used for Id, Version, ....
*/
- protected void setSpecialFieldDisabled(MetaFieldImpl mdField)
+ protected void setSpecialFieldDisabled(MetaFieldWritable mdField)
{
mdField.setCanWrite(false);
mdField.setDisabled(true);
@@ -665,7 +665,7 @@
/**
* ejb3 access through methods (properties)
*/
- protected void initFromMethods(Context context, MetaDataImpl metaData, Method[] methods)
+ protected void initFromMethods(Context context, MetaDataWritable metaData, Method[] methods)
{
for (Method method : methods)
{
@@ -681,7 +681,7 @@
String methodName = method.getName();
String propertyName = convertMethodName(methodName);
- if (!metaData.processField(createFullName(context, propertyName)))
+ if (!metaData.isWantedField(createFullName(context, propertyName)))
{
continue;
}
@@ -712,7 +712,7 @@
continue;
}
- if (metaData.processField(createFullName(context, propertyName)))
+ if (metaData.isWantedField(createFullName(context, propertyName)))
{
processField(context, metaData, method, propertyName, method.getParameterTypes()[0], null, true);
}
@@ -721,7 +721,7 @@
}
@SuppressWarnings("unchecked")
- protected void initFromType(Context context, MetaFieldImpl mdField, Class type)
+ protected void initFromType(Context context, MetaFieldWritable mdField, Class type)
{
if (type.isEnum())
{
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/hibernate/HibernateExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/hibernate/HibernateExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/hibernate/HibernateExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/hibernate/HibernateExtractor.java Fri Mar 7 05:54:48 2008
@@ -18,7 +18,7 @@
*/
package org.apache.myfaces.orchestra.dynaForm.metadata.impl.hibernate;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
import org.apache.myfaces.orchestra.dynaForm.metadata.impl.ejb.EjbExtractor;
import java.lang.reflect.AccessibleObject;
@@ -29,7 +29,7 @@
public class HibernateExtractor extends EjbExtractor
{
@Override
- protected void initFromAnnotations(Context context, MetaFieldImpl mdField, AccessibleObject accessibleObject)
+ protected void initFromAnnotations(Context context, MetaFieldWritable mdField, AccessibleObject accessibleObject)
{
throw new UnsupportedOperationException();
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/AbstractJsfExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/AbstractJsfExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/AbstractJsfExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/AbstractJsfExtractor.java Fri Mar 7 05:54:48 2008
@@ -24,8 +24,8 @@
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaConfigs;
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaForm;
import org.apache.myfaces.orchestra.dynaForm.metadata.Extractor;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaDataImpl;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaDataWritable;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
/**
* Extract metadata from a DynaForm UIComponent.
@@ -47,7 +47,7 @@
* <p>
* The specified entity must be an instance of DynaForm (a JSF UIComponent).
*/
- public void getMetaData(MetaDataImpl metaData, Object entity)
+ public void getMetaData(MetaDataWritable metaData, Object entity)
{
if (!(entity instanceof DynaForm))
{
@@ -61,7 +61,7 @@
* create the metadata out of the dynaConfigs for the given component
*/
@SuppressWarnings("unchecked")
- protected void create(MetaDataImpl metaData, DynaForm dynaForm)
+ protected void create(MetaDataWritable metaData, DynaForm dynaForm)
{
DynaConfigs formConfig = dynaForm.getFormConfigs();
if (formConfig == null)
@@ -79,14 +79,14 @@
throw new IllegalArgumentException("'for' in config tag required");
}
- if (metaData.processField(name))
+ if (metaData.isWantedField(name))
{
- MetaFieldImpl field = metaData.getOrCreateField(name);
+ MetaFieldWritable field = metaData.getOrCreateField(name);
initFromConfig(field, dynaConfig);
}
}
}
- protected abstract void initFromConfig(MetaFieldImpl field, DynaConfig config);
+ protected abstract void initFromConfig(MetaFieldWritable field, DynaConfig config);
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExclusiveExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExclusiveExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExclusiveExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExclusiveExtractor.java Fri Mar 7 05:54:48 2008
@@ -20,7 +20,7 @@
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaConfig;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
/**
* Extract metadata from jsf form.<br />
@@ -33,7 +33,7 @@
{
}
- protected void initFromConfig(MetaFieldImpl field, DynaConfig config)
+ protected void initFromConfig(MetaFieldWritable field, DynaConfig config)
{
}
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfExtractor.java Fri Mar 7 05:54:48 2008
@@ -20,7 +20,7 @@
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaConfig;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaFieldImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaFieldWritable;
/**
* Extract metadata from jsf form.<br />
@@ -32,7 +32,7 @@
{
}
- protected void initFromConfig(MetaFieldImpl field, DynaConfig config)
+ protected void initFromConfig(MetaFieldWritable field, DynaConfig config)
{
config.configureMetaData(field);
}
Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfRequestFieldExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfRequestFieldExtractor.java?rev=634677&r1=634676&r2=634677&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfRequestFieldExtractor.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/metadata/impl/jsf/JsfRequestFieldExtractor.java Fri Mar 7 05:54:48 2008
@@ -25,7 +25,7 @@
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaConfigs;
import org.apache.myfaces.orchestra.dynaForm.jsf.component.DynaForm;
import org.apache.myfaces.orchestra.dynaForm.metadata.Extractor;
-import org.apache.myfaces.orchestra.dynaForm.metadata.impl.MetaDataImpl;
+import org.apache.myfaces.orchestra.dynaForm.metadata.MetaDataWritable;
/**
* Extract metadata from jsf form.<br />
@@ -38,7 +38,7 @@
{
}
- public void getMetaData(MetaDataImpl metaData, Object entity)
+ public void getMetaData(MetaDataWritable metaData, Object entity)
{
if (!(entity instanceof DynaForm))
{
@@ -52,7 +52,7 @@
* create the metadata out of the dynaConfigs for the given component
*/
@SuppressWarnings("unchecked")
- protected void create(MetaDataImpl metaData, DynaForm dynaForm)
+ protected void create(MetaDataWritable metaData, DynaForm dynaForm)
{
DynaConfigs formConfig = dynaForm.getFormConfigs();
if (formConfig == null)
@@ -70,7 +70,7 @@
throw new IllegalArgumentException("'for' in config tag required");
}
- if (metaData.processField(name))
+ if (metaData.isWantedField(name))
{
metaData.requestField(name);
}