Fixed another occurence of the PrintListener bug

git-svn-id: https://svn.libreccm.org/ccm/trunk@2986 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2014-11-23 13:15:56 +00:00
parent 3c678af21f
commit 4dbf93f31d
2 changed files with 68 additions and 67 deletions

View File

@ -115,6 +115,7 @@ public class ItemListPortletEditor extends ObjectListPortletEditor {
public void prepare(PrintEvent ev) { public void prepare(PrintEvent ev) {
OptionGroup target = (OptionGroup)ev.getTarget(); OptionGroup target = (OptionGroup)ev.getTarget();
target.clearOptions();
ContentTypeCollection types = ContentType.getRegisteredContentTypes(); ContentTypeCollection types = ContentType.getRegisteredContentTypes();
types.addOrder(ContentType.LABEL); types.addOrder(ContentType.LABEL);

View File

@ -15,7 +15,6 @@
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
package com.arsdigita.navigation.ui.portlet; package com.arsdigita.navigation.ui.portlet;
import com.arsdigita.navigation.portlet.ObjectListPortlet; import com.arsdigita.navigation.portlet.ObjectListPortlet;
@ -95,7 +94,8 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
add(new Label("Base object type:", Label.BOLD), ColumnPanel.RIGHT); add(new Label("Base object type:", Label.BOLD), ColumnPanel.RIGHT);
add(m_baseObjectType); add(m_baseObjectType);
m_restrictedObjectType = buildRestrictedObjectTypeWidget(new StringParameter("restrictedObjectType")); m_restrictedObjectType = buildRestrictedObjectTypeWidget(new StringParameter(
"restrictedObjectType"));
add(new Label("Restricted object type:", Label.BOLD), ColumnPanel.RIGHT); add(new Label("Restricted object type:", Label.BOLD), ColumnPanel.RIGHT);
add(m_restrictedObjectType); add(m_restrictedObjectType);
@ -106,9 +106,9 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
m_descendCategories = new RadioGroup(new BooleanParameter("descendCategories")); m_descendCategories = new RadioGroup(new BooleanParameter("descendCategories"));
m_descendCategories.addValidationListener(new NotNullValidationListener()); m_descendCategories.addValidationListener(new NotNullValidationListener());
m_descendCategories.addOption(new Option(Boolean.TRUE.toString(), m_descendCategories.addOption(new Option(Boolean.TRUE.toString(),
"Yes")); "Yes"));
m_descendCategories.addOption(new Option(Boolean.FALSE.toString(), m_descendCategories.addOption(new Option(Boolean.FALSE.toString(),
"No")); "No"));
add(new Label("Descend categories:", Label.BOLD), ColumnPanel.RIGHT); add(new Label("Descend categories:", Label.BOLD), ColumnPanel.RIGHT);
add(m_descendCategories); add(m_descendCategories);
@ -144,9 +144,9 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
add(new Label("Output attributes:", Label.BOLD), ColumnPanel.RIGHT); add(new Label("Output attributes:", Label.BOLD), ColumnPanel.RIGHT);
add(m_attributes); add(m_attributes);
m_properties = new MultipleSelect( "properties" ); m_properties = new MultipleSelect("properties");
add( new Label( "Output properties:", Label.BOLD ), ColumnPanel.RIGHT ); add(new Label("Output properties:", Label.BOLD), ColumnPanel.RIGHT);
add( m_properties ); add(m_properties);
} }
protected PrintListener getBaseObjectTypes() { protected PrintListener getBaseObjectTypes() {
@ -188,14 +188,14 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
private class ObjectTypePrintListener implements PrintListener { private class ObjectTypePrintListener implements PrintListener {
public void prepare(PrintEvent ev) { public void prepare(PrintEvent ev) {
OptionGroup target = (OptionGroup)ev.getTarget(); OptionGroup target = (OptionGroup) ev.getTarget();
target.clearOptions(); target.clearOptions();
MetadataRoot root = MetadataRoot.getMetadataRoot(); MetadataRoot root = MetadataRoot.getMetadataRoot();
Iterator types = root.getObjectTypes().iterator(); Iterator types = root.getObjectTypes().iterator();
target.addOption(new Option(null, "--select one--")); target.addOption(new Option(null, "--select one--"));
while (types.hasNext()) { while (types.hasNext()) {
ObjectType type = (ObjectType)types.next(); ObjectType type = (ObjectType) types.next();
if (!type.isSubtypeOf(ACSObject.BASE_DATA_OBJECT_TYPE)) { if (!type.isSubtypeOf(ACSObject.BASE_DATA_OBJECT_TYPE)) {
continue; continue;
@ -205,6 +205,7 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
type.getQualifiedName())); type.getQualifiedName()));
} }
} }
} }
protected void initWidgets(PageState state, protected void initWidgets(PageState state,
@ -213,16 +214,16 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
super.initWidgets(state, portlet); super.initWidgets(state, portlet);
Iterator properties = ObjectListPortlet.getRegisteredProperties(); Iterator properties = ObjectListPortlet.getRegisteredProperties();
while( properties.hasNext() ) { while (properties.hasNext()) {
Map.Entry entry = (Map.Entry) properties.next(); Map.Entry entry = (Map.Entry) properties.next();
String key = entry.getKey().toString(); String key = entry.getKey().toString();
String title = ((Object[]) entry.getValue())[0].toString(); String title = ((Object[]) entry.getValue())[0].toString();
m_properties.addOption( new Option( key, title ), state ); m_properties.addOption(new Option(key, title), state);
} }
if (portlet != null) { if (portlet != null) {
ObjectListPortlet myportlet = (ObjectListPortlet)portlet; ObjectListPortlet myportlet = (ObjectListPortlet) portlet;
m_baseObjectType.setValue(state, myportlet.getBaseObjectType()); m_baseObjectType.setValue(state, myportlet.getBaseObjectType());
m_restrictedObjectType.setValue(state, myportlet.getRestrictedObjectType()); m_restrictedObjectType.setValue(state, myportlet.getRestrictedObjectType());
@ -239,7 +240,7 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
m_checkPermissions.setValue(state, new Boolean(myportlet.isCheckingPermissions())); m_checkPermissions.setValue(state, new Boolean(myportlet.isCheckingPermissions()));
m_excludeIndexObjects.setValue(state, new Boolean(myportlet.isExludingIndexObjects())); m_excludeIndexObjects.setValue(state, new Boolean(myportlet.isExludingIndexObjects()));
m_properties.setValue( state, myportlet.getProperties() ); m_properties.setValue(state, myportlet.getProperties());
} else { } else {
m_baseObjectType.setValue(state, null); m_baseObjectType.setValue(state, null);
m_restrictedObjectType.setValue(state, null); m_restrictedObjectType.setValue(state, null);
@ -260,7 +261,7 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
Portlet portlet) Portlet portlet)
throws FormProcessException { throws FormProcessException {
String baseTypeName = (String)m_baseObjectType.getValue(state); String baseTypeName = (String) m_baseObjectType.getValue(state);
ObjectType baseType = MetadataRoot.getMetadataRoot().getObjectType(baseTypeName); ObjectType baseType = MetadataRoot.getMetadataRoot().getObjectType(baseTypeName);
if (baseType == null) { if (baseType == null) {
throw new FormProcessException( throw new FormProcessException(
@ -269,15 +270,13 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
if (!baseType.isSubtypeOf(ACSObject.BASE_DATA_OBJECT_TYPE)) { if (!baseType.isSubtypeOf(ACSObject.BASE_DATA_OBJECT_TYPE)) {
throw new FormProcessException( throw new FormProcessException(
"The type '" + baseTypeName + "The type '" + baseTypeName + "' is not a subtype of '"
"' is not a subtype of '" + + ACSObject.BASE_DATA_OBJECT_TYPE + "'");
ACSObject.BASE_DATA_OBJECT_TYPE + "'");
} }
String specificTypeName = (String)m_restrictedObjectType.getValue(state); String specificTypeName = (String) m_restrictedObjectType.getValue(state);
ObjectType specificType = null; ObjectType specificType = null;
if (specificTypeName != null && if (specificTypeName != null && !"".equals(specificTypeName)) {
!"".equals(specificTypeName)) {
specificType = MetadataRoot.getMetadataRoot().getObjectType(specificTypeName); specificType = MetadataRoot.getMetadataRoot().getObjectType(specificTypeName);
if (specificType == null) { if (specificType == null) {
throw new FormProcessException( throw new FormProcessException(
@ -286,18 +285,16 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
if (!specificType.isSubtypeOf(baseType)) { if (!specificType.isSubtypeOf(baseType)) {
throw new FormProcessException( throw new FormProcessException(
"The type '" + specificTypeName + "The type '" + specificTypeName + "' is not a subtype of '" + baseTypeName + "'");
"' is not a subtype of '" + baseTypeName + "'");
} }
} }
ObjectType type = specificType == null ? ObjectType type = specificType == null ? baseType : specificType;
baseType : specificType;
String order = (String)m_order.getValue(state); String order = (String) m_order.getValue(state);
validateFields(type, order); validateFields(type, order);
String attr = (String)m_attributes.getValue(state); String attr = (String) m_attributes.getValue(state);
if (attr != null) { if (attr != null) {
validateFields(type, attr); validateFields(type, attr);
} }
@ -308,11 +305,11 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
throws FormProcessException { throws FormProcessException {
Root root = MetadataRoot.getMetadataRoot().getRoot(); Root root = MetadataRoot.getMetadataRoot().getRoot();
com.redhat.persistence.metadata.ObjectType objType = com.redhat.persistence.metadata.ObjectType objType = root.getObjectType(type
root.getObjectType(type.getQualifiedName()); .getQualifiedName());
String[] fields = StringUtils.split(str, ','); String[] fields = StringUtils.split(str, ',');
for (int i = 0 ; i < fields.length ; i++) { for (int i = 0; i < fields.length; i++) {
String field = fields[i].trim(); String field = fields[i].trim();
if (field.endsWith(" desc")) { if (field.endsWith(" desc")) {
field = field.substring(0, field.length() - 5); field = field.substring(0, field.length() - 5);
@ -329,8 +326,8 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
if (!objType.exists(Path.get(field))) { if (!objType.exists(Path.get(field))) {
throw new FormProcessException( throw new FormProcessException(
"The type '" + type.getQualifiedName() + "The type '" + type.getQualifiedName() + "' does not have a property '" + field
"' does not have a property '" + field + "'"); + "'");
} }
} }
} }
@ -340,19 +337,22 @@ public class ObjectListPortletEditor extends PortletConfigFormSection {
throws FormProcessException { throws FormProcessException {
super.processWidgets(state, portlet); super.processWidgets(state, portlet);
ObjectListPortlet myportlet = (ObjectListPortlet)portlet; ObjectListPortlet myportlet = (ObjectListPortlet) portlet;
myportlet.setBaseObjectType((String)m_baseObjectType.getValue(state)); myportlet.setBaseObjectType((String) m_baseObjectType.getValue(state));
myportlet.setRestrictedObjectType((String)m_restrictedObjectType.getValue(state)); myportlet.setRestrictedObjectType((String) m_restrictedObjectType.getValue(state));
myportlet.setCount(((Integer)m_count.getValue(state)).intValue()); myportlet.setCount(((Integer) m_count.getValue(state)).intValue());
myportlet.setOrdering((String)m_order.getValue(state)); myportlet.setOrdering((String) m_order.getValue(state));
myportlet.setAttributes((String)m_attributes.getValue(state)); myportlet.setAttributes((String) m_attributes.getValue(state));
myportlet.setFilterCategory(m_filterCategory.getCategory(state)); myportlet.setFilterCategory(m_filterCategory.getCategory(state));
myportlet.setDescendCategories(((Boolean)m_descendCategories.getValue(state)).booleanValue()); myportlet.setDescendCategories(((Boolean) m_descendCategories.getValue(state))
myportlet.setCheckPermissions(((Boolean)m_checkPermissions.getValue(state)).booleanValue()); .booleanValue());
myportlet.setExcludeIndexObjects(((Boolean)m_excludeIndexObjects.getValue(state)).booleanValue()); myportlet.setCheckPermissions(((Boolean) m_checkPermissions.getValue(state)).booleanValue());
myportlet.setProperties( (Object[]) m_properties.getValue( state ) ); myportlet.setExcludeIndexObjects(((Boolean) m_excludeIndexObjects.getValue(state))
.booleanValue());
myportlet.setProperties((Object[]) m_properties.getValue(state));
} }
} }