Author: chris.laprun(a)jboss.com
Date: 2008-07-28 19:03:33 -0400 (Mon, 28 Jul 2008)
New Revision: 11604
Added:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/StatusConverter.java
Removed:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/QNameConverter.java
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/BeanContext.java
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource.properties
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource_fr.properties
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/faces-config.xml
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/jsf/consumers/editConsumer.xhtml
branches/JBoss_Portal_Branch_2_7/registration/src/main/org/jboss/portal/registration/impl/RegistrationManagerImpl.java
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationInfoTestCase.java
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationPropertyTestCase.java
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationInfo.java
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationProperty.java
Log:
- JBPORTAL-2092: status is now localizable.
- Improved behavior of RegistrationProperty.setInvalid
- RegistrationProperty status is now an enum instead of String.
- Some generification and clean-ups.
- Updated tests.
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/BeanContext.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/BeanContext.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/BeanContext.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -61,17 +61,20 @@
protected void createLocalizedMessage(String target, String message, Object severity,
Object... params)
{
- String localizedMessage = MessageFormat.format(getMessageFromBundle(message),
params);
- createMessage(target, localizedMessage, severity);
+ createMessage(target, getMessageFromBundle(message, params), severity);
}
- protected String getMessageFromBundle(String message)
+ protected String getMessageFromBundle(String message, Object... params)
{
- Locale locale = getLocale();
- ResourceBundle rb = ResourceBundle.getBundle(RESOURCE_NAME, locale);
- return rb.getString(message);
+ return getLocalizedMessage(message, getLocale(), params);
}
+ public static String getLocalizedMessage(String localizationKey, Locale locale,
Object... params)
+ {
+ ResourceBundle rb = ResourceBundle.getBundle(RESOURCE_NAME, locale);
+ return MessageFormat.format(rb.getString(localizationKey), params);
+ }
+
protected void createErrorMessageFrom(Exception e)
{
createErrorMessageFrom(STATUS, e);
Deleted:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/QNameConverter.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/QNameConverter.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/QNameConverter.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -1,47 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2007, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-
-package org.jboss.portal.wsrp.admin.ui;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.convert.Converter;
-import javax.xml.namespace.QName;
-
-/**
- * @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
- * @version $Revision$
- * @since 2.6.3
- */
-public class QNameConverter implements Converter
-{
- public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String
s)
- {
- return s == null ? null : QName.valueOf(s);
- }
-
- public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object
o)
- {
- return o == null ? null : o.toString();
- }
-}
Added:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/StatusConverter.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/StatusConverter.java
(rev 0)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/wsrp/admin/ui/StatusConverter.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -0,0 +1,57 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+*/
+
+package org.jboss.portal.wsrp.admin.ui;
+
+import org.jboss.portal.wsrp.consumer.RegistrationProperty;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import java.util.Locale;
+
+/**
+ * Convert the status key to a localized message.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
+ * @version $Revision$
+ */
+public class StatusConverter implements Converter
+{
+ public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String
s)
+ {
+ throw new UnsupportedOperationException("Should not be used!");
+ }
+
+ public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object
o)
+ {
+ if (o == null)
+ {
+ return null;
+ }
+
+ Locale locale = facesContext.getExternalContext().getRequestLocale();
+ RegistrationProperty.Status status = (RegistrationProperty.Status)o;
+ String key = status.getLocalizationKey();
+ return BeanContext.getLocalizedMessage(key, locale);
+ }
+}
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource.properties
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource.properties 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource.properties 2008-07-28
23:03:33 UTC (rev 11604)
@@ -163,3 +163,11 @@
bean_producer_cannot_reload = Couldn't reload producer configuration. Cause: {0}
bean_producer_save_success = Producer configuration successfully saved!
bean_producer_cancel_success = All modifications made to the producer configuration have
been cancelled!
+
+## RegistrationProperty Status localization
+registration_property_status_inexistent = Inexistent on producer
+registration_property_status_missing = Missing
+registration_property_status_missing_value = Missing value
+registration_property_status_unchecked_value = Undetermined status
+registration_property_status_invalid_value = Invalid value
+registration_property_status_valid = Valid
\ No newline at end of file
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource_fr.properties
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource_fr.properties 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/classes/WSRPConfigurationResource_fr.properties 2008-07-28
23:03:33 UTC (rev 11604)
@@ -134,4 +134,10 @@
bean_producer_cancel_success=Toutes les modifications faites \u00e0 la configuration du
producteur ont \u00e9t\u00e9 annull\u00e9es!
bean_producer_save_success=La configuration du producteur a bien \u00e9t\u00e9
sauvegard\u00e9e!
bean_consumermanager_refresh_modify=Les informations locales ont chang\u00e9, vous
devriez modifier votre enregistrement avec le producteur.
-bean_consumer_update_success=Consommateur mis \u00e0 jour!
\ No newline at end of file
+bean_consumer_update_success=Consommateur mis \u00e0 jour!
+registration_property_status_inexistent=Inexistant sur le producteur
+registration_property_status_invalid_value=Invalide valeur
+registration_property_status_missing=Manquant
+registration_property_status_missing_value=Valeur manquante
+registration_property_status_unchecked_value=Status ind\u00e9termin\u00e9
+registration_property_status_valid=Valide
\ No newline at end of file
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/faces-config.xml
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/faces-config.xml 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/WEB-INF/faces-config.xml 2008-07-28
23:03:33 UTC (rev 11604)
@@ -23,7 +23,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces
Config 1.0//EN"
- "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+ "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
@@ -31,7 +31,7 @@
<application>
<view-handler>
- org.jboss.portletbridge.application.PortletViewHandler
+ org.jboss.portletbridge.application.PortletViewHandler
</view-handler>
<state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>
</application>
@@ -40,11 +40,12 @@
<converter-for-class>org.jboss.portal.wsrp.registration.LocalizedString</converter-for-class>
<converter-class>org.jboss.portal.wsrp.admin.ui.LocalizedStringConverter</converter-class>
</converter>
- <!--<converter>
- <converter-for-class>javax.xml.namespace.QName</converter-for-class>
-
<converter-class>org.jboss.portal.wsrp.admin.ui.QNameConverter</converter-class>
- </converter>-->
+ <converter>
+ <converter-id>faces.convert.RegistrationProperty.Status</converter-id>
+
<converter-class>org.jboss.portal.wsrp.admin.ui.StatusConverter</converter-class>
+ </converter>
+
<managed-bean>
<managed-bean-name>beanContext</managed-bean-name>
<managed-bean-class>org.jboss.portal.wsrp.admin.ui.JSFBeanContext</managed-bean-class>
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/jsf/consumers/editConsumer.xhtml
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/jsf/consumers/editConsumer.xhtml 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/resources/portal-wsrp-admin-war/jsf/consumers/editConsumer.xhtml 2008-07-28
23:03:33 UTC (rev 11604)
@@ -89,18 +89,21 @@
<th
class="descColumn">#{i18n.edit_consumer_prop_desc}</th>
<th>#{i18n.edit_consumer_prop_value}</th>
</tr>
- <tr jsfc="ui:repeat"
value="#{consumer.producerInfo.registrationInfo.registrationProperties}"
- var="prop"
title="#{prop.value.description.label.value}">
- <td>#{prop.value.name}</td>
- <td>#{prop.value.description.label.value}</td>
- <td>
- <h:inputText value="#{prop.value.value}"
size="50"
-
valueChangeListener="#{consumer.regPropListener}"
-
disabled="#{consumer.registrationModified}"/>
- <h:outputText styleClass="portlet-msg-error"
value="#{prop.value.status}"
-
rendered="#{prop.value.determinedInvalid}"/>
- </td>
- </tr>
+ <c:forEach
items="#{consumer.producerInfo.registrationInfo.registrationProperties}"
+ var="prop">
+ <tr title="#{prop.description.label.value}">
+ <td>#{prop.name}</td>
+ <td>#{prop.description.label.value}</td>
+ <td>
+ <h:inputText value="#{prop.value}"
size="50"
+
valueChangeListener="#{consumer.regPropListener}"
+
disabled="#{consumer.registrationModified}"/>
+ <h:outputText
styleClass="portlet-msg-error" value="#{prop.status}"
+
rendered="#{prop.determinedInvalid}"
+
converter="faces.convert.RegistrationProperty.Status"/>
+ </td>
+ </tr>
+ </c:forEach>
</table>
<h:commandLink action="#{consumer.update}"
value="#{i18n.edit_consumer_registration_update_props}"
@@ -132,16 +135,19 @@
<th
class="descColumn">#{i18n.edit_consumer_prop_desc}</th>
<th>#{i18n.edit_consumer_prop_value}</th>
</tr>
- <tr jsfc="ui:repeat"
value="#{consumer.expectedRegistrationInfo.registrationProperties}"
- var="prop"
title="#{prop.value.description.label.value}">
- <td>#{prop.value.name}</td>
- <td>#{prop.value.description.label.value}</td>
- <td>
- <h:inputText value="#{prop.value.value}"
size="50"/>
- <h:outputText
styleClass="portlet-msg-error" value="#{prop.value.status}"
-
rendered="#{prop.value.determinedInvalid}"/>
- </td>
- </tr>
+
+ <c:forEach
items="#{consumer.expectedRegistrationInfo.registrationProperties}"
var="prop">
+ <tr
title="#{prop.description.label.value}">
+ <td>#{prop.name}</td>
+ <td>#{prop.description.label.value}</td>
+ <td>
+ <h:inputText value="#{prop.value}"
size="50"/>
+ <h:outputText
styleClass="portlet-msg-error" value="#{prop.status}"
+
rendered="#{prop.determinedInvalid}"
+
converter="faces.convert.RegistrationProperty.Status"/>
+ </td>
+ </tr>
+ </c:forEach>
</table>
</c:when>
<c:otherwise>
Modified:
branches/JBoss_Portal_Branch_2_7/registration/src/main/org/jboss/portal/registration/impl/RegistrationManagerImpl.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/registration/src/main/org/jboss/portal/registration/impl/RegistrationManagerImpl.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/registration/src/main/org/jboss/portal/registration/impl/RegistrationManagerImpl.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -83,7 +83,7 @@
}
public Registration addRegistrationTo(String consumerName, Map registrationProperties,
boolean createConsumerIfNeeded)
- throws RegistrationException
+ throws RegistrationException
{
// the policy determines the identity of the consumer based on the given
information (note that this might be obsoleted by using WS-Security)
String identity = policy.getConsumerIdFrom(consumerName, registrationProperties);
@@ -246,7 +246,7 @@
}
private Consumer getOrCreateConsumer(String identity, boolean createConsumerIfNeeded,
String consumerName)
- throws RegistrationException
+ throws RegistrationException
{
Consumer consumer = getConsumerByIdentity(identity);
if (consumer == null)
@@ -287,9 +287,9 @@
{
ParameterValidation.throwIllegalArgExceptionIfNull(group,
"ConsumerGroup");
- for (Iterator consumers = group.getConsumers().iterator(); consumers.hasNext();)
+ for (Object consumer : group.getConsumers())
{
- removeConsumer((Consumer)consumers.next());
+ removeConsumer((Consumer)consumer);
}
persistenceManager.removeConsumerGroup(group.getName());
@@ -308,16 +308,16 @@
public void clear() throws RegistrationException
{
- Collection tmpColl = new ArrayList(getConsumers());
- for (Iterator consumers = tmpColl.iterator(); consumers.hasNext();)
+ Collection<Consumer> consumers = new
ArrayList<Consumer>(getConsumers());
+ for (Consumer consumer : consumers)
{
- removeConsumer((Consumer)consumers.next());
+ removeConsumer(consumer);
}
- tmpColl = new ArrayList(getConsumerGroups());
- for (Iterator groups = tmpColl.iterator(); groups.hasNext();)
+ Collection<ConsumerGroup> groups = new
ArrayList<ConsumerGroup>(getConsumerGroups());
+ for (ConsumerGroup group : groups)
{
- removeConsumerGroup((ConsumerGroup)groups.next());
+ removeConsumerGroup(group);
}
}
Modified:
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationInfoTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationInfoTestCase.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationInfoTestCase.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -123,13 +123,13 @@
// specifiy that the prop is valid to simulate a successful registration
(integration test, should have something
// testing that in ProducerInfoTestCase)
- prop.setInvalid(Boolean.FALSE, null);
+ prop.setInvalid(Boolean.FALSE, RegistrationProperty.Status.VALID);
info.setRegistrationPropertyValue("prop0", "value1");
assertTrue(info.isRefreshNeeded());
assertNull("Property value has changed since last refresh, status should be
unknown", prop.isInvalid());
assertEquals("Property value has changed since last refresh, status should be
unknown",
- RegistrationProperty.UNCHECKED_VALUE_STATUS, prop.getStatus());
+ RegistrationProperty.Status.UNCHECKED_VALUE, prop.getStatus());
}
public void testRefreshNoRegistration()
@@ -191,7 +191,7 @@
assertNotNull(prop);
assertEquals("bar", prop.getValue());
assertTrue(prop.isInvalid());
- assertEquals(RegistrationProperty.INEXISTENT_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.INEXISTENT, prop.getStatus());
}
public void testRefreshRegistrationRegistrationNoLocalInfo()
@@ -212,11 +212,11 @@
RegistrationProperty prop = (RegistrationProperty)regProps.get("prop0");
assertNotNull(prop);
assertTrue(prop.isInvalid());
- assertEquals(RegistrationProperty.MISSING_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.MISSING, prop.getStatus());
prop = (RegistrationProperty)regProps.get("prop1");
assertNotNull(prop);
assertTrue(prop.isInvalid());
- assertEquals(RegistrationProperty.MISSING_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.MISSING, prop.getStatus());
}
public void testRefreshRegistrationRegistrationMergeWithLocalInfo()
@@ -232,13 +232,13 @@
assertNotNull(prop);
assertNull(prop.getValue());
assertTrue(prop.isInvalid());
- assertEquals(RegistrationProperty.MISSING_VALUE_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.MISSING_VALUE, prop.getStatus());
prop = info.getRegistrationProperty("prop1");
assertNotNull(prop);
assertNull(prop.getValue());
assertTrue(prop.isInvalid());
- assertEquals(RegistrationProperty.MISSING_VALUE_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.MISSING_VALUE, prop.getStatus());
assertEquals(2, info.getRegistrationProperties().size());
assertEquals(2, result.getRegistrationProperties().size());
Modified:
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationPropertyTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationPropertyTestCase.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/test/wsrp/consumer/RegistrationPropertyTestCase.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -48,24 +48,58 @@
assertNull(prop.isInvalid());
assertFalse(prop.isDeterminedInvalid());
assertNull(prop.getDescription());
- assertEquals(RegistrationProperty.UNCHECKED_VALUE_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.UNCHECKED_VALUE, prop.getStatus());
}
public void testSetValue()
{
- prop.setInvalid(Boolean.FALSE, null);
- assertEquals(Boolean.FALSE, prop.isInvalid());
- assertNull(prop.getStatus());
+ prop.setInvalid(Boolean.FALSE, RegistrationProperty.Status.VALID);
// we haven't changed the value, so the status shouldn't have changed
prop.setValue("value");
assertEquals(Boolean.FALSE, prop.isInvalid());
- assertNull(prop.getStatus());
+ assertEquals(RegistrationProperty.Status.VALID, prop.getStatus());
// we changed the value, status is now unknown
prop.setValue("value2");
assertEquals("value2", prop.getValue());
assertNull(prop.isInvalid());
- assertEquals(RegistrationProperty.UNCHECKED_VALUE_STATUS, prop.getStatus());
+ assertEquals(RegistrationProperty.Status.UNCHECKED_VALUE, prop.getStatus());
}
+
+ public void testSetInvalid()
+ {
+ prop.setInvalid(Boolean.FALSE, RegistrationProperty.Status.VALID);
+ assertEquals(Boolean.FALSE, prop.isInvalid());
+ assertEquals(RegistrationProperty.Status.VALID, prop.getStatus());
+
+ // whatever the status, if we specifiy that the property is valid, its status
should be VALID
+ prop.setInvalid(Boolean.FALSE, RegistrationProperty.Status.INEXISTENT);
+ assertEquals(Boolean.FALSE, prop.isInvalid());
+ assertEquals(RegistrationProperty.Status.VALID, prop.getStatus());
+
+ prop.setInvalid(Boolean.FALSE, null);
+ assertEquals(Boolean.FALSE, prop.isInvalid());
+ assertEquals(RegistrationProperty.Status.VALID, prop.getStatus());
+
+ try
+ {
+ prop.setInvalid(true, null);
+ fail("setInvalid should not accept a prop to be set invalid without a
proper status");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // expected
+ }
+
+ try
+ {
+ prop.setInvalid(true, RegistrationProperty.Status.VALID);
+ fail("setInvalid should not accept a prop to be set invalid with a VALID
status");
+ }
+ catch (IllegalArgumentException e)
+ {
+ // expected
+ }
+ }
}
Modified:
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationInfo.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationInfo.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationInfo.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -447,7 +447,7 @@
}
else
{
- prop.setStatus(RegistrationProperty.MISSING_STATUS);
+ prop.setStatus(RegistrationProperty.Status.MISSING);
result.getRegistrationProperties().put(name, prop);
}
@@ -546,11 +546,11 @@
{
// mark the prop as invalid
RegistrationProperty prop = properties.get(name);
- prop.setInvalid(Boolean.TRUE, RegistrationProperty.INEXISTENT_STATUS);
+ prop.setInvalid(Boolean.TRUE, RegistrationProperty.Status.INVALID_VALUE);
// do the same in the result
prop = result.getRegistrationProperties().get(name);
- prop.setInvalid(Boolean.TRUE, RegistrationProperty.INEXISTENT_STATUS);
+ prop.setInvalid(Boolean.TRUE, RegistrationProperty.Status.INEXISTENT);
}
else
{
@@ -583,7 +583,7 @@
RegistrationPropertyDescription desc =
WSRPUtils.convertToRegistrationPropertyDescription(description);
RegistrationProperty prop = new RegistrationProperty(name, null,
WSRPUtils.toString(desc.getLang()));
prop.setDescription(desc);
- prop.setInvalid(Boolean.TRUE, RegistrationProperty.MISSING_VALUE_STATUS);
+ prop.setInvalid(Boolean.TRUE, RegistrationProperty.Status.MISSING_VALUE);
result.put(name, prop);
}
@@ -623,7 +623,7 @@
for (Object o : persistentRegistrationProperties.values())
{
RegistrationProperty prop = (RegistrationProperty)o;
- prop.setInvalid(Boolean.FALSE, null);
+ prop.setInvalid(Boolean.FALSE, RegistrationProperty.Status.VALID);
}
}
Modified:
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationProperty.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationProperty.java 2008-07-28
22:41:40 UTC (rev 11603)
+++
branches/JBoss_Portal_Branch_2_7/wsrp/src/main/org/jboss/portal/wsrp/consumer/RegistrationProperty.java 2008-07-28
23:03:33 UTC (rev 11604)
@@ -24,6 +24,7 @@
package org.jboss.portal.wsrp.consumer;
import org.jboss.portal.common.util.ParameterValidation;
+import static org.jboss.portal.wsrp.consumer.RegistrationProperty.Status.*;
import org.jboss.portal.wsrp.registration.RegistrationPropertyDescription;
/**
@@ -40,13 +41,37 @@
private String persistentName;
private String persistentValue;
- private transient String status;
+ /*private transient String status;
public static final String INEXISTENT_STATUS = "Inexistent on Producer";
public static final String MISSING_STATUS = "Missing";
public static final String MISSING_VALUE_STATUS = "Missing value";
public static final String UNCHECKED_VALUE_STATUS = "Undetermined status";
- public static final String INVALID_VALUE_STATUS = "Invalid value";
+ public static final String INVALID_VALUE_STATUS = "Invalid value";*/
+ private transient Status status;
+
+ public enum Status
+ {
+ INEXISTENT("registration_property_status_inexistent"),
+ MISSING("registration_property_status_missing"),
+ MISSING_VALUE("registration_property_status_missing_value"),
+ UNCHECKED_VALUE("registration_property_status_unchecked_value"),
+ INVALID_VALUE("registration_property_status_invalid_value"),
+ VALID("registration_property_status_valid");
+
+ Status(String localizationKey)
+ {
+ this.localizationKey = localizationKey;
+ }
+
+ public String getLocalizationKey()
+ {
+ return localizationKey;
+ }
+
+ private String localizationKey;
+ }
+
public RegistrationProperty()
{
}
@@ -144,13 +169,25 @@
public boolean isDeterminedInvalid()
{
- return persistentInvalid != null && persistentInvalid &&
!UNCHECKED_VALUE_STATUS.equals(getStatus());
+ return persistentInvalid != null && persistentInvalid &&
!UNCHECKED_VALUE.equals(getStatus());
}
- public void setInvalid(Boolean invalid, String status)
+ public void setInvalid(Boolean invalid, Status status)
{
this.persistentInvalid = invalid;
- this.status = status;
+ if (!invalid)
+ {
+ this.status = VALID;
+ }
+ else
+ {
+ if (status == null || VALID.equals(status))
+ {
+ throw new IllegalArgumentException("Invalid status: " + status +
" for an invalid property!");
+ }
+
+ this.status = status;
+ }
}
public void setValue(String stringValue)
@@ -161,11 +198,11 @@
persistentInvalid = null;
if (persistentValue == null)
{
- status = MISSING_VALUE_STATUS;
+ status = MISSING_VALUE;
}
else
{
- status = UNCHECKED_VALUE_STATUS;
+ status = UNCHECKED_VALUE;
}
}
}
@@ -181,12 +218,12 @@
this.persistentLang = lang;
}
- public String getStatus()
+ public Status getStatus()
{
return status;
}
- void setStatus(String status)
+ public void setStatus(Status status)
{
this.status = status;
}