JBoss Portal SVN: r13798 - in jbossexo/modules/wsrp/trunk/consumer: src/main/java/org/jboss/portal/wsrp/consumer and 2 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-08-28 17:06:23 -0400 (Fri, 28 Aug 2009)
New Revision: 13798
Modified:
jbossexo/modules/wsrp/trunk/consumer/pom.xml
jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/consumer/InvocationHandler.java
jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/handler/RequestHeaderClientHandler.java
jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/services/RemoteSOAPInvokerServiceFactory.java
Log:
- Properly remove JAX-RPC code.
- Rewrote RemoteSOAPInvokerServiceFactory to use JAX-WS facility instead of parsing WSDL. Needs to be tested.
Modified: jbossexo/modules/wsrp/trunk/consumer/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/consumer/pom.xml 2009-08-28 08:37:35 UTC (rev 13797)
+++ jbossexo/modules/wsrp/trunk/consumer/pom.xml 2009-08-28 21:06:23 UTC (rev 13798)
@@ -61,11 +61,6 @@
<version>${version.common}</version>
</dependency>
<dependency>
- <groupId>org.jboss.portal.registration</groupId>
- <artifactId>registration-api</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>org.jboss.portal.portlet</groupId>
<artifactId>portlet-portlet</artifactId>
<version>${version.portlet}</version>
@@ -97,11 +92,6 @@
<!-- other dependencies -->
<dependency>
- <groupId>javax.xml</groupId>
- <artifactId>jaxrpc-api</artifactId>
- <version>${version.jaxrpc}</version>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${version.slf4j}</version>
@@ -121,11 +111,6 @@
<artifactId>hibernate-core</artifactId>
<version>3.3.1.GA</version>
</dependency>
- <dependency>
- <groupId>wsdl4j</groupId>
- <artifactId>wsdl4j</artifactId>
- <version>1.6.2</version>
- </dependency>
</dependencies>
<build>
Modified: jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/consumer/InvocationHandler.java
===================================================================
--- jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/consumer/InvocationHandler.java 2009-08-28 08:37:35 UTC (rev 13797)
+++ jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/consumer/InvocationHandler.java 2009-08-28 21:06:23 UTC (rev 13798)
@@ -38,8 +38,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.soap.SOAPFaultException;
import java.rmi.RemoteException;
/**
@@ -205,33 +203,6 @@
log.debug("Invalid registration");
consumer.handleInvalidRegistrationFault();
}
- else if (error instanceof RemoteException)
- {
- // todo: remove when we upgrade to 1.0.3+ see: http://jira.jboss.com/jira/browse/JBWS-955
- RemoteException re = (RemoteException)error;
- Throwable detail = re.detail;
- if (detail instanceof SOAPFaultException)
- {
- SOAPFaultException faultException = (SOAPFaultException)detail;
- QName faultCode = faultException.getFaultCode();
- if (faultCode != null)
- {
- String localPart = faultCode.getLocalPart();
- if ("InvalidRegistration".equalsIgnoreCase(localPart))
- {
- consumer.handleInvalidRegistrationFault();
- }
- else if ("InvalidSession".equalsIgnoreCase(localPart))
- {
- sessionHandler.handleInvalidSessionFault(invocation, runtimeContext);
- }
- else
- {
- return new ErrorResponse(error);
- }
- }
- }
- }
else
{
// other errors cannot be dealt with: we have an error condition
Modified: jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/handler/RequestHeaderClientHandler.java
===================================================================
--- jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/handler/RequestHeaderClientHandler.java 2009-08-28 08:37:35 UTC (rev 13797)
+++ jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/handler/RequestHeaderClientHandler.java 2009-08-28 21:06:23 UTC (rev 13798)
@@ -31,14 +31,15 @@
import org.slf4j.LoggerFactory;
import javax.xml.namespace.QName;
-import javax.xml.rpc.Stub;
-import javax.xml.rpc.handler.GenericHandler;
-import javax.xml.rpc.handler.MessageContext;
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Set;
/**
* A request handler that uses a thread local to setup cookies on the wire.
@@ -47,33 +48,55 @@
* @author <a href="mailto:chris.laprun@jboss.com?subject=org.jboss.portal.wsrp.handler.RequestHeaderClientHandler">Chris
* Laprun</a>
*/
-public class RequestHeaderClientHandler extends GenericHandler
+public class RequestHeaderClientHandler implements SOAPHandler<SOAPMessageContext>
{
private static final ThreadLocal local = new ThreadLocal();
private static final RFC2109Spec cookieParser = new RFC2109Spec();
private static final Logger log = LoggerFactory.getLogger(RequestHeaderClientHandler.class);
- public QName[] getHeaders()
+ public Set<QName> getHeaders()
{
return null;
}
- public boolean handleRequest(MessageContext msgContext)
+ public boolean handleMessage(SOAPMessageContext soapMessageContext)
{
+ // outbound message means request
+ if (Boolean.TRUE.equals(soapMessageContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY)))
+ {
+ return handleRequest(soapMessageContext);
+ }
+ else
+ {
+ return handleResponse(soapMessageContext);
+ }
+ }
+
+ public boolean handleFault(SOAPMessageContext soapMessageContext)
+ {
+ return true;
+ }
+
+ public void close(MessageContext messageContext)
+ {
+ // nothing to do
+ }
+
+ public boolean handleRequest(SOAPMessageContext msgContext)
+ {
CurrentInfo info = getCurrentInfo(false);
if (info == null)
{
- return super.handleRequest(msgContext);
+ return true;
}
ProducerSessionInformation sessionInfo = info.sessionInfo;
if (sessionInfo == null)
{
- return super.handleRequest(msgContext);
+ return true;
}
- SOAPMessageContext smc = (SOAPMessageContext)msgContext;
- SOAPMessage message = smc.getMessage();
+ SOAPMessage message = msgContext.getMessage();
MimeHeaders mimeHeaders = message.getMimeHeaders();
StringBuffer cookie = new StringBuffer(64);
if (sessionInfo.isPerGroupCookies())
@@ -105,7 +128,7 @@
mimeHeaders.setHeader("Cookie", cookie.toString());
}
- return super.handleRequest(msgContext);
+ return true;
}
public boolean handleResponse(MessageContext msgContext)
@@ -119,7 +142,7 @@
{
String cookieValue = coalesceCookies(cookieValues);
- Cookie[] cookies = extractCookies((String)msgContext.getProperty(Stub.ENDPOINT_ADDRESS_PROPERTY), cookieValue);
+ Cookie[] cookies = extractCookies((String)msgContext.get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY), cookieValue);
CurrentInfo info = getCurrentInfo(true);
ProducerSessionInformation sessionInfo = info.sessionInfo;
@@ -139,7 +162,7 @@
}
}
- return super.handleResponse(msgContext);
+ return true;
}
/**
Modified: jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/services/RemoteSOAPInvokerServiceFactory.java
===================================================================
--- jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/services/RemoteSOAPInvokerServiceFactory.java 2009-08-28 08:37:35 UTC (rev 13797)
+++ jbossexo/modules/wsrp/trunk/consumer/src/main/java/org/jboss/portal/wsrp/services/RemoteSOAPInvokerServiceFactory.java 2009-08-28 21:06:23 UTC (rev 13798)
@@ -23,27 +23,18 @@
package org.jboss.portal.wsrp.services;
-import org.jboss.portal.common.io.IOTools;
-import org.jboss.portal.common.net.URLTools;
-import org.jboss.portal.common.util.ParameterValidation;
+import org.oasis.wsrp.v1.WSRPV1MarkupPortType;
+import org.oasis.wsrp.v1.WSRPV1PortletManagementPortType;
+import org.oasis.wsrp.v1.WSRPV1RegistrationPortType;
+import org.oasis.wsrp.v1.WSRPV1ServiceDescriptionPortType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.xml.sax.InputSource;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLLocator;
import javax.xml.namespace.QName;
-import java.io.IOException;
-import java.io.InputStream;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
/**
* @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
@@ -56,17 +47,12 @@
private String wsdlDefinitionURL;
- private static final String WSRP_URN = "urn:oasis:names:tc:wsrp:v1:wsdl";
- private static final String DEFAULT_SERVICE_NAME = "WSRPService";
+ private final static QName SERVICE = new QName("urn:oasis:names:tc:wsrp:v1:wsdl", "WSRPService");
+ private final static QName WSRPServiceDescriptionService = new QName("urn:oasis:names:tc:wsrp:v1:wsdl", "WSRPServiceDescriptionService");
+ private final static QName WSRPBaseService = new QName("urn:oasis:names:tc:wsrp:v1:wsdl", "WSRPBaseService");
+ private final static QName WSRPPortletManagementService = new QName("urn:oasis:names:tc:wsrp:v1:wsdl", "WSRPPortletManagementService");
+ private final static QName WSRPRegistrationService = new QName("urn:oasis:names:tc:wsrp:v1:wsdl", "WSRPRegistrationService");
- // Used to heuristically determine which interface to use for a port based on its name
- private static final String DESCRIPTION = "description";
- private static final String MARKUP = "markup";
- private static final String BASE = "base"; // some WSDL use WSRPBaseService instead of Markup
- private static final String MANAGEMENT = "management";
- private static final String REGISTRATION = "registration";
-
-
public String getWsdlDefinitionURL()
{
return wsdlDefinitionURL;
@@ -107,227 +93,19 @@
private void initServices() throws MalformedURLException
{
- try
- {
- URL wsdlURL = new URL(wsdlDefinitionURL);
+ URL wsdlURL = new URL(wsdlDefinitionURL);
+ Service service = Service.create(wsdlURL, SERVICE);
- Definition def = getWSDLDefinition(wsdlURL);
- javax.wsdl.Service serve = def.getService(new QName(WSRP_URN, DEFAULT_SERVICE_NAME));
- Collection ports = serve.getPorts().values();
- for (Object o : ports)
- {
- Port port = (Port)o;
- initServiceURL(port.getName(), getLocation(port));
- }
- }
- catch (WSDLException e)
- {
- throw new RuntimeException("Couldn't initialize services for WSDL at '" + wsdlDefinitionURL + "'", e);
- }
- }
+ WSRPV1MarkupPortType markupPortType = service.getPort(WSRPBaseService, WSRPV1MarkupPortType.class);
+ markupURL = (String)((BindingProvider)markupPortType).getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
- /**
- * Heuristically try to determine which service we're trying to configure.
- *
- * @param serviceURL the port location as defined in the given WSDL file
- * @param portName the port name as defined in the given WSDL file
- */
- private void initServiceURL(String portName, String serviceURL)
- {
- String normalizedPortName = portName.toLowerCase();
- log.debug("Service URL: " + serviceURL);
+ WSRPV1ServiceDescriptionPortType sdPort = service.getPort(WSRPServiceDescriptionService, WSRPV1ServiceDescriptionPortType.class);
+ serviceDescriptionURL = (String)((BindingProvider)sdPort).getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
- if (doesString1ContainString2(normalizedPortName, DESCRIPTION))
- {
- log.info("Found service description port from port name: " + portName);
- serviceDescriptionURL = serviceURL;
- return;
- }
- if (doesString1ContainString2(normalizedPortName, MARKUP) || doesString1ContainString2(normalizedPortName, BASE))
- {
- log.info("Found markup port from port name: " + portName);
- markupURL = serviceURL;
- return;
- }
- if (doesString1ContainString2(normalizedPortName, MANAGEMENT))
- {
- log.info("Found porlet management port from port name: " + portName);
- portletManagementURL = serviceURL;
- return;
- }
- if (doesString1ContainString2(normalizedPortName, REGISTRATION))
- {
- log.info("Found registration port from port name: " + portName);
- registrationURL = serviceURL;
- return;
- }
- log.warn("Could not find service port matching port name: " + portName);
- }
+ WSRPV1PortletManagementPortType managementPortType = service.getPort(WSRPPortletManagementService, WSRPV1PortletManagementPortType.class);
+ portletManagementURL = (String)((BindingProvider)managementPortType).getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
- private boolean doesString1ContainString2(String string1, String string2)
- {
- return string1.indexOf(string2) > 0;
+ WSRPV1RegistrationPortType registrationPortType = service.getPort(WSRPRegistrationService, WSRPV1RegistrationPortType.class);
+ registrationURL = (String)((BindingProvider)registrationPortType).getRequestContext().get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
}
-
- //Requires wsdl4j
- private Definition getWSDLDefinition(URL url) throws WSDLException
- {
- log.info("Retrieving WSDL from " + url);
- WSDLFactory wsdlFactory = WSDLFactory.newInstance();
- javax.wsdl.xml.WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
- try
- {
- return wsdlReader.readWSDL(new WSDLLocatorImpl(url));
- }
- catch (RuntimeException e)
- {
- throw new WSDLException(WSDLException.PARSER_ERROR, "Error while reading WSDL", e);
- }
- }
-
-
- /** A WSDLLocator that can handle wsdl imports */
- public static class WSDLLocatorImpl implements WSDLLocator
- {
- private URL wsdlURL;
- private String latestImportURI;
- private final Logger log = LoggerFactory.getLogger(getClass());
- private static final int TIME_OUT_MS = 10000;
-
- private static final String XML_XSD = "http://www.w3.org/2001/xml.xsd";
- private static final String LOCAL_XML_XSD = "xsd/xml.xsd";
-
- public WSDLLocatorImpl(URL wsdlFile)
- {
- ParameterValidation.throwIllegalArgExceptionIfNull(wsdlFile, "WSDL URL");
-
- this.wsdlURL = wsdlFile;
- }
-
- public void close()
- {
- // nothing to do since we don't hold any resources
- }
-
- public InputSource getBaseInputSource()
- {
- log.debug("getBaseInputSource [wsdlUrl=" + wsdlURL + "]");
-
- try
- {
- return new InputSource(URLTools.getContentAsInputStream(wsdlURL, TIME_OUT_MS, TIME_OUT_MS));
- }
- catch (IOException e)
- {
- throw new RuntimeException("Couldn't retrieve WSDL for " + wsdlURL, e);
- }
- }
-
- public String getBaseURI()
- {
- return wsdlURL.toExternalForm();
- }
-
- public InputSource getImportInputSource(String parent, String resource)
- {
- log.debug("getImportInputSource [parent=" + parent + ",resource=" + resource + "]");
-
- URL parentURL;
- try
- {
- parentURL = new URL(parent);
- }
- catch (MalformedURLException e)
- {
- log.error("Not a valid URL: " + parent);
- return null;
- }
-
- String wsdlImport;
- String external = parentURL.toExternalForm();
-
- // An external URL
- if (resource.startsWith("http://") || resource.startsWith("https://"))
- {
- wsdlImport = resource;
- if (XML_XSD.equals(resource))
- {
- InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(LOCAL_XML_XSD);
- log.debug("Using local xml.xsd");
- return getWSDLImport(wsdlImport, is);
- }
- }
-
- // Absolute path
- else if (resource.startsWith("/"))
- {
- String beforePath = external.substring(0, external.indexOf(parentURL.getPath()));
- wsdlImport = beforePath + resource;
- }
-
- // A relative path
- else
- {
- String parentDir = external.substring(0, external.lastIndexOf("/"));
-
- // remove references to current dir
- while (resource.startsWith("./"))
- {
- resource = resource.substring(2);
- }
-
- // remove references to parentdir
- while (resource.startsWith("../"))
- {
- parentDir = parentDir.substring(0, parentDir.lastIndexOf("/"));
- resource = resource.substring(3);
- }
-
- wsdlImport = parentDir + "/" + resource;
- }
-
- try
- {
- return getWSDLImport(wsdlImport, new URL(wsdlImport).openStream());
- }
- catch (IOException e)
- {
- throw new RuntimeException("Cannot access imported wsdl [" + wsdlImport + "], " + e.getMessage());
- }
- }
-
- private InputSource getWSDLImport(String wsdlImport, InputStream inputStream)
- {
- log.debug("Resolved to: " + wsdlImport);
- InputStream is = IOTools.safeBufferedWrapper(inputStream);
- if (is == null)
- {
- throw new IllegalArgumentException("Cannot import wsdl from [" + wsdlImport + "]");
- }
-
- latestImportURI = wsdlImport;
- return new InputSource(is);
- }
-
- public String getLatestImportURI()
- {
- return latestImportURI;
- }
- }
-
- private String getLocation(Port port)
- {
- String loc = "";
- Iterator iter = port.getExtensibilityElements().iterator();
- while (iter.hasNext())
- {
- ExtensibilityElement ext = (ExtensibilityElement)iter.next();
- if (ext instanceof SOAPAddress)
- {
- SOAPAddress add = (SOAPAddress)ext;
- loc = add.getLocationURI();
- }
- }
- return loc;
- }
}
14 years, 8 months
JBoss Portal SVN: r13797 - docs/enterprise/trunk/Installation_Guide/ja-JP.
by portal-commits@lists.jboss.org
Author: khashida(a)redhat.com
Date: 2009-08-28 04:37:35 -0400 (Fri, 28 Aug 2009)
New Revision: 13797
Modified:
docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
Log:
last two changes
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-28 08:09:28 UTC (rev 13796)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-28 08:37:35 UTC (rev 13797)
@@ -8,7 +8,7 @@
"Project-Id-Version: Getting_Started\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-28 16:15+0900\n"
+"PO-Revision-Date: 2009-08-28 17:31+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -192,7 +192,7 @@
msgstr ""
"<command moreinfo=\"none\">java</command> と、<command moreinfo=\"none\">javac</command> と、 "
"<command moreinfo=\"none\">java_sdk_1.5.0</command> 用に <command moreinfo=\"none\"> "
-"alternatives</command> を選択。(<command moreinfo=\"none\">java_sdk_1.5.0</command> の設定はオプション)"
+"alternatives</command> を選択します。(<command moreinfo=\"none\">java_sdk_1.5.0</command> の設定はオプション)"
#. Tag: para
#: Getting_Started.xml:290
@@ -354,7 +354,7 @@
#: Getting_Started.xml:344
#, no-c-format
msgid "Select alternatives for java, javac and java_sdk_1.5.0"
-msgstr "java、javac、及び java_sdk_1.5.0 用に代替を選択"
+msgstr "java、javac、及び java_sdk_1.5.0 用に alternatives を選択"
#. Tag: para
#: Getting_Started.xml:346
14 years, 8 months
JBoss Portal SVN: r13796 - docs/enterprise/trunk/Installation_Guide/ja-JP.
by portal-commits@lists.jboss.org
Author: khashida(a)redhat.com
Date: 2009-08-28 04:09:28 -0400 (Fri, 28 Aug 2009)
New Revision: 13796
Modified:
docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po
Log:
corrected after proofread
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-26 11:12+0900\n"
+"PO-Revision-Date: 2009-08-28 13:56+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -29,8 +29,8 @@
"This Installation Guide documents relevant information regarding the "
"installation of JBoss Enterprise Portal Platform"
msgstr ""
-"このインストールガイドは、JBoss Enterprise Portal Platform のインストールについての "
-"関連情報を文面化しているものです。"
+"このインストールガイドは、JBoss Enterprise Portal Platform のインストールに "
+"関連した情報を記載しています。"
#. Tag: holder
#: Book_Info.xml:25
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Databases\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-27 11:39+0900\n"
+"PO-Revision-Date: 2009-08-28 16:50+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -29,8 +29,8 @@
"The following chapter contains examples for how to use MySQL databases to "
"store JBoss Enterprise Portal user information."
msgstr ""
-"以下の章には、MySQL データベースを使用して JBoss Enterprise Portal のユーザー情報を保存を "
-"する方法のサンプルが収められています。"
+"以下の章には、MySQL データベースを使用して JBoss Enterprise Portal のユーザー情報を "
+"保存する方法のサンプルが収められています。"
#. Tag: title
#: Databases.xml:13
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Feedback\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-26 11:33+0900\n"
+"PO-Revision-Date: 2009-08-28 14:01+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -51,7 +51,7 @@
"このマニュアル内で誤字・脱字を発見されたり、このマニュアルを改善する御提案をお持ちの "
"場合は、弊社までご連絡下さい。その場合は、バージョン: <emphasis>&JBEPPVERS;</emphasis> と "
"コンポーネント: <emphasis>Documentation</emphasis> に対して <ulink url=\"http://jira.jboss.com/jira/browse/JBEPP\">JIRA</"
-"ulink> に報告を提出して下さい。バグ報告を提出される場合は、そのマニュアル識別子: Portal_User_Guide も忘れずに "
+"ulink> に報告を提出して下さい。バグ報告を提出される場合は、このマニュアルの識別子: Portal_User_Guide も忘れずに "
"記入して下さい。このドキュメントを改善する御提案をお持ちの場合は、出来るだけ詳しく説明して下さい。 "
"エラーを発見された場合は、そのセクション番号とその周囲の文章を含んで頂くと弊社で素早く見つけることが "
"できます。"
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Getting_Started\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-27 17:51+0900\n"
+"PO-Revision-Date: 2009-08-28 16:15+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -63,7 +63,7 @@
"jboss.com/products/platforms/application/testedconfigurations\">http://www."
"jboss.com/products/platforms/application/testedconfigurations</ulink>."
msgstr ""
-"サポートのあるオペレーティングシステム/JVM の組み合わせと、サポートのある "
+"サポートされているオペレーティングシステム/JVM の組み合わせと、サポートされている "
"データベースプラットフォームに関する最新情報については、<ulink url=\"http://www."
"jboss.com/products/platforms/application/testedconfigurations\">http://www."
"jboss.com/products/platforms/application/testedconfigurations</ulink> を参照 "
@@ -157,7 +157,7 @@
"channel for your Linux variant and architecture. Depending on the "
"architecture, the channel names are:"
msgstr ""
-"Java SDK は Linux の異種版とアーキテクチャ用に Red Hat Enterprise Linux 5 の"
+"Java SDK は Linux の異種版とアーキテクチャ用に Red Hat Enterprise Linux 5 の "
"Supplementary チャンネルで提供されています。アーキテクチャによってチャンネル名が "
"以下のようになっています:"
@@ -344,10 +344,10 @@
"alternatives system. The alternatives system allows different versions of "
"Java, from different sources to co-exist on your system."
msgstr ""
-"使用中のマシンに複数の JVM バージョンをインストールしている場合は、デフォルトの "
-"<literal>java</literal> と <literal>javac</literal>として "
-"JDK1.5 インストールを使用することを確実にして下さい。これは代替(alternatives)システムを "
-"使用して達成できます。代替システムの使用により、異なるソースからの異なる Java バージョンが "
+"使用中のマシンに複数の JVM バージョンをインストールしている場合は、JDK1.5 インストールを "
+"デフォルトの <literal>java</literal> と <literal>javac</literal>として "
+"使用することを確認して下さい。これは alternatives (代替)システムを "
+"使用して達成できます。alternatives システムの使用により、異なるソースからの異なる Java バージョンが "
"システム上で共存できるようになります。"
#. Tag: title
@@ -384,7 +384,7 @@
"Enter to keep the current selection[+], or type selection number:\n"
"</programlisting> Sun のバージョン(この例では、<literal>jre-1.5.0-sun</"
"literal>)が選択されていること(出力に+ の印)を確認して下さい。又は "
-"プロンプトに応じてその番号を入力してそれを選択します。"
+"プロンプトでその番号を入力してそれを選択します。"
#. Tag: para
#: Getting_Started.xml:352
@@ -498,9 +498,10 @@
msgstr ""
"<literal>JAVA_HOME</literal> と言う環境変数を作成して、それが JDK インストールの "
"ディレクトリを指すようにします。例えば: <literal>C:\\Program "
-"Files\\Java\\jdk1.5.0_11\\</literal> コマンドラインから java を実行するために、 "
+"Files\\Java\\jdk1.5.0_11\\</literal> 。"
+"コマンドラインから java を実行するために、 "
"使用パスに <literal>jre\\bin</literal> ディレクトリを追加します。例えば: "
-"<literal>C:\\Program Files\\Java\\jdk1.5.0_11\\jre\\bin</literal> これを実行するには、 "
+"<literal>C:\\Program Files\\Java\\jdk1.5.0_11\\jre\\bin</literal> 。 これを実行するには、 "
"システムコントロールパネルのアイコンを開き、高度なタブ(Advanced Tab)を選択して、 "
"環境変数ボタンをクリックします。"
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Installation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-26 17:29+0900\n"
+"PO-Revision-Date: 2009-08-28 16:28+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -123,7 +123,7 @@
"<literal>minimal</literal> server configuration has no Portal bits. It's "
"there for the sake of consistency with &JBEAP;"
msgstr ""
-"<literal>minimal</literal> サーバー設定には Portal 部分がありません。 "
+"<literal>minimal</literal>(最低限)サーバー設定には Portal 部分がありません。 "
"これは、&JBEAP; との一貫性を保つために存在します。"
#. Tag: para
@@ -133,7 +133,7 @@
"<literal>default</literal> server configuration has non-clustered Portal "
"bits <literal>jboss-portal.sar</literal> in <literal>deploy</literal> folder."
msgstr ""
-"<literal>default</literal> サーバー設定には、 クラスタ化していない Portal 部分、 "
+"<literal>default</literal>(デフォルト) サーバー設定には、 クラスタ化していない Portal 部分、 "
"<literal>jboss-portal.sar</literal> が <literal>deploy</literal> フォルダ内にあります。"
#. Tag: para
@@ -143,7 +143,7 @@
"<literal>all</literal> server configuration has clustered Portal bits "
"<literal>jboss-portal-ha.sar</literal> in <literal>deploy</literal> folder."
msgstr ""
-"<literal>all</literal> サーバー設定には、クラスタ化した Portal 部分、 "
+"<literal>all</literal>(全部) サーバー設定には、クラスタ化した Portal 部分、 "
"<literal>jboss-portal-ha.sar</literal> が <literal>deploy</literal> フォルダ内に "
"あります。"
@@ -160,7 +160,7 @@
"literal> to <literal>production/deploy</literal>. Don't forget to remove "
"<literal>jboss-portal-ha.sar</literal> though."
msgstr ""
-"<literal>production</literal> サーバー設定には、クラスタ化した Portal 部分、 "
+"<literal>production</literal>(実稼働) サーバー設定には、クラスタ化した Portal 部分、 "
"<literal>jboss-portal-ha.sar</literal> があり、これがデフォルトでスタートする "
"サーバーです。このサーバー設定は、ロギング、メモリーサイズなどのいくつかの "
"最適化を持っています。クラスタ化した portal のバージョンが不要で、 "
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Introduction\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-26 15:36+0900\n"
+"PO-Revision-Date: 2009-08-28 15:08+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -37,11 +37,11 @@
msgstr ""
"&JBEPP; は &JBEAP; の上で稼働している Java EE サービスセット、及び "
"Portal サービスのオープンソース実装です。&JBEPP; は、テスト済みで "
-"一緒に認定を受けている JBoss Enterprise Middleware コンポーネンツの "
+"合同認定を受けている JBoss Enterprise Middleware コンポーネンツの "
"事前設定済プロフィール群を求めている企業顧客用の製品セットで構成 "
-"されており、統一化された使用経験を提供します。簡単に使用できるサーバー "
-"アーキテクチャと高い柔軟性を持つ JBoss は、 J2EE の初心者やカスタマイズ可能な "
-"ミドルウェアプラットフォームを求めている上級設計者にも理想的な選択と "
+"されており、統合された使用価値を提供します。簡単に使用できるサーバー "
+"アーキテクチャと高い柔軟性を持つ JBoss は、 J2EE の初心者からカスタマイズ可能な "
+"ミドルウェアプラットフォームを求めている上級設計者まで理想的な選択と "
"なります。"
#. Tag: para
@@ -58,7 +58,7 @@
"Java をサポートするオペレーティングシステムではいずれでも簡単にインストールと使用が "
"できます。常時使用可能なソースコードは、サーバーのデバグやその認識に於いて強力な "
"ツールとなります。また、個人使用の、あるいはビジネス使用のカスタム化したバージョンの作成も "
-"できる柔軟性も与えてくれます。"
+"可能となる柔軟性も与えてくれます。"
#. Tag: para
#: Introduction.xml:15
@@ -85,6 +85,6 @@
"available online at <ulink url=\"http://www.redhat.com/docs/manuals/jboss"
"\"></ulink>."
msgstr ""
-"詳細な製品情報を求めている方はオンラインで取得できるマニュアル集を参照して下さい。 "
+"製品の詳細情報を求めている方はオンラインで取得できるマニュアル集を参照して下さい。 "
"<ulink url=\"http://www.redhat.com/docs/manuals/jboss\"></ulink>"
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po 2009-08-28 02:40:42 UTC (rev 13795)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po 2009-08-28 08:09:28 UTC (rev 13796)
@@ -8,7 +8,7 @@
"Project-Id-Version: Post_Installation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-28 11:39+0900\n"
+"PO-Revision-Date: 2009-08-28 16:36+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -60,7 +60,7 @@
"directory.\n"
" export JBOSS_HOME=/home/user/jboss-epp-4.3/jboss-as\n"
" export PATH=$PATH:$JBOSS_HOME/bin \n"
-" </programlisting> この変数をサーバーを実行するユーザーのアカウント用に "
+" </programlisting> サーバーを実行するユーザーのアカウント用にこの変数を "
"セットします。 "
#. Tag: title
@@ -155,7 +155,7 @@
"modifying:"
msgstr ""
"以下を修正することで、<literal>jmx-console</literal> アカウントとインボーカ(invoker) "
-"アカウントをセットアップする:"
+"アカウントをセットアップします:"
#. Tag: programlisting
#: Post_Installation.xml:50
@@ -167,7 +167,7 @@
#: Post_Installation.xml:54
#, no-c-format
msgid "Set up Accounts for <literal>web-console</literal> users by modifying:"
-msgstr "以下を修正することで、<literal>web-console</literal> ユーザーのアカウントをセットアップする:"
+msgstr "以下を修正することで、<literal>web-console</literal> ユーザーのアカウントをセットアップします:"
#. Tag: programlisting
#: Post_Installation.xml:56
@@ -193,7 +193,7 @@
#: Post_Installation.xml:61
#, no-c-format
msgid "Set SuckerPassword for JBoss Messaging:"
-msgstr "JBoss Messaging 用の SuckerPassword を設定する:"
+msgstr "JBoss Messaging 用の SuckerPassword を設定します:"
#. Tag: para
#: Post_Installation.xml:62
14 years, 8 months
JBoss Portal SVN: r13795 - docs/enterprise/trunk/Installation_Guide/ja-JP.
by portal-commits@lists.jboss.org
Author: khashida(a)redhat.com
Date: 2009-08-27 22:40:42 -0400 (Thu, 27 Aug 2009)
New Revision: 13795
Modified:
docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po
Log:
translation done
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po 2009-08-27 11:53:22 UTC (rev 13794)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Post_Installation.po 2009-08-28 02:40:42 UTC (rev 13795)
@@ -8,7 +8,7 @@
"Project-Id-Version: Post_Installation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:19+0900\n"
+"PO-Revision-Date: 2009-08-28 11:39+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,19 +20,19 @@
#: Post_Installation.xml:5
#, no-c-format
msgid "Post Installation Configuration"
-msgstr ""
+msgstr "インストール後の設定"
#. Tag: title
#: Post_Installation.xml:7
#, no-c-format
msgid "Set JBOSS_HOME Environment Variable"
-msgstr ""
+msgstr "JBOSS_HOME 環境変数をセットする"
#. Tag: title
#: Post_Installation.xml:11
#, no-c-format
msgid "On a Linux Platform"
-msgstr ""
+msgstr "Linux プラットフォーム上"
#. Tag: para
#: Post_Installation.xml:14
@@ -51,12 +51,23 @@
" </programlisting> Set this variable for the "
"user account(s) that will run the server."
msgstr ""
+"インストールしたディレクトリ (<filename>JBOSS_DIST/jboss-as</filename>) を指す "
+"環境変数を作成して、<literal>JBOSS_HOME</literal> と命名します。コマンドラインから "
+"サーバーを実行できるようにするため、システムパスに <literal>$JBOSS_HOME/bin</literal> を "
+"追加します。これは、ユーザーのホームディレクトリ内の <filename>.bashrc</filename> ファイルに "
+"以下の行を追加することで達成できます。<programlisting>\n"
+"#In this example /home/user/jboss-epp-4.3/jboss-as is the installation "
+"directory.\n"
+" export JBOSS_HOME=/home/user/jboss-epp-4.3/jboss-as\n"
+" export PATH=$PATH:$JBOSS_HOME/bin \n"
+" </programlisting> この変数をサーバーを実行するユーザーのアカウント用に "
+"セットします。 "
#. Tag: title
#: Post_Installation.xml:21
#, no-c-format
msgid "On Microsoft Windows"
-msgstr ""
+msgstr "Microsoft Windows 上"
#. Tag: para
#: Post_Installation.xml:24
@@ -71,12 +82,17 @@
"System Control Panel applet, select the Advanced Tab, and click on the "
"Environment Variables button."
msgstr ""
+"インストールしたディレクトリ(例えば、C:\\Program Files\\jboss-epp-4.3\\jboss-as\\)を指す "
+"<literal>JBOSS_HOME</literal> と言う環境変数を作成します。コマンドラインからサーバーを "
+"実行できるようにするため、使用するパスに <filename>bin</filename> ディレクトリを追加します。 "
+"例えば、C:\\Program Files\\jboss-epp-4.3\\jboss-as\\bin これを達成するには、スタートメニューから "
+"コントロールパネルを開いて、高度なタブ(Advanced Tab)を選択して、環境変数ボタンをクリックします。"
#. Tag: title
#: Post_Installation.xml:30
#, no-c-format
msgid "Adjust memory settings"
-msgstr ""
+msgstr "メモリー設定の調節"
#. Tag: para
#: Post_Installation.xml:31
@@ -87,6 +103,9 @@
"recommended to run the example Seam applications that are included with the "
"documentation using the production configuration."
msgstr ""
+"他の設定の指定がない場合、開始するサーバー用のデフォルト設定は実稼働設定となります。 "
+"ドキュメント内に含まれているサンプルの Seam アプリケーションを実行するには、この "
+"実稼働設定を使用して実行することが推奨されます。"
#. Tag: para
#: Post_Installation.xml:34
@@ -97,6 +116,10 @@
"settings in the file <filename>JBOSS_DIST/jboss-as/server/production/run."
"conf</filename> with these recommended values:"
msgstr ""
+"メモリー問題を回避するには、アプリケーションをデプロイする前にメモリー設定を調節します。 "
+"これは、以下の推奨値を使用して、<filename>JBOSS_DIST/jboss-as/server/production/run."
+"conf</filename> ファイルの <literal>JAVA_OPTS</literal> セッティングを更新することで "
+"達成できます:"
#. Tag: programlisting
#: Post_Installation.xml:36
@@ -108,7 +131,7 @@
#: Post_Installation.xml:40
#, no-c-format
msgid "Post Installation Security Configuration"
-msgstr ""
+msgstr "インストール後のセキュリティ設定"
#. Tag: para
#: Post_Installation.xml:43
@@ -119,6 +142,10 @@
"services. Additionally no user accounts are set up. This is to stop default "
"user/password-based attacks."
msgstr ""
+"zip アーカイブからインストールしている場合は、全ての JBoss サービスは、管理サービスを "
+"含む殆どの JBoss サービスへのアクセスにも認証を必要とします。更には、ユーザーアカウントは "
+"セットアップされていません。これは、デフォルトのユーザー/パスワードベースの攻撃を阻止する "
+"ためです。"
#. Tag: title
#: Post_Installation.xml:48
@@ -127,6 +154,8 @@
"Set up Accounts for <literal>jmx-console</literal> and the invokers by "
"modifying:"
msgstr ""
+"以下を修正することで、<literal>jmx-console</literal> アカウントとインボーカ(invoker) "
+"アカウントをセットアップする:"
#. Tag: programlisting
#: Post_Installation.xml:50
@@ -138,7 +167,7 @@
#: Post_Installation.xml:54
#, no-c-format
msgid "Set up Accounts for <literal>web-console</literal> users by modifying:"
-msgstr ""
+msgstr "以下を修正することで、<literal>web-console</literal> ユーザーのアカウントをセットアップする:"
#. Tag: programlisting
#: Post_Installation.xml:56
@@ -157,12 +186,14 @@
"Where <literal>$JBOSS_HOME</literal> is the install directory and <literal>"
"$CONFIG</literal> is the server configuration being used."
msgstr ""
+"ここで、<literal>$JBOSS_HOME</literal> は初期のディレクトリであり、<literal>"
+"$CONFIG</literal> は使用されるサーバー設定です。"
#. Tag: title
#: Post_Installation.xml:61
#, no-c-format
msgid "Set SuckerPassword for JBoss Messaging:"
-msgstr ""
+msgstr "JBoss Messaging 用の SuckerPassword を設定する:"
#. Tag: para
#: Post_Installation.xml:62
@@ -183,6 +214,17 @@
"the default password will be able to gain access to any destinations on the "
"server. The following fragment should be uncommented and modified:"
msgstr ""
+"JBoss Messaging は、クラスタ化した送信先の間でメッセージを再分配するために、 "
+"ノード間で内部接続を作成します。これらの接続は、特別な留保ユーザーのユーザー名で "
+"作成されるもので、このユーザーのパスワードは、Server Peer 設定ファイル内の "
+"パラメータ <literal>SuckerPassword</literal> によって指定されたものです。<programlisting>\n"
+" $JBOSS_HOME/server/$CONFIG/deploy/jboss-messaging.sar/messaging-service."
+"xml\n"
+" </programlisting> ここで、<literal>$JBOSS_HOME</literal> は初期のディレクトリであり、 "
+"<literal>$CONFIG</literal> は使用されているサーバー設定です。セキュリティリスクを回避するために、属性 "
+"<literal>SuckerPassword</literal> の値を指定しなければなりません。そうしないとデフォルト値が使用されます。 "
+"そのデフォルトのパスワードを知る人は誰でもサーバーのどの送信先にでもアクセスができるようになります。 "
+"以下の部分はコメント解除して修正される必要があります:"
#. Tag: programlisting
#: Post_Installation.xml:67
@@ -228,7 +270,7 @@
#: Post_Installation.xml:72
#, no-c-format
msgid "Disabling Authentication"
-msgstr ""
+msgstr "認証の無効化"
#. Tag: para
#: Post_Installation.xml:73
@@ -238,12 +280,14 @@
"specified paths in the sections below are relative to <literal>$JBOSS_HOME</"
"literal>."
msgstr ""
+"特定のサービスには認証を無効化することも可能です。以下のセクションの全ての "
+"特定パスは <literal>$JBOSS_HOME</literal> に対して相対的になります。"
#. Tag: title
#: Post_Installation.xml:77
#, no-c-format
msgid "Disabling Authentication for JXM Console:"
-msgstr ""
+msgstr "JXM Console 用に認証を無効化:"
#. Tag: para
#: Post_Installation.xml:78
@@ -255,6 +299,11 @@
" </programlisting> The following fragment "
"should be commented out:"
msgstr ""
+"JMX console 用に認証を無効化するには、以下のファイルを編集して、 "
+"security-constraint セクションをコメント化します: <programlisting>\n"
+"server/$CONFIG/deploy/jmx-console.war/WEB-INF/web.xml\n"
+" </programlisting> 以下の部分がコメント化される "
+"必要があります:"
#. Tag: programlisting
#: Post_Installation.xml:82
@@ -296,7 +345,7 @@
#: Post_Installation.xml:86
#, no-c-format
msgid "Disabling Authentication for Web Console:"
-msgstr ""
+msgstr "Web Console 用に認証を無効化:"
#. Tag: para
#: Post_Installation.xml:87
@@ -309,6 +358,11 @@
" </programlisting> The following fragment "
"should be commented out:"
msgstr ""
+"Web console 用に認証を無効化するには、以下のファイルを編集して、 "
+"security-constraint セクションをコメント化します: <programlisting>\n"
+"server/$CONFIG/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web."
+"xml\n"
+" </programlisting> 以下の部分がコメント化される必要があります:"
#. Tag: programlisting
#: Post_Installation.xml:91
@@ -350,7 +404,7 @@
#: Post_Installation.xml:95
#, no-c-format
msgid "Disabling Authentication for HTTP Invoker:"
-msgstr ""
+msgstr "HTTP Invoker 用に認証を無効化:"
#. Tag: para
#: Post_Installation.xml:96
@@ -364,6 +418,12 @@
" </programlisting> For example, the security-"
"constraint element should look as follows:"
msgstr ""
+"http invoker 用に認証を無効化するには、<literal>JNDIFactory</"
+"literal> と、<literal>EJBInvokerServlet</literal> と、<literal>JMXInvokerServlet</literal> が "
+"ファイル <programlisting>\n"
+"server/$CONFIG/deploy/httpha-invoker.sar/invoker.war/WEB-INF/web.xml\n"
+" </programlisting> 内のセキュリティ部分から削除される必要があります。 "
+"例えば、セキュリティ制約エレメントは以下のようになります:"
#. Tag: programlisting
#: Post_Installation.xml:100
@@ -403,7 +463,7 @@
#: Post_Installation.xml:104
#, no-c-format
msgid "Disabling Authentication for JMX Invoker:"
-msgstr ""
+msgstr "JMX Invoker 用に認証を無効化:"
#. Tag: para
#: Post_Installation.xml:105
@@ -417,6 +477,13 @@
"InvokerAdaptorService</literal>. In that section comment out the line that "
"relates to authenticated users:"
msgstr ""
+"JMX invoker 用に認証を無効化するには、以下のファイルを編集して、security interceptor の "
+"通路(passthrough)をコメント化します: <programlisting>\n"
+"server/$CONFIG/deploy/jmx-invoker-service.xml\n"
+" </programlisting> "
+"クラス <literal>org.jboss.jmx.connector.invoker."
+"InvokerAdaptorService</literal> を持つ Mbean セクションを見つけて、そのセクションで、 "
+"認証されたユーザーに関係する行をコメント化します:"
#. Tag: programlisting
#: Post_Installation.xml:109
14 years, 8 months
JBoss Portal SVN: r13794 - in jbossexo/modules/wsrp/trunk: admin-gui and 26 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-08-27 07:53:22 -0400 (Thu, 27 Aug 2009)
New Revision: 13794
Added:
jbossexo/modules/wsrp/trunk/admin-gui/
jbossexo/modules/wsrp/trunk/admin-gui/pom.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/BeanContext.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerBean.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerManagerBean.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/JSFBeanContext.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/LocalizedStringConverter.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ManagedBean.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ProducerBean.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/RedirectOnNoConsumerNavigationHandler.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/StatusConverter.java
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource.properties
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_fr.properties
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_it.properties
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_ja.properties
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_pt_BR.properties
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/faces-config.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/jboss-portlet.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet-instances.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/web.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/wsrp-object.xml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/basestyles.css
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Activate.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Configure.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deactivate.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Delete.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deregister.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Refresh.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Register.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-blue.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-vert.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/accept.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/activate.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/add.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/coordination.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deactivate.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/default.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete2.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deregister.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/display_names.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/generic_icon.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/layout.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/make_default.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/refresh.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/register.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/rename.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/security.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/settings.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/theme.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_add.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_copy.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_edit.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_error.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_remove.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/msgIcon_Warning.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathBackground.png
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathSeparator.png
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-header-bg.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-subHeader-bg.gif
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/common/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/common/template.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmDeleteConsumer.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmEraseRegistration.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumerTemplate.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumers.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/editConsumer.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/management.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/managementTemplate.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/confirmPropDeletion.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producer.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producerTemplate.xhtml
jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/style.css
jbossexo/modules/wsrp/trunk/admin-gui/src/test/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/other/
jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/other/ConsumerBeanTestCase.java
Modified:
jbossexo/modules/wsrp/trunk/pom.xml
Log:
- Updated admin GUI so that it compiles and packages with Maven. NOT tested yet.
Added: jbossexo/modules/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/pom.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/pom.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,89 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.portal.wsrp</groupId>
+ <artifactId>module-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../build/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>admin-gui</artifactId>
+ <packaging>war</packaging>
+ <name>JBoss Portal WSRP Admin GUI</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.portal.wsrp</groupId>
+ <artifactId>common</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.portal.wsrp</groupId>
+ <artifactId>consumer</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.portal.wsrp</groupId>
+ <artifactId>producer</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ <version>1.2_12</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.portal.common</groupId>
+ <artifactId>common-common</artifactId>
+ <version>${version.common}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.portal.portlet</groupId>
+ <artifactId>portlet-api</artifactId>
+ <version>${version.portlet}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/BeanContext.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/BeanContext.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/BeanContext.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,287 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.apache.log4j.Logger;
+import org.jboss.portal.common.util.ParameterValidation;
+
+import java.text.MessageFormat;
+import java.util.Locale;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 13374 $
+ * @since 2.6
+ */
+public abstract class BeanContext
+{
+ protected final static Logger log = Logger.getLogger(BeanContext.class);
+
+ public static final String STATUS = "status";
+ private static final String DEFAULT_RESOURCE_NAME = "Resource";
+ private static final String UNEXPECTED_ERROR = "bean_support_unexpected_error";
+ private static final String CAUSE = "bean_support_cause";
+ private static final String CURRENT_PLACEHOLDER = "###";
+
+ private String resourceName = DEFAULT_RESOURCE_NAME;
+
+ public void setResourceName(String resourceName)
+ {
+ this.resourceName = resourceName;
+ }
+
+ public String getResourceName()
+ {
+ return resourceName;
+ }
+
+ /**
+ * Retrieves the value of the parameter which name is given from the JSF request.
+ *
+ * @param key name of the parameter which value we want to retrieve
+ * @return
+ */
+ public abstract String getParameter(String key);
+
+ /**
+ * @param target
+ * @param message
+ * @param severity
+ */
+ protected abstract void createMessage(String target, String message, Object severity);
+
+ protected abstract Object getErrorSeverity();
+
+ protected abstract Object getInfoSeverity();
+
+ protected abstract Locale getLocale();
+
+ public void createErrorMessage(String localizedMessageId, Object... params)
+ {
+ createLocalizedMessage(STATUS, localizedMessageId, getErrorSeverity(), params);
+ }
+
+ public void createTargetedErrorMessage(String target, String localizedMessageId, Object... params)
+ {
+ createLocalizedMessage(target, localizedMessageId, getErrorSeverity(), params);
+ }
+
+ /**
+ * Adds a localized message using the appropriate severity to the identified target in the context. This method
+ * accepts an arbitrary number of arguments to be passed as parameters of localized strings.
+ *
+ * @param target the target in this context that will receive the new message
+ * @param localizedMessageId a resource bundle identifier identifying which the localized string to use as a message
+ * @param severity an object representing the severity of the message (typically FacesMessage.Severity)
+ * @param params additional parameters to be passed to replace tokens in localized strings
+ */
+ protected void createLocalizedMessage(String target, String localizedMessageId, Object severity, Object... params)
+ {
+ createMessage(target, getMessageFromBundle(localizedMessageId, params), severity);
+ }
+
+ public String getMessageFromBundle(String localizedMessageId, Object... params)
+ {
+ return getLocalizedMessage(localizedMessageId, getLocale(), resourceName, params);
+ }
+
+ public static String getLocalizedMessage(String localizationKey, Locale locale, Object... params)
+ {
+ return getLocalizedMessage(localizationKey, locale, DEFAULT_RESOURCE_NAME, params);
+ }
+
+ public static String getLocalizedMessage(String localizationKey, Locale locale, String resourceName, Object... params)
+ {
+ ResourceBundle rb = ResourceBundle.getBundle(resourceName, locale);
+
+ String message;
+ try
+ {
+ message = rb.getString(localizationKey);
+ }
+ catch (MissingResourceException e)
+ {
+ // if the key doesn't exist, return it instead of failing
+ log.info("Couldn't find localization message for key '" + localizationKey + "' in bundle " + resourceName
+ + " for locale " + locale.getDisplayName());
+ return localizationKey;
+ }
+
+ return MessageFormat.format(message, params);
+ }
+
+ public void createErrorMessageFrom(Exception e)
+ {
+ createErrorMessageFrom(STATUS, e);
+ }
+
+ /**
+ * Creates a localized error message targeting the specified object in the context and using the specified error
+ * information. This method looks for two specific resource bundle entries to localize the message, {@link
+ * #UNEXPECTED_ERROR} and {@link #CAUSE}, using the following format for the message: <code>result of {@link
+ * #getLocalizedMessageOrExceptionName(Throwable)} for the exception\n[localized value associated with {@link
+ * #CAUSE}result of {@link #getLocalizedMessageOrExceptionName(Throwable)} for the exception's cause if the cause
+ * exists]
+ *
+ * @param target the contextual object target by the message to be created
+ * @param e the exception that we want to display as an error message
+ */
+ public void createErrorMessageFrom(String target, Exception e)
+ {
+ Throwable cause = e.getCause();
+ String localizedMessage = getLocalizedMessageOrExceptionName(e);
+ String message = localizedMessage + (cause != null ? "\n" + getMessageFromBundle(CAUSE) + getLocalizedMessageOrExceptionName(cause) : "");
+ createMessage(target, message, getErrorSeverity());
+ }
+
+ /**
+ * Retrieves a localized message associated with the specified Throwable.
+ *
+ * @param e the Throwable for which a localized message is to be retrieved
+ * @return the localized message associated with the specified Throwable if it exists or the localized value
+ * associated with the {@link #UNEXPECTED_ERROR} resource bundle entry to which is appended the Throwable
+ * class name.
+ */
+ private String getLocalizedMessageOrExceptionName(Throwable e)
+ {
+ String localizedMessage = e.getLocalizedMessage();
+ if (localizedMessage == null)
+ {
+ localizedMessage = getMessageFromBundle(UNEXPECTED_ERROR) + e.getClass().getName();
+ }
+ return localizedMessage;
+ }
+
+ protected void createInfoMessage(String target, String localizedMessageId)
+ {
+ createLocalizedMessage(target, localizedMessageId, getInfoSeverity());
+ }
+
+ public void createInfoMessage(String localizedMessageId)
+ {
+ createInfoMessage(STATUS, localizedMessageId);
+ }
+
+ /**
+ * Removes the object identified by the specified name(s) from the session. For a JSF backed implementation, this
+ * will allow for the object/bean (defined as session-scoped in <code>faces-config.xml</code>) to be recreated by JSF
+ * when needed.
+ *
+ * @param name name of the object to be removed
+ * @param otherNames additional names of objects to be removed
+ */
+ public void removeFromSession(String name, String... otherNames)
+ {
+ Map<String, Object> sessionMap = getSessionMap();
+ sessionMap.remove(name);
+ if (otherNames != null)
+ {
+ for (String other : otherNames)
+ {
+ sessionMap.remove(other);
+ }
+ }
+ }
+
+ /**
+ * Retrieves the session map where "session" is a concept left up to implementations (for JSF, the session
+ * corresponds quite logically to the HTTP session)
+ *
+ * @return the session map
+ */
+ public abstract Map<String, Object> getSessionMap();
+
+ /**
+ * Replaces the session object identified by the given name by the specified new one. Passing <code>null</code> for
+ * the new value will remove the object reference from the session. If an object was previously assigned to this
+ * name, then only an object of the same type (as defined by {@link Class#isAssignableFrom(Class)}) can be assigned
+ * to this name.
+ *
+ * @param name the name identifying the object to be replaced
+ * @param newValue the new value for the object to be replaced or <code>null</code> if the object is to be removed
+ * @param <T> the type of the object to be replaced
+ * @return the new value for the object or <code>null</code> if the remove semantics is used
+ * @throws IllegalArgumentException if the new value for the identified object is not compatible with the currently
+ * stored value
+ */
+ public <T> T replaceInSession(String name, T newValue)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "name", "replaceInSession");
+ Map<String, Object> sessionMap = getSessionMap();
+
+ // if we passed null, use the remove semantics
+ if (newValue == null)
+ {
+ sessionMap.remove(name);
+ return null;
+ }
+
+ getFromSession(name, newValue.getClass(), sessionMap, "Provided object: " + newValue
+ + " is not compatible with previously assigned '" + name + "' object: " + CURRENT_PLACEHOLDER);
+ sessionMap.put(name, newValue);
+ return newValue;
+ }
+
+ /**
+ * Retrieves the session object associated with the specified name and the expected type.
+ *
+ * @param name name of the session object to be retrieved
+ * @param expectedClass expected class of the object
+ * @param <T> type of the object to be retrieved
+ * @return the session object associated with the specified name
+ * @throws IllegalArgumentException if the value associated with the specified name is not <code>null</code> and does
+ * not match the specified expected class
+ */
+ public <T> T getFromSession(String name, Class<T> expectedClass)
+ {
+ return getFromSession(name, expectedClass, getSessionMap(), "Current object:" + CURRENT_PLACEHOLDER
+ + " is not compatible with expected class " + expectedClass + " for '" + name + "'");
+ }
+
+ /**
+ * @param name name of the session attribute to retrieve
+ * @param expectedClass expected class of the attribute
+ * @param sessionMap the session map to retrieve the attribute from
+ * @param errorMessage the error message that will be used if the attribute value is not of the expected class, in
+ * which {@link #CURRENT_PLACEHOLDER} will be substituted by the current value of the attribute
+ * at runtime
+ * @param <T> the type of the object to be retrieved
+ * @return the value associated with the specified name
+ * @throws IllegalArgumentException if the value associated with the specified name is not <code>null</code> and does
+ * not match the specified expected class
+ */
+ private <T> T getFromSession(String name, Class<T> expectedClass, Map<String, Object> sessionMap, String errorMessage)
+ {
+ Object result = sessionMap.get(name);
+ if (result != null && !expectedClass.isAssignableFrom(result.getClass()))
+ {
+ throw new IllegalArgumentException(errorMessage.replace(CURRENT_PLACEHOLDER, result.toString()));
+ }
+
+ return expectedClass.cast(result);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerBean.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerBean.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerBean.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,579 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.WSRPConsumer;
+import org.jboss.portal.wsrp.consumer.ConsumerRegistry;
+import org.jboss.portal.wsrp.consumer.EndpointConfigurationInfo;
+import org.jboss.portal.wsrp.consumer.ProducerInfo;
+import org.jboss.portal.wsrp.consumer.RegistrationInfo;
+import org.jboss.portal.wsrp.consumer.RegistrationProperty;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.ValueChangeEvent;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 12865 $
+ * @since 2.6
+ */
+public class ConsumerBean extends ManagedBean
+{
+ private WSRPConsumer consumer;
+ private ConsumerRegistry registry;
+ private Boolean useWSDL = null;
+ private ConsumerManagerBean manager;
+ private boolean modified;
+ private boolean registrationLocallyModified;
+
+ private String serviceDescription;
+ private String markup;
+ private String portletManagement;
+ private String registration;
+ private String wsdl;
+
+ private transient RegistrationInfo expectedRegistrationInfo;
+ private static final String CANNOT_FIND_CONSUMER = "bean_consumer_cannot_find_consumer";
+ private static final String CANNOT_UPDATE_CONSUMER = "bean_consumer_cannot_update_consumer";
+ private static final String CANNOT_REFRESH_CONSUMER = "bean_consumer_cannot_refresh_consumer";
+ private static final String MODIFY_REG_SUCCESS = "bean_consumer_modify_reg_success";
+ private static final String INVALID_MODIFY = "bean_consumer_invalid_modify";
+ private static final String CANNOT_MODIFY_REG = "bean_consumer_cannot_modify_reg";
+ private static final String CANNOT_ERASE_REG = "bean_consumer_cannot_erase_reg";
+ private static final String MALFORMED_URL = "bean_consumer_malformed_url";
+ private static final String UPDATE_SUCCESS = "bean_consumer_update_success";
+ private static final String CONSUMER_TYPE = "CONSUMER_TYPE";
+
+ public ConsumerBean()
+ {
+ useWSDL = Boolean.TRUE; // use WSDL by default
+ }
+
+ public void setRegistry(ConsumerRegistry registry)
+ {
+ this.registry = registry;
+ }
+
+ public void setManager(ConsumerManagerBean manager)
+ {
+ this.manager = manager;
+ }
+
+ public boolean isModified()
+ {
+ return modified || getProducerInfo().isModifyRegistrationRequired() || isRegistrationLocallyModified();
+ }
+
+ public boolean isUseWSDL()
+ {
+ if (useWSDL != null)
+ {
+ return useWSDL.booleanValue();
+ }
+
+ return getProducerInfo().getEndpointConfigurationInfo().usesWSDL();
+ }
+
+ public void setUseWSDL(boolean useWSDL)
+ {
+ this.useWSDL = useWSDL ? Boolean.TRUE : Boolean.FALSE;
+ }
+
+ public boolean isRefreshNeeded()
+ {
+ return consumer.isRefreshNeeded();
+ }
+
+ public String getId()
+ {
+ return consumer.getProducerId();
+ }
+
+ public void setId(String id)
+ {
+ if (consumer != null)
+ {
+ // renaming scenario
+ ProducerInfo info = getProducerInfo();
+ String oldId = info.getId();
+
+ // need to check that the new id is valid
+ if (isOldAndNewDifferent(oldId, id))
+ {
+ id = checkNameValidity(id, "edit-cons-form:id");
+ if (id != null)
+ {
+ info.setId(id);
+
+ // properly update the registry after change of id
+ registry.updateProducerInfo(info);
+
+ // we're not using modifyIfNeeded here to avoid double equality check, so we need to set modified manually
+ modified = true;
+ }
+ }
+ }
+ else
+ {
+ // initialization scenario
+ consumer = registry.getConsumer(id);
+ if (consumer != null)
+ {
+ EndpointConfigurationInfo endpoint = getProducerInfo().getEndpointConfigurationInfo();
+ serviceDescription = endpoint.getServiceDescriptionURL();
+ markup = endpoint.getMarkupURL();
+ portletManagement = endpoint.getPortletManagementURL();
+ registration = endpoint.getRegistrationURL();
+ wsdl = endpoint.getWsdlDefinitionURL();
+ useWSDL = endpoint.usesWSDL();
+ }
+ else
+ {
+ beanContext.createErrorMessage(CANNOT_FIND_CONSUMER, id);
+ }
+ }
+ }
+
+ public Integer getCache()
+ {
+ return getProducerInfo().getExpirationCacheSeconds();
+ }
+
+ public void setCache(Integer cache)
+ {
+ getProducerInfo().setExpirationCacheSeconds((Integer)modifyIfNeeded(getCache(), cache, "cache", false));
+ }
+
+ public String getServiceDescription()
+ {
+ return serviceDescription;
+ }
+
+ public void setServiceDescription(String sdURL)
+ {
+ serviceDescription = (String)modifyIfNeeded(serviceDescription, sdURL, "sd", true);
+ }
+
+ public String getMarkup()
+ {
+ return markup;
+ }
+
+ public void setMarkup(String markupURL)
+ {
+ markup = (String)modifyIfNeeded(markup, markupURL, "m", true);
+ }
+
+ public String getPortletManagement()
+ {
+ return portletManagement;
+ }
+
+ public void setPortletManagement(String pmURL)
+ {
+ portletManagement = (String)modifyIfNeeded(portletManagement, pmURL, "pm", true);
+ }
+
+ public String getRegistration()
+ {
+ return registration;
+ }
+
+ public void setRegistration(String rURL)
+ {
+ registration = (String)modifyIfNeeded(registration, rURL, "r", true);
+ }
+
+ public String getWsdl()
+ {
+ return wsdl;
+ }
+
+ public void setWsdl(String wsdlURL)
+ {
+ wsdl = (String)modifyIfNeeded(wsdl, wsdlURL, "wsdl", true);
+ }
+
+ private void internalSetWsdl(String wsdlURL)
+ {
+ try
+ {
+ getProducerInfo().getEndpointConfigurationInfo().setWsdlDefinitionURL(wsdlURL);
+ }
+ catch (Exception e)
+ {
+ registry.deactivateConsumerWith(getId());
+ beanContext.createErrorMessageFrom("wsdl", e);
+ }
+ }
+
+ public boolean isActive()
+ {
+ return consumer.isActive();
+ }
+
+ public boolean isRegistered()
+ {
+ return getProducerInfo().isRegistered();
+ }
+
+ public boolean isRegistrationRequired()
+ {
+ return getProducerInfo().isRegistrationRequired();
+ }
+
+ public boolean isRegistrationCheckNeeded()
+ {
+ ProducerInfo info = getProducerInfo();
+ if (info.isRefreshNeeded(true))
+ {
+ RegistrationInfo regInfo = info.getRegistrationInfo();
+ if (regInfo == null)
+ {
+ return true;
+ }
+ else
+ {
+ Boolean consistent = regInfo.isConsistentWithProducerExpectations();
+ return consistent == null || !consistent.booleanValue();
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public boolean isRegistrationModified()
+ {
+ return getProducerInfo().isModifyRegistrationRequired();
+ }
+
+ public boolean isRegistrationLocallyModified()
+ {
+ return isRegistered() && registrationLocallyModified;
+ }
+
+ public boolean isRegistrationChecked()
+ {
+ return getProducerInfo().isRegistrationChecked();
+ }
+
+ public boolean isRegistrationValid()
+ {
+ if (isRegistrationChecked())
+ {
+ return getProducerInfo().getRegistrationInfo().isRegistrationValid().booleanValue();
+ }
+ throw new IllegalStateException("Need to check the registration before determining if it's valid!");
+ }
+
+ public ProducerInfo getProducerInfo()
+ {
+ return consumer.getProducerInfo();
+ }
+
+ public boolean isLocalInfoPresent()
+ {
+ return getProducerInfo().hasLocalRegistrationInfo();
+ }
+
+ public boolean isRegistrationPropertiesEmpty()
+ {
+ RegistrationInfo regInfo = getProducerInfo().getRegistrationInfo();
+ return regInfo == null || regInfo.isRegistrationPropertiesEmpty();
+ }
+
+ public boolean isExpectedRegistrationPropertiesEmpty()
+ {
+ RegistrationInfo info = getExpectedRegistrationInfo();
+ if (info != null)
+ {
+ return info.isRegistrationPropertiesEmpty();
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ private RegistrationInfo getExpectedRegistrationInfo()
+ {
+ if (expectedRegistrationInfo == null)
+ {
+ expectedRegistrationInfo = beanContext.getFromSession(ConsumerManagerBean.EXPECTED_REG_INFO_KEY, RegistrationInfo.class);
+ }
+
+ return expectedRegistrationInfo;
+ }
+
+ public List<RegistrationProperty> getRegistrationProperties()
+ {
+ return getSortedProperties(getProducerInfo().getRegistrationInfo());
+ }
+
+ public List<RegistrationProperty> getExpectedRegistrationProperties()
+ {
+ return getSortedProperties(getExpectedRegistrationInfo());
+ }
+
+ private List<RegistrationProperty> getSortedProperties(RegistrationInfo registrationInfo)
+ {
+ if (registrationInfo != null)
+ {
+ LinkedList<RegistrationProperty> list = new LinkedList<RegistrationProperty>(registrationInfo.getRegistrationProperties().values());
+ Collections.sort(list);
+ return list;
+ }
+ else
+ {
+ return Collections.emptyList();
+ }
+ }
+
+ // Actions
+
+ public String update()
+ {
+ return internalUpdate(true);
+ }
+
+ private String internalUpdate(boolean showMessage)
+ {
+ if (consumer != null)
+ {
+ if (isModified())
+ {
+ try
+ {
+ // update values
+ ProducerInfo prodInfo = getProducerInfo();
+ EndpointConfigurationInfo endpointInfo = prodInfo.getEndpointConfigurationInfo();
+ endpointInfo.setMarkupURL(markup);
+ endpointInfo.setServiceDescriptionURL(serviceDescription);
+ endpointInfo.setPortletManagementURL(portletManagement);
+ endpointInfo.setRegistrationURL(registration);
+ if (isUseWSDL())
+ {
+ internalSetWsdl(wsdl);
+ }
+
+ saveToRegistry(prodInfo);
+ }
+ catch (Exception e)
+ {
+ beanContext.createErrorMessageFrom(e);
+ return null;
+ }
+ }
+
+ if (showMessage)
+ {
+ beanContext.createInfoMessage(UPDATE_SUCCESS);
+ }
+ return ConsumerManagerBean.CONFIGURE_CONSUMER;
+ }
+
+ beanContext.createErrorMessage(CANNOT_UPDATE_CONSUMER);
+ return null;
+ }
+
+ private void saveToRegistry(ProducerInfo prodInfo)
+ {
+ registry.updateProducerInfo(prodInfo);
+ modified = false;
+ }
+
+ public String refreshConsumer()
+ {
+ if (consumer != null)
+ {
+ if (isModified())
+ {
+ String updateResult = internalUpdate(false);
+ if (updateResult == null)
+ {
+ return null;
+ }
+ }
+
+ // if the registration is locally modified, bypass the refresh as it will not yield a proper result
+ if (!isRegistrationLocallyModified())
+ {
+ manager.refresh(consumer);
+ }
+ else
+ {
+ beanContext.createInfoMessage(ConsumerManagerBean.REFRESH_MODIFY);
+ }
+
+ return ConsumerManagerBean.CONFIGURE_CONSUMER;
+ }
+
+ beanContext.createErrorMessage(CANNOT_REFRESH_CONSUMER);
+ return null;
+ }
+
+ public String modifyRegistration()
+ {
+ if (consumer != null)
+ {
+ ProducerInfo info = getProducerInfo();
+ if (isModified())
+ {
+ // get updated registration info
+ RegistrationInfo newReg = getExpectedRegistrationInfo();
+
+ // make sure we save any modified registration properties
+ saveToRegistry(info);
+
+ // save old info in case something goes wrong
+ RegistrationInfo oldReg = getProducerInfo().getRegistrationInfo();
+
+ // check that we have the proper state
+ if (newReg == null)
+ {
+ // if we want to change an existing registration property (for example, to upgrade service) then there are
+ // no expected information, we're just using the modified local version
+ newReg = new RegistrationInfo(oldReg);
+
+ if (!isRegistrationLocallyModified())
+ {
+ IllegalStateException e =
+ new IllegalStateException("Registration not locally modified: there should be expected registration from producer!");
+ log.debug(e);
+ throw e;
+ }
+ }
+
+ try
+ {
+ // todo: this should be done better cf regPropListener
+ newReg.setModifiedSinceLastRefresh(true); // mark as modified to force refresh of RegistrationData
+ // attempt to modify the registration using new registration info
+ info.setRegistrationInfo(newReg);
+ info.modifyRegistration();
+ newReg.setModifiedSinceLastRefresh(false);
+
+ registrationLocallyModified = false;
+
+ beanContext.createInfoMessage(MODIFY_REG_SUCCESS);
+ }
+ catch (Exception e)
+ {
+ // restore old info
+ info.setRegistrationInfo(oldReg);
+
+ beanContext.createErrorMessageFrom(e);
+ return null;
+ }
+
+ refreshConsumer();
+ return null;
+ }
+ else
+ {
+ beanContext.createErrorMessage(INVALID_MODIFY);
+ }
+ }
+
+ beanContext.createErrorMessage(CANNOT_MODIFY_REG);
+ return null;
+ }
+
+ public String eraseLocalRegistration()
+ {
+ if (consumer != null)
+ {
+ getProducerInfo().eraseRegistrationInfo();
+ return ConsumerManagerBean.CONFIGURE_CONSUMER;
+ }
+
+ beanContext.createErrorMessage(CANNOT_ERASE_REG);
+ return null;
+ }
+
+ private Object modifyIfNeeded(Object oldValue, Object newValue, String target, boolean checkURL)
+ {
+ if (isOldAndNewDifferent(oldValue, newValue))
+ {
+ if (checkURL)
+ {
+ try
+ {
+ // check that the new value is a valid URL
+ new URL(newValue.toString());
+ }
+ catch (MalformedURLException e)
+ {
+ beanContext.createTargetedErrorMessage(target, MALFORMED_URL, newValue, e.getLocalizedMessage());
+ }
+ }
+
+ oldValue = newValue;
+ modified = true;
+ }
+
+ return oldValue;
+ }
+
+ // Listeners
+
+ public void useWSDLListener(ValueChangeEvent event)
+ {
+ useWSDL = (Boolean)modifyIfNeeded(useWSDL, event.getNewValue(), "wsdl", false);
+
+ // bypass the rest of the life cycle and re-display page
+ FacesContext.getCurrentInstance().renderResponse();
+ }
+
+ // todo: valueChangeListener not needed anymore when events on RegistrationProperties work
+ public void regPropListener(ValueChangeEvent event)
+ {
+ if (!registrationLocallyModified)
+ {
+ // only mark as locally modified if we had a previous value
+ Object oldValue = normalizeStringIfNeeded(event.getOldValue());
+ if (oldValue != null)
+ {
+ registrationLocallyModified = isOldAndNewDifferent(oldValue, event.getNewValue());
+ }
+ }
+ }
+
+ protected String getObjectTypeName()
+ {
+ return CONSUMER_TYPE;
+ }
+
+ public boolean isAlreadyExisting(String objectName)
+ {
+ return registry.getConsumer(objectName) != null;
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerManagerBean.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerManagerBean.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ConsumerManagerBean.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,379 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.common.util.ParameterValidation;
+import org.jboss.portal.portlet.api.PortletInvokerException;
+import org.jboss.portal.wsrp.WSRPConsumer;
+import org.jboss.portal.wsrp.consumer.ConsumerRegistry;
+import org.jboss.portal.wsrp.consumer.RefreshResult;
+import org.jboss.portal.wsrp.consumer.RegistrationInfo;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 12865 $
+ * @since 2.6
+ */
+public class ConsumerManagerBean extends ManagedBean
+{
+ private ConsumerRegistry registry;
+ private String selectedId;
+
+ private static final String NO_CONSUMER = "bean_consumermanager_no_consumer";
+ private static final String INVALID_NEW_CONSUMER_NAME = "bean_consumermanager_invalid_new_consumer_name";
+ private static final String REFRESH_BYPASSED = "bean_consumermanager_refresh_bypassed";
+ private static final String REFRESH_SUCCESS = "bean_consumermanager_refresh_success";
+ private static final String REFRESH_FAILURE = "bean_consumermanager_refresh_failure";
+ private static final String REFRESH_EXCEPTION = "bean_consumermanager_refresh_exception";
+ static final String CONFIGURE_CONSUMER = "configureConsumer";
+
+ static final String CONSUMERS = "consumers";
+ static final String EXPECTED_REG_INFO_KEY = "expectedRegistrationInfo";
+ static final String REFRESH_MODIFY = "bean_consumermanager_refresh_modify";
+ static final String REQUESTED_CONSUMER_ID = "id";
+ static final String SESSION_CONSUMER_ID = "consumerId";
+ private static final String MESSAGE_TARGET = "createConsumer:consumerName";
+
+ public ConsumerRegistry getRegistry()
+ {
+ return registry;
+ }
+
+ public void setRegistry(ConsumerRegistry registry)
+ {
+ this.registry = registry;
+ }
+
+ public void setSelectedId(String consumerId)
+ {
+ this.selectedId = consumerId;
+ }
+
+ public String getSelectedId()
+ {
+ return selectedId;
+ }
+
+ public WSRPConsumer getSelectedConsumer()
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(selectedId, "consumer id", null);
+ return registry.getConsumer(selectedId);
+ }
+
+ public boolean isConsumersEmpty()
+ {
+ return registry.getConfiguredConsumers().isEmpty();
+ }
+
+ public List<WSRPConsumer> getConsumers()
+ {
+ return registry.getConfiguredConsumers();
+ }
+
+ public String reload()
+ {
+ registry.reloadConsumers();
+ return CONSUMERS;
+ }
+
+ public String activateConsumer()
+ {
+ if (refreshConsumerId() != null)
+ {
+ boolean activate = Boolean.valueOf(beanContext.getParameter("activate"));
+ try
+ {
+ if (activate)
+ {
+ WSRPConsumer consumer = getSelectedConsumer();
+ if (consumer.isRefreshNeeded())
+ {
+ RefreshResult result = internalRefresh(consumer);
+ if (result != null && !result.hasIssues())
+ {
+ registry.activateConsumerWith(selectedId);
+ }
+ }
+ else
+ {
+ registry.activateConsumerWith(selectedId);
+ }
+ }
+ else
+ {
+ registry.deactivateConsumerWith(selectedId);
+ }
+ }
+ catch (Exception e)
+ {
+ beanContext.createErrorMessageFrom(e);
+ }
+
+ return listConsumers();
+ }
+ else
+ {
+ noSelectedConsumerError();
+ return listConsumers();
+ }
+ }
+
+ public String registerConsumer()
+ {
+ if (refreshConsumerId() != null)
+ {
+ boolean register = Boolean.valueOf(beanContext.getParameter("register"));
+
+ try
+ {
+ registry.registerOrDeregisterConsumerWith(selectedId, register);
+ // show consumer configuration
+ setConsumerIdInSession(false);
+ return CONFIGURE_CONSUMER;
+ }
+ catch (Exception e)
+ {
+ beanContext.createErrorMessageFrom(e);
+ return null;
+ }
+ }
+ else
+ {
+ noSelectedConsumerError();
+ return null;
+ }
+ }
+
+ public String createConsumer()
+ {
+ selectedId = checkNameValidity(selectedId, MESSAGE_TARGET);
+ if (selectedId != null)
+ {
+ try
+ {
+ registry.createConsumer(selectedId, null);
+ setConsumerIdInSession(false);
+ return CONFIGURE_CONSUMER;
+ }
+ catch (Exception e)
+ {
+ beanContext.createErrorMessageFrom(MESSAGE_TARGET, e);
+ return null;
+ }
+ }
+
+ return null;
+ }
+
+ public String destroyConsumer()
+ {
+ if (refreshConsumerId() != null)
+ {
+ try
+ {
+ registry.destroyConsumer(selectedId);
+ return listConsumers();
+ }
+ catch (Exception e)
+ {
+ beanContext.createErrorMessageFrom(e);
+ return null;
+ }
+ }
+ else
+ {
+ noSelectedConsumerError();
+ return null;
+ }
+ }
+
+ public String configureConsumer()
+ {
+ if (refreshConsumerId() != null)
+ {
+ setConsumerIdInSession(false);
+ return CONFIGURE_CONSUMER;
+ }
+ else
+ {
+ noSelectedConsumerError();
+ return null;
+ }
+ }
+
+ public String refreshConsumer()
+ {
+ if (refreshConsumerId() != null)
+ {
+ internalRefresh(getSelectedConsumer());
+
+ return configureConsumer();
+ }
+ else
+ {
+ noSelectedConsumerError();
+ return null;
+ }
+ }
+
+ private RefreshResult internalRefresh(WSRPConsumer consumer)
+ {
+ try
+ {
+ RefreshResult result = consumer.refresh(true);
+
+ String statusMessage = getLocalizationKeyFrom(result);
+ if (result.hasIssues())
+ {
+ // create the expected registration info and make it available
+ RegistrationInfo expected = new RegistrationInfo(consumer.getProducerInfo().getRegistrationInfo());
+ expected.refresh(result.getServiceDescription(), consumer.getProducerId(), true, true, true);
+ setExpectedRegistrationInfo(expected);
+
+ beanContext.createErrorMessage(statusMessage);
+
+ // refresh had issues, we should deactivate this consumer
+ registry.deactivateConsumerWith(consumer.getProducerId());
+ }
+ else
+ {
+ // activate the consumer if it's supposed to be active
+ if (consumer.isActive())
+ {
+ registry.activateConsumerWith(consumer.getProducerId());
+ }
+ else
+ {
+ registry.deactivateConsumerWith(consumer.getProducerId());
+ }
+
+ beanContext.createInfoMessage(statusMessage);
+ }
+ return result;
+ }
+ catch (PortletInvokerException e)
+ {
+ beanContext.createErrorMessageFrom(e);
+ return null;
+ }
+ }
+
+ private String getLocalizationKeyFrom(RefreshResult result)
+ {
+ RefreshResult.Status status = result.getStatus();
+ if (RefreshResult.Status.BYPASSED.equals(status))
+ {
+ return REFRESH_BYPASSED;
+ }
+ else if (RefreshResult.Status.SUCCESS.equals(status))
+ {
+ return REFRESH_SUCCESS;
+ }
+ else if (RefreshResult.Status.FAILURE.equals(status))
+ {
+ // todo: extract information from registration result to be more precise
+ return REFRESH_FAILURE;
+ }
+ else if (RefreshResult.Status.MODIFY_REGISTRATION_REQUIRED.equals(status))
+ {
+ return REFRESH_MODIFY;
+ }
+ else
+ {
+ return REFRESH_EXCEPTION;
+ }
+ }
+
+ RefreshResult refresh(WSRPConsumer consumer)
+ {
+ RefreshResult result = internalRefresh(consumer);
+
+ selectedId = consumer.getProducerId();
+ setConsumerIdInSession(false);
+ return result;
+ }
+
+ private void setExpectedRegistrationInfo(RegistrationInfo expected)
+ {
+ Map<String, Object> sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
+ sessionMap.put(EXPECTED_REG_INFO_KEY, expected);
+ }
+
+ public String listConsumers()
+ {
+ setConsumerIdInSession(true);
+ selectedId = null;
+ return CONSUMERS;
+ }
+
+ public void selectConsumer(ActionEvent actionEvent)
+ {
+ refreshConsumerId();
+ setConsumerIdInSession(false);
+ }
+
+ private String refreshConsumerId()
+ {
+ selectedId = beanContext.getParameter(REQUESTED_CONSUMER_ID);
+ return selectedId;
+ }
+
+ private void setConsumerIdInSession(boolean remove)
+ {
+ Map<String, Object> sessionMap = beanContext.getSessionMap();
+ String consumerBeanName = "consumer"; // must match ConsumerBean name in faces-config.xml
+
+ // force recreation of ConsumerBean otherwise switching to the consumer view might not show the proper consumer
+ sessionMap.remove(consumerBeanName);
+
+ if (!remove)
+ {
+ sessionMap.put(SESSION_CONSUMER_ID, selectedId);
+ }
+ else
+ {
+ sessionMap.remove(SESSION_CONSUMER_ID);
+ }
+ }
+
+ private void noSelectedConsumerError()
+ {
+ beanContext.createErrorMessage(NO_CONSUMER);
+ }
+
+ protected String getObjectTypeName()
+ {
+ return "CONSUMER_TYPE";
+ }
+
+ public boolean isAlreadyExisting(String objectName)
+ {
+ return registry.getConsumer(objectName) != null;
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/JSFBeanContext.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/JSFBeanContext.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/JSFBeanContext.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,132 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.common.util.ParameterValidation;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 13413 $
+ * @since 2.6
+ */
+public class JSFBeanContext extends BeanContext
+{
+ public String getParameter(String key)
+ {
+ return getParameter(key, FacesContext.getCurrentInstance());
+ }
+
+ public static String getParameter(String key, FacesContext facesContext)
+ {
+ Map pmap = facesContext.getExternalContext().getRequestParameterMap();
+ return (String)pmap.get(key);
+ }
+
+ public Map<String, Object> getSessionMap()
+ {
+ return JSFBeanContext.getSessionMap(FacesContext.getCurrentInstance());
+ }
+
+ public static Map<String, Object> getSessionMap(FacesContext facesContext)
+ {
+ return facesContext.getExternalContext().getSessionMap();
+ }
+
+ protected void createMessage(String target, String message, Object severity)
+ {
+ outputMessage(target, message, severity);
+ }
+
+ public static void outputMessage(String target, String message, Object severity)
+ {
+ if (ParameterValidation.isNullOrEmpty(target))
+ {
+ target = STATUS;
+ }
+
+ FacesMessage.Severity jsfSeverity;
+ if (severity instanceof FacesMessage.Severity)
+ {
+ jsfSeverity = (FacesMessage.Severity)severity;
+ }
+ else
+ {
+ jsfSeverity = FacesMessage.SEVERITY_ERROR;
+ }
+
+ // Get the component id from the target
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ UIViewRoot viewRoot = facesContext.getViewRoot();
+ UIComponent component = viewRoot.findComponent(target);
+ if (component != null)
+ {
+ target = component.getClientId(facesContext);
+ }
+ else
+ {
+ // todo: do something better here
+ log.info("Couldn't resolve component target: " + target);
+ }
+
+ FacesMessage msg = new FacesMessage(jsfSeverity, message, message);
+ facesContext.addMessage(target, msg);
+ }
+
+ public static void outputLocalizedMessage(String target, String localizationKey, Object severity, String resourceName, Object... params)
+ {
+ if (severity == null)
+ {
+ severity = FacesMessage.SEVERITY_ERROR;
+ }
+
+ outputMessage(target, getLocalizedMessage(localizationKey, getRequestLocale(), resourceName, params), severity);
+ }
+
+ protected Object getErrorSeverity()
+ {
+ return FacesMessage.SEVERITY_ERROR;
+ }
+
+ protected Object getInfoSeverity()
+ {
+ return FacesMessage.SEVERITY_INFO;
+ }
+
+ protected Locale getLocale()
+ {
+ return getRequestLocale();
+ }
+
+ public static Locale getRequestLocale()
+ {
+ return FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/LocalizedStringConverter.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/LocalizedStringConverter.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/LocalizedStringConverter.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.LocalizedString;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 9153 $
+ * @since 2.6.3
+ */
+public class LocalizedStringConverter implements Converter
+{
+ public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String s)
+ {
+ return (s == null || s.length() == 0) ? null : new LocalizedString(s);
+ }
+
+ public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object o)
+ {
+ return o == null ? null : ((LocalizedString)o).getValue();
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ManagedBean.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ManagedBean.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ManagedBean.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,240 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.apache.log4j.Logger;
+import org.jboss.portal.common.util.ParameterValidation;
+
+import java.util.regex.Pattern;
+
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 13413 $
+ * @since 2.6
+ */
+public abstract class ManagedBean
+{
+ protected Logger log = Logger.getLogger(getClass());
+
+ protected BeanContext beanContext;
+ public static final String INVALID_NAME = "INVALID_NAME_ERROR";
+ public static final String INVALID_PATH = "INVALID_PATH_ERROR";
+ public static final String DUPLICATE = "DUPLICATE_ERROR";
+
+ public static interface PropertyValidator
+ {
+ boolean checkForDuplicates();
+
+ String getObjectTypeName();
+
+ boolean isAlreadyExisting(String propertyName);
+
+ String doSimpleChecks(String name);
+
+ ParameterValidation.ValidationErrorHandler getValidationErrorHandler(String name, String targetForErrorMessage);
+
+ Pattern getValidationPattern();
+ }
+
+ private PropertyValidator validator = new DefaultPropertyValidator();
+
+ protected void setValidator(PropertyValidator validator)
+ {
+ this.validator = validator;
+ }
+
+ public void setBeanContext(BeanContext beanContext)
+ {
+ this.beanContext = beanContext;
+ }
+
+ public String checkNameValidity(String name, String targetForErrorMessage)
+ {
+ return checkNameValidity(name, targetForErrorMessage, validator);
+ }
+
+ public String checkNameValidity(String name, String targetForErrorMessage, PropertyValidator validator)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(validator, "PropertyValidator");
+
+ String objectTypeName = validator.getObjectTypeName();
+ if (ParameterValidation.isNullOrEmpty(name))
+ {
+ beanContext.createTargetedErrorMessage(targetForErrorMessage, INVALID_NAME, name, getLocalizedType(objectTypeName));
+ return null;
+ }
+ else
+ {
+ String original = name;
+ name = validator.doSimpleChecks(name);
+
+ // we got an invalid name after simple checks, fail!
+ if (name == null)
+ {
+ beanContext.createTargetedErrorMessage(targetForErrorMessage, INVALID_NAME, original, getLocalizedType(objectTypeName));
+ return null;
+ }
+
+ // Trim name
+ name = name.trim();
+
+ // "sanitize" name: if it's invalid, return null and output message
+ name = ParameterValidation.sanitizeFromPatternWithHandler(name, validator.getValidationPattern(),
+ validator.getValidationErrorHandler(name, targetForErrorMessage));
+
+ // we got an invalid name, fail!
+ if (name == null)
+ {
+ return null;
+ }
+
+ // Check for duplicate
+ if (validator.checkForDuplicates() && validator.isAlreadyExisting(name))
+ {
+ getDuplicateErrorMessage(name, targetForErrorMessage, objectTypeName);
+ return null;
+ }
+
+ return name;
+ }
+ }
+
+ protected void getDuplicateErrorMessage(String name, String targetForErrorMessage, String objectTypeName)
+ {
+ beanContext.createTargetedErrorMessage(targetForErrorMessage, DUPLICATE, name, getLocalizedType(objectTypeName));
+ }
+
+ private String getLocalizedType(String objectTypeName)
+ {
+ return beanContext.getMessageFromBundle(objectTypeName);
+ }
+
+ protected abstract String getObjectTypeName();
+
+ public abstract boolean isAlreadyExisting(String objectName);
+
+ /**
+ * @param oldValue
+ * @param newValue
+ * @return
+ * @todo public for test cases
+ */
+ public boolean isOldAndNewDifferent(Object oldValue, Object newValue)
+ {
+ oldValue = normalizeStringIfNeeded(oldValue);
+ newValue = normalizeStringIfNeeded(newValue);
+
+ return (oldValue != null && !oldValue.equals(newValue)) || (oldValue == null && newValue != null);
+ }
+
+ /**
+ * Normalizes String by considering empty String as null as JSF would give either and trim non-null Strings.
+ *
+ * @param value
+ * @return
+ * @todo public for test cases
+ */
+ public Object normalizeStringIfNeeded(Object value)
+ {
+ if (value == null)
+ {
+ return null;
+ }
+ else
+ {
+ if (value instanceof String)
+ {
+ String stringValue = (String)value;
+ return stringValue.length() == 0 ? null : stringValue.trim();
+ }
+ else
+ {
+ return value;
+ }
+ }
+ }
+
+ protected class MessageValidationHandler extends ParameterValidation.ValidationErrorHandler
+ {
+ private String targetForErrorMessage;
+ private String validatedName;
+ private String objectTypeName;
+ private String errorMessageKey;
+
+ public MessageValidationHandler(String defaultValue, String targetForErrorMessage, String validatedName, String objectTypeName)
+ {
+ this(defaultValue, targetForErrorMessage, validatedName, objectTypeName, INVALID_NAME);
+ }
+
+ public MessageValidationHandler(String defaultValue, String targetForErrorMessage, String validatedName, String objectTypeName, String errorMessageKey)
+ {
+ super(defaultValue);
+ this.targetForErrorMessage = targetForErrorMessage;
+ this.validatedName = validatedName;
+ this.objectTypeName = objectTypeName;
+ this.errorMessageKey = errorMessageKey;
+ }
+
+ protected String internalValidationErrorHandling(String s)
+ {
+ beanContext.createTargetedErrorMessage(targetForErrorMessage, errorMessageKey, validatedName, getLocalizedType(objectTypeName));
+ return null;
+ }
+ }
+
+ protected class DefaultPropertyValidator implements PropertyValidator
+ {
+ public boolean checkForDuplicates()
+ {
+ return true;
+ }
+
+ public String getObjectTypeName()
+ {
+ return ManagedBean.this.getObjectTypeName();
+ }
+
+ public boolean isAlreadyExisting(String propertyName)
+ {
+ return ManagedBean.this.isAlreadyExisting(propertyName);
+ }
+
+ public String doSimpleChecks(String name)
+ {
+ // if name contains . or /, it's invalid for a Portal object
+ return (name.indexOf('.') != -1 || name.indexOf('/') != -1) ? null : name;
+ }
+
+ public ParameterValidation.ValidationErrorHandler getValidationErrorHandler(String name, String targetForErrorMessage)
+ {
+ return new MessageValidationHandler(null, targetForErrorMessage, name, getObjectTypeName());
+ }
+
+ public Pattern getValidationPattern()
+ {
+ return ParameterValidation.XSS_CHECK;
+ }
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ProducerBean.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ProducerBean.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/ProducerBean.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,238 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.RegistrationPolicy;
+import org.jboss.portal.registration.policies.DefaultRegistrationPolicy;
+import org.jboss.portal.wsrp.producer.config.ProducerConfiguration;
+import org.jboss.portal.wsrp.producer.config.ProducerConfigurationService;
+import org.jboss.portal.wsrp.producer.config.ProducerRegistrationRequirements;
+import org.jboss.portal.wsrp.registration.RegistrationPropertyDescription;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import javax.faces.event.ValueChangeEvent;
+import javax.faces.model.SelectItem;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 12854 $
+ * @since 2.6.3
+ */
+public class ProducerBean extends ManagedBean
+{
+ private ProducerConfigurationService configurationService;
+ private String policyClassName;
+ private String validatorClassName;
+ private static final String PROPERTY = "property";
+ private static final String PRODUCER = "producer";
+ private String selectedProp;
+
+ public ProducerConfigurationService getConfigurationService()
+ {
+ return configurationService;
+ }
+
+ public void setConfigurationService(ProducerConfigurationService configurationService)
+ {
+ this.configurationService = configurationService;
+ }
+
+ public ProducerConfiguration getConfiguration()
+ {
+ return configurationService.getConfiguration();
+ }
+
+ public boolean isRegistrationRequiredForFullDescription()
+ {
+ return getRegRequirements().isRegistrationRequiredForFullDescription();
+ }
+
+ private ProducerRegistrationRequirements getRegRequirements()
+ {
+ return getConfiguration().getRegistrationRequirements();
+ }
+
+ public void setRegistrationRequiredForFullDescription(boolean requireRegForFullDescription)
+ {
+ getRegRequirements().setRegistrationRequiredForFullDescription(requireRegForFullDescription);
+ }
+
+ public boolean isRegistrationRequired()
+ {
+ return getRegRequirements().isRegistrationRequired();
+ }
+
+ public void setRegistrationRequired(boolean requireRegistration)
+ {
+ getRegRequirements().setRegistrationRequired(requireRegistration);
+ }
+
+ public String getRegistrationPolicyClassName()
+ {
+ RegistrationPolicy policy = getRegRequirements().getPolicy();
+ if (policy != null)
+ {
+ return policy.getClass().getName();
+ }
+ else
+ {
+ return beanContext.getMessageFromBundle("bean_producer_regpolicy_unset");
+ }
+ }
+
+ public void setRegistrationPolicyClassName(String className)
+ {
+ policyClassName = className;
+ }
+
+ public boolean isDefaultRegistrationPolicy()
+ {
+ return ProducerRegistrationRequirements.DEFAULT_POLICY_CLASS_NAME.equals(getRegistrationPolicyClassName());
+ }
+
+ public String getValidatorClassName()
+ {
+ if (isDefaultRegistrationPolicy())
+ {
+ return ((DefaultRegistrationPolicy)getRegRequirements().getPolicy()).getValidator().getClass().getName();
+ }
+ throw new IllegalStateException("getValidatorClassName shouldn't be called if we're not using the default registration");
+ }
+
+ public void setValidatorClassName(String className)
+ {
+ validatorClassName = className;
+ }
+
+ public boolean isStrictMode()
+ {
+ return getConfiguration().isUsingStrictMode();
+ }
+
+ public void setStrictMode(boolean strictMode)
+ {
+ getConfiguration().setUsingStrictMode(strictMode);
+ }
+
+ public List<RegistrationPropertyDescription> getRegistrationProperties()
+ {
+ Map descriptions = getRegRequirements().getRegistrationProperties();
+ Comparator<RegistrationPropertyDescription> descComparator = new Comparator<RegistrationPropertyDescription>()
+ {
+ public int compare(RegistrationPropertyDescription o1, RegistrationPropertyDescription o2)
+ {
+ return o1.getName().toString().compareTo(o2.getName().toString());
+ }
+ };
+
+ List<RegistrationPropertyDescription> result = new ArrayList<RegistrationPropertyDescription>(descriptions.values());
+ Collections.sort(result, descComparator);
+ return result;
+ }
+
+ public List<SelectItem> getSupportedPropertyTypes()
+ {
+ return Collections.singletonList(new SelectItem("xsd:string"));
+ }
+
+ public String getSelectedPropertyName()
+ {
+ return selectedProp;
+ }
+
+ public String save()
+ {
+ try
+ {
+ if (!ProducerRegistrationRequirements.DEFAULT_POLICY_CLASS_NAME.equals(policyClassName))
+ {
+ getRegRequirements().reloadPolicyFrom(policyClassName, validatorClassName);
+ }
+ configurationService.saveConfiguration();
+ beanContext.createInfoMessage("bean_producer_save_success");
+ }
+ catch (Exception e)
+ {
+ log.debug(e);
+ beanContext.createErrorMessage("bean_producer_cannot_save", e.getLocalizedMessage());
+ }
+ return PRODUCER;
+ }
+
+ public String reloadConfiguration()
+ {
+ try
+ {
+ configurationService.reloadConfiguration();
+ beanContext.createInfoMessage("bean_producer_cancel_success");
+ }
+ catch (Exception e)
+ {
+ log.debug(e);
+ beanContext.createErrorMessage("bean_producer_cannot_reload", e.getLocalizedMessage());
+ }
+ return PRODUCER;
+ }
+
+ public String addRegistrationProperty()
+ {
+ getRegRequirements().addEmptyRegistrationProperty(PROPERTY + System.currentTimeMillis());
+ return PRODUCER;
+ }
+
+ public String deleteRegistrationProperty()
+ {
+ getRegRequirements().removeRegistrationProperty(selectedProp);
+ return PRODUCER;
+ }
+
+ public void requireRegistrationListener(ValueChangeEvent event)
+ {
+ setRegistrationRequired((Boolean)event.getNewValue());
+
+ // bypass the rest of the life cycle and re-display page
+ FacesContext.getCurrentInstance().renderResponse();
+ }
+
+ public void selectProperty(ActionEvent event)
+ {
+ selectedProp = beanContext.getParameter("propName");
+ }
+
+ protected String getObjectTypeName()
+ {
+ return null; // default implementation as not used
+ }
+
+ public boolean isAlreadyExisting(String objectName)
+ {
+ return false; // default implementation as not used
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/RedirectOnNoConsumerNavigationHandler.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/RedirectOnNoConsumerNavigationHandler.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/RedirectOnNoConsumerNavigationHandler.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.application.NavigationHandler;
+import javax.faces.context.FacesContext;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+public class RedirectOnNoConsumerNavigationHandler extends NavigationHandler
+{
+ private NavigationHandler base;
+ private static final String CONFIGURE_CONSUMER = "configureConsumer";
+ private static final String CONSUMERS = "consumers";
+
+ public RedirectOnNoConsumerNavigationHandler(NavigationHandler base)
+ {
+ this.base = base;
+ }
+
+ public void handleNavigation(FacesContext facesContext, String fromAction, String outcome)
+ {
+ // only check for need to redirect when we're asking for consumer details
+ if (CONFIGURE_CONSUMER.equals(outcome))
+ {
+ // check if we have a currently selected consumer in the request...
+ String currentConsumer = JSFBeanContext.getParameter(ConsumerManagerBean.REQUESTED_CONSUMER_ID, facesContext);
+
+ // if not, check the session...
+ if (currentConsumer == null)
+ {
+ currentConsumer = (String)JSFBeanContext.getSessionMap(facesContext).get(ConsumerManagerBean.SESSION_CONSUMER_ID);
+
+ // if we still don't have consumer id, redirect to consumer list view
+ if (currentConsumer == null)
+ {
+ outcome = CONSUMERS;
+ }
+ }
+ }
+
+ base.handleNavigation(facesContext, fromAction, outcome);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/StatusConverter.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/StatusConverter.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/java/org/jboss/portal/wsrp/admin/ui/StatusConverter.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource.properties
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource.properties (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource.properties 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,182 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2009, 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.
+#
+
+## WSRP GUI localization
+
+# JBoss Portal display information
+org.jboss.portal.object.name.WSRPConfigurationPortlet = WSRP Configuration
+org.jboss.portal.instance.name.WSRPConfigurationPortletInstance = WSRP Configuration Portlet
+
+# Tabs
+nav_tabs_consumers = Consumers Configuration
+nav_tabs_producer_config = Producer Configuration
+nav_tabs_producer_management = Producer Management
+
+# Object path in consumer template
+path_consumers_root = Consumers
+path_consumers_consumer = Consumer ''{0}'' configuration
+path_consumers_active = active
+path_consumers_inactive = inactive
+path_consumers_refreshNeeded = (refresh needed)
+
+# Confirm deletion of a consumer screen
+confirm_delete_consumer_title = Delete ''{0}'' consumer?
+confirm_delete_consumer_message = You are about to delete the ''{0}'' consumer!
+confirm_detete_consumer_proceed = Are you sure you want to proceed?
+confirm_delete_consumer_submit = Delete consumer
+confirm_delete_consumer_cancel = Cancel
+
+# Confirm deletion of local registration information screen
+confirm_delete_registration_title = Delete local registration for ''{0}'' consumer?
+confirm_delete_registration_message = You are about to delete the local registration information for the ''{0}'' consumer! \n\
+This is only needed if this consumer had previously registered with the remote producer and this producer \n\
+has been modified to not require registration anymore. \n\
+Only erase local registration information if you experience errors with the producer due to this \n\
+particular situation. Erasing local registration when not required might lead to inability to work with \n\
+this producer anymore.
+confirm_delete_registration_proceed = Are you sure you want to proceed?
+confirm_delete_registration_submit = Erase local registration
+confirm_delete_registration_cancel = Cancel
+
+# Consumers screen
+consumers_title = Manage Consumers
+consumers_create_title = Create a consumer named:
+consumers_create_submit = Create Consumer
+
+# Consumers list
+consumers_table_column_consumer = Consumer
+consumers_table_column_consumer_status = status:
+consumers_table_column_actions = Actions
+consumers_table_action_configure = Configure
+consumers_table_action_refresh = Refresh
+consumers_table_action_activate = Activate
+consumers_table_action_deactivate = Deactivate
+consumers_table_action_register = Register
+consumers_table_action_deregister = Deregister
+consumers_table_action_delete = Delete
+consumers_table_reload = Reload consumers
+
+# Consumer editing screen
+edit_consumer_producer = Producer id:
+edit_consumer_cache = Cache expiration:
+edit_consumer_cache_seconds = (seconds before expiration)
+edit_consumer_endpoint = Endpoint configuration:
+edit_consumer_endpoint_wsdl = Use WSDL?
+edit_consumer_endpoint_sd = Service Description URL:
+edit_consumer_endpoint_m = Markup URL:
+edit_consumer_endpoint_r = Registration URL:
+edit_consumer_endpoint_pm = Portlet Management URL:
+edit_consumer_registration = Registration information:
+edit_consumer_registration_current = Current registration information:
+edit_consumer_prop_name = Name
+edit_consumer_prop_desc = Description
+edit_consumer_prop_value = Value
+edit_consumer_registration_update_props = Update properties
+edit_consumer_registration_no_props = Registration is indicated as required without registration properties.
+edit_consumer_registration_modify = Modify registration
+edit_consumer_registration_modify_title = Modify the registration held with this producer
+edit_consumer_registration_expected = Expected registration information:
+edit_consumer_no_registration = Producer doesn't require registration.
+edit_consumer_registration_context = Registration context:
+edit_consumer_registration_context_handle = Handle:
+edit_consumer_registration_context_erase = Erase local registration
+edit_consumer_registration_context_erase_title = Erase local registration information (potentially dangerous!)
+edit_consumer_refresh = Refresh & Save
+edit_consumer_refresh_title = Save changes and refresh information from producer
+edit_consumer_cancel = Cancel
+
+# Confirm registration property deletion screen
+confirm_delete_reg_property_title = Delete ''{0}'' registration property description?
+confirm_delete_reg_property_message = You are about to delete the ''{0}'' registration property description! \n\
+This will trigger invalidation of consumer registrations which will have to modify their registration \n\
+information.
+confirm_delete_reg_property_proceed = Are you sure you want to proceed?
+confirm_delete_reg_property_submit = Delete property
+confirm_delete_reg_property_cancel = Cancel
+
+# Producer configuration screen
+producer_config_title = Producer configuration
+producer_config_sd_requires_reg = Access to full service description requires consumers to be registered.
+producer_config_strict = Use strict WSRP compliance.
+producer_config_requires_reg = Requires registration. Modifying this information will trigger invalidation of consumer registrations.
+producer_config_reg_policy = Registration policy class name:
+producer_config_reg_prop_validator = Registration property validator class name:
+producer_config_reg_props = Registration properties
+producer_config_reg_prop_name = Name
+producer_config_reg_prop_type = Type
+producer_config_reg_prop_label = Label
+producer_config_reg_prop_hint = Hint
+producer_config_reg_prop_action = Action
+producer_config_reg_prop_remove = Remove
+producer_config_no_reg_props = No specified required registration properties.
+producer_config_add_reg_prop = Add property
+producer_config_save = Save
+producer_config_cancel = Cancel
+
+## Localized messages in JSF beans
+
+bean_support_unexpected_error = An unexpected error occured:
+bean_support_cause = Cause:
+CONSUMER_TYPE = Consumer
+
+# ConsumerBean
+bean_consumer_cannot_find_consumer = Couldn''t find consumer ''{0}''!
+bean_consumer_cannot_update_consumer = Couldn't update consumer!
+bean_consumer_cannot_refresh_consumer = Couldn't refresh consumer!
+bean_consumer_modify_reg_success = Successfully modified registration!
+bean_consumer_invalid_modify = Invalid attempt to modify a registration that hasn't been locally modified!
+bean_consumer_cannot_modify_reg = Couldn't modify registration!
+bean_consumer_cannot_erase_reg = Couldn't erase local registration!
+bean_consumer_malformed_url = ''{0}'' is not a valid URL: {1}
+bean_consumer_update_success = Successfully updated consumer!
+
+# ConsumerManagerBean
+bean_consumermanager_invalid_new_consumer_name = Need a non-null, non-empty name for the new consumer!
+bean_consumermanager_no_consumer = No consumer was selected!
+bean_consumermanager_refresh_bypassed = Refresh was not necessary.
+bean_consumermanager_refresh_success = Refresh was successful.
+bean_consumermanager_refresh_failure = Refresh failed (probably because the registration information was not valid).
+bean_consumermanager_refresh_exception = An unexpected error occurred.
+bean_consumermanager_refresh_modify = Either local or remote information has been changed, you should modify your registration with the remote producer.\n\
+The new local information will be saved but your current registration data will be used until you successfully \
+modify the registration with the producer.
+
+# ProducerBean
+bean_producer_regpolicy_unset = RegistrationPolicy unset
+bean_producer_cannot_save = Couldn''t save producer configuration. Cause: {0}
+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
+
+org.jboss.portal.object.name.admin.WSRP=WSRP
+
+INVALID_NAME_ERROR=''{0}'' is an invalid {1} name: Cannot be null, empty or contain '/', '.', '\\', '<', '>', '(', ')', '=' or '%5c'
+DUPLICATE_ERROR=A {1} named ''{0}'' already exists!
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_fr.properties
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_fr.properties (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_fr.properties 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,151 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2009, 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.
+#
+
+# JBoss Portal display information
+org.jboss.portal.object.name.WSRPConfigurationPortlet = Configuration WSRP
+org.jboss.portal.instance.name.WSRPConfigurationPortletInstance = Portlet de Configuration pour WSRP
+
+nav_tabs_consumers = Configuration Consommateurs
+nav_tabs_producer_config = Configuration Producteur
+nav_tabs_producer_management = Gestion Producteur
+
+path_consumers_root = Consommateurs
+path_consumers_consumer = Configuration du consommateur ''{0}''
+path_consumers_active = actif
+path_consumers_inactive = inactif
+path_consumers_refreshNeeded = (rafra\u00eechissement requis)
+confirm_delete_consumer_cancel=Annuler
+confirm_delete_consumer_message=Vous \u00eates sur le point d''effacer le concommateur ''{0}''!
+confirm_delete_consumer_submit=Effacer consommateur
+confirm_delete_consumer_title=Voulez-vous r\u00e9ellement effacer le consommateur ''{0}''?
+confirm_detete_consumer_proceed=\u00cates-vous certains de vouloir proc\u00e9der?
+confirm_delete_registration_cancel=Annuler
+confirm_delete_registration_message=Vous \u00eates sur le point d''effacer les informations locales d''enregistrement pour le consommateur ''{0}''! \n\
+Ceci n''est uniquement requis dans le cas o\u00f9 ce consommateur se serait enregistr\u00e9 aupr\u00e8s d''un producteur distant \n\
+qui aurait ensuite \u00e9t\u00e9 modifi\u00e9 pour ne plus requerir d''enregistrement. \n\
+N''effacez les informations locales d''enregistrement que si vous rencontrez des probl\u00e8mes, sp\u00e9cifiques \u00e0 cette \n\
+situation, avec le producteur distant. Effacer les donn\u00e9es d''enregistrement quand ce n''est pas requis peut entra\u00eener \n\
+l''incapacit\u00e9 future d''acc\u00e9der \u00e0 ce producteur.
+confirm_delete_registration_proceed=\u00cates-vous certains de vouloir proc\u00e9der?
+confirm_delete_registration_submit=Effacer enregistrement
+confirm_delete_registration_title=Voulez-vous r\u00e9ellement effacer l''enregistrement du consommateur ''{0}''?
+consumers_create_submit=Cr\u00e9er Consommateur
+consumers_create_title=Cr\u00e9er un consommateur nomm\u00e9:
+consumers_table_action_activate=Activer
+consumers_table_action_configure=Configurer
+consumers_table_action_deactivate=D\u00e9sactiver
+consumers_table_action_delete=Effacer
+consumers_table_action_deregister=D\u00e9senregistrer
+consumers_table_action_refresh=Rafra\u00eechir
+consumers_table_action_register=Enregister
+consumers_table_column_actions=Actions
+consumers_table_column_consumer=Consommateur
+consumers_table_column_consumer_status=status:
+consumers_title=Gestion des Consommateurs
+edit_consumer_cache=Expiration du cache:
+edit_consumer_cache_seconds=(secondes avant expiration)
+edit_consumer_cancel=Annuler
+edit_consumer_endpoint=Configuration du endpoint:
+edit_consumer_endpoint_m=URL Markup:
+edit_consumer_endpoint_pm=URL Portlet Management:
+edit_consumer_endpoint_r=URL Registration:
+edit_consumer_endpoint_sd=URL Service Description:
+edit_consumer_endpoint_wsdl=Utiliser WSDL?
+edit_consumer_no_registration=Enregistrement non-requis par le producteur.
+edit_consumer_producer=Identifiant du producteur:
+edit_consumer_prop_desc=Description
+edit_consumer_prop_name=Nom
+edit_consumer_prop_value=Valeur
+edit_consumer_refresh=Rafra\u00eechir & Sauvegarder
+edit_consumer_refresh_title=Sauvegarde des changements et rafra\u00eechissement \u00e0 partir du producteur
+edit_consumer_registration=Information d'enregistrement:
+edit_consumer_registration_context=Contexte d'enregistrement:
+edit_consumer_registration_context_erase=Effacer enregistrement local
+edit_consumer_registration_context_erase_title=Effacer l'information locale d'enregistrement (potentiellement dangereux!)
+edit_consumer_registration_context_handle=Identifiant:
+edit_consumer_registration_current=Information actuelle d'enregistrement:
+edit_consumer_registration_expected=Information attendue d'enregistrement:
+edit_consumer_registration_modify=Modifier l'enregistrement
+edit_consumer_registration_modify_title=Modifier l'enregistrement avec ce producteur
+edit_consumer_registration_no_props=Enregistrement indiqu\u00e9 sans besoin de propri\u00e9t\u00e9s d'enregistrement
+edit_consumer_registration_update_props=Mettre les propri\u00e9t\u00e9s \u00e0 jour
+bean_consumer_cannot_erase_reg=L'effacement de l'enregistrement n'a pu \u00eatre effectu\u00e9!
+bean_consumer_cannot_find_consumer=Le consommateur ''{0}'' n''a pu \u00eatre trouv\u00e9!
+bean_consumer_cannot_modify_reg=La modification de l'enregistrement n'a pu \u00eatre effectu\u00e9e!
+bean_consumer_cannot_refresh_consumer=Le rafra\u00eechissement du consommateur n'a pu \u00eatre effectu\u00e9!
+bean_consumer_cannot_update_consumer=La mise \u00e0 jour du consommateur n'a pu \u00eatre effectu\u00e9e!
+bean_consumer_invalid_modify=Tentative invalide de modification d'enregistrement sans modifications locales.
+bean_consumer_malformed_url=''{0}'' n''est pas une URL valide: {1}
+bean_consumer_modify_reg_success=Enregistrement modifi\u00e9!
+bean_support_cause=Cause:
+bean_support_unexpected_error=Une erreur inattendue s'est produite:
+bean_consumermanager_invalid_new_consumer_name=Un consommateur requiert un nom non-nul et non-vide!
+bean_consumermanager_no_consumer=Aucun consommateur n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9!
+bean_producer_cannot_reload=Le rechargement de la configuration du producteur a \u00e9chou\u00e9. Cause: {0}
+bean_producer_cannot_save=La sauvegarde de la configuration du producteur a \u00e9chou\u00e9. Cause: {0}
+bean_producer_regpolicy_unset=RegistrationPolicy non sp\u00e9cifi\u00e9e
+confirm_delete_reg_property_cancel=Annuler
+confirm_delete_reg_property_message=Vous \u00eates sur le point d''effacer la description de la propri\u00e9t\u00e9 d''enregistrement ''{0}''! \n\
+Cel\u00e0 va entra\u00eener l''invalidation des enregistrements des consommateurs qui devront alors modifier \n\
+leur information d'enregistrement.
+confirm_delete_reg_property_submit=Effacer la propri\u00e9t\u00e9
+confirm_delete_reg_property_title=Voulez-vous r\u00e9ellement effacer la description de la propri\u00e9t\u00e9 d'enregistrement ''{0}''?
+confirm_delete_reg_property_proceed=\u00cates-vous certains de vouloir proc\u00e9der?
+producer_config_add_reg_prop=Ajouter une propri\u00e9t\u00e9
+producer_config_cancel=Annuler
+producer_config_no_reg_props=Aucune propri\u00e9t\u00e9 d'enregistrement sp\u00e9cifi\u00e9e.
+producer_config_reg_policy=Nom de la classe de la politique d'enregistrement:
+producer_config_reg_prop_action=Action
+producer_config_reg_prop_hint=Indice
+producer_config_reg_prop_label=\u00c9tiquette
+producer_config_reg_prop_name=Nom
+producer_config_reg_prop_remove=Enlever
+producer_config_reg_prop_type=Type
+producer_config_reg_prop_validator=Nom de la classe de validation des propri\u00e9t\u00e9s d'enregistrement:
+producer_config_reg_props=Propri\u00e9t\u00e9s d'enregistrement
+producer_config_requires_reg=N\u00e9cessite l'enregistrement. Modifier cette information entra\u00eene l'invalidation des enregistrements consommateurs.
+producer_config_save=Sauvegarder
+producer_config_sd_requires_reg=L'acc\u00e8s \u00e0 la description compl\u00e8te des services requiert l'enregistrement.
+producer_config_strict=Utiliser la validation WSRP stricte.
+producer_config_title=Configuration producteur
+bean_consumermanager_refresh_bypassed=Le rafra\u00eechissement n'\u00e9tait pas requis.
+bean_consumermanager_refresh_exception=Une erreur inattendue s'est produite.
+bean_consumermanager_refresh_failure=Le rafra\u00eechissement a \u00e9chou\u00e9 (probablement \u00e0 cause d'informations d'enregistrement non valides)
+bean_consumermanager_refresh_success=Le rafra\u00eechissement a r\u00e9ussi.
+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 ou distantes ont chang\u00e9, vous devriez modifier votre enregistrement avec le producteur.\n\
+Les nouvelles informations locales sont enregistr\u00e9es mais les donn\u00e9es d'enregistrement courantes seront utilis\u00e9es\
+tant que vous n'aurez pas mis \u00e0 jour votre enregistrement aupr\u00e8s du producteur.
+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
+org.jboss.portal.object.name.admin.WSRP=WSRP
+consumers_table_reload=Recharger consommateurs
+CONSUMER_TYPE=Consommateur
+DUPLICATE_ERROR=Un {1} nomm\u00e9 ''{0}'' existe d\u00e9j\u00e0!
+INVALID_NAME_ERROR=''{0}'' est un nom invalide pour un {1} : Ne peut pas \u00eatre null, vide ou contenir '/', '.', '\\', '<', '>', '(', ')', '=' ou '%5c'
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_it.properties
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_it.properties (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_it.properties 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,182 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2009, 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.
+#
+
+## WSRP GUI localization
+
+# JBoss Portal display information
+org.jboss.portal.object.name.WSRPConfigurationPortlet = Configurazione WSRP
+org.jboss.portal.instance.name.WSRPConfigurationPortletInstance = Portlet di configurazione WSRP
+
+# Tabs
+nav_tabs_consumers = Configurazione dei Consumer
+nav_tabs_producer_config = Configurazione del Producer
+nav_tabs_producer_management = Gestione del Producer
+
+# Object path in consumer template
+path_consumers_root = Consumer
+path_consumers_consumer = Configurazione del Consumer ''{0}''
+path_consumers_active = attivo
+path_consumers_inactive = inattivo
+path_consumers_refreshNeeded = (\u00e8 necessario il refresh)
+
+# Confirm deletion of a consumer screen
+confirm_delete_consumer_title = Elimino il consumer ''{0}''?
+confirm_delete_consumer_message = Stai per eliminare il consumer ''{0}''!
+confirm_detete_consumer_proceed = Sicuro di voler continuare?
+confirm_delete_consumer_submit = Elimina il consumer
+confirm_delete_consumer_cancel = Annulla
+
+# Confirm deletion of local registration information screen
+confirm_delete_registration_title = Elimino la registrazione locale per il consumer ''{0}''?
+confirm_delete_registration_message = Stai per eliminare le informazioni della registrazione locale del consumer ''{0}''! \n\
+E' necessario soltanto se il consumer si \u00e8 prima registrato con il producer remoto e il producer \u00e8 \n\
+stato configurato in modo da non richiedere pi\u00f9 la registrazione. \n\
+Elimina le informazioni della registrazione locale soltanto se riscontri degli errori per \n\
+questa particolare situazione. Se si cancella la registrazione in alcune situazioni c'\ufffd il rischio di non poter pi\u00f9 lavorare \n\
+con quel producer.
+confirm_delete_registration_proceed = Sicuro di voler procedere?
+confirm_delete_registration_submit = Elimina la registrazione locale
+confirm_delete_registration_cancel = Annulla
+
+# Consumers screen
+consumers_title = Gestione dei Consumer
+consumers_create_title = Crea un Consumer chiamato:
+consumers_create_submit = Crea un Consumer
+
+# Consumers list
+consumers_table_column_consumer = Consumer
+consumers_table_column_consumer_status = stato:
+consumers_table_column_actions = Azioni
+consumers_table_action_configure = Configura
+consumers_table_action_refresh = Aggiorna
+consumers_table_action_activate = Attiva
+consumers_table_action_deactivate = Disattiva
+consumers_table_action_register = Registra
+consumers_table_action_deregister = Togli dalla registrazione
+consumers_table_action_delete = Elimina
+consumers_table_reload = Ricarica i consumer
+
+# Consumer editing screen
+edit_consumer_producer = Id del Producer:
+edit_consumer_cache = Scadenza della cache:
+edit_consumer_cache_seconds = (secondi prima della scadenza)
+edit_consumer_endpoint = Configurazione dell\'Endpoint:
+edit_consumer_endpoint_wsdl = Uso il WSDL?
+edit_consumer_endpoint_sd = Service Description URL:
+edit_consumer_endpoint_m = Markup URL:
+edit_consumer_endpoint_r = Registration URL:
+edit_consumer_endpoint_pm = Portlet Management URL:
+edit_consumer_registration = Informazioni sulla registratione:
+edit_consumer_registration_current = Informazioni sulla registratione corrente:
+edit_consumer_prop_name = Nome
+edit_consumer_prop_desc = Descrizione
+edit_consumer_prop_value = Valore
+edit_consumer_registration_update_props = Propriet\u00e0 dell\'update
+edit_consumer_registration_no_props = E' richiesta una registrazione senza le propriet\u00e0 di registrazione.
+edit_consumer_registration_modify = Modifica la registrazione
+edit_consumer_registration_modify_title = Modifica la registrazione secondo questo producer
+edit_consumer_registration_expected = Informazioni richieste dalla registrazione:
+edit_consumer_no_registration = Il Producer non richiede la registrazione.
+edit_consumer_registration_context = Contesto della registrazione:
+edit_consumer_registration_context_handle = Gestore:
+edit_consumer_registration_context_erase = Elimina la registrazione locale
+edit_consumer_registration_context_erase_title = Elimina l\'informazione della registrazione locale (potenzialmente pericoloso!)
+edit_consumer_refresh = Aggiorna e salva
+edit_consumer_refresh_title = Salva le modifiche e aggiorna le informazioni del producer
+edit_consumer_cancel = Cancel
+
+# Confirm registration property deletion screen
+confirm_delete_reg_property_title = Elimino ''{0}'' descrizioni sulla propriet\u00e0 di registrazione?
+confirm_delete_reg_property_message = Stai per cancellare ''{0}'' descrizioni sulla propriet\u00e0 di registrazione! \n\
+Render\u00e0 non valide le registrazioni del consumer che dovr\u00e0 modificare la propria informazione \n\
+sulla registrazione.
+confirm_delete_reg_property_proceed = Sicuro di voler procedere?
+confirm_delete_reg_property_submit = Elimina la propriet\u00e0
+confirm_delete_reg_property_cancel = Annulla
+
+# Producer configuration screen
+producer_config_title = Configurazione del Producer
+producer_config_sd_requires_reg = L'accesso all\'intera descrizione del servizio richiede la registrazione da parte dei consumer.
+producer_config_strict = Usa per intero le propriet\u00e0 WSRP.
+producer_config_requires_reg = E\' richiesta la registrazione. La modifica di quest\'informazione render\u00e0 non valide le registrazioni del consumer.
+producer_config_reg_policy = Nome della classe della policy di registrazione:
+producer_config_reg_prop_validator = Nome della classe del validatore delle propriet\u00e0 di registrazione:
+producer_config_reg_props = Propriet\u00e0 della registratione
+producer_config_reg_prop_name = Nome
+producer_config_reg_prop_type = Tipo
+producer_config_reg_prop_label = Titolo
+producer_config_reg_prop_hint = Hint
+producer_config_reg_prop_action = Azione
+producer_config_reg_prop_remove = Elimina
+producer_config_no_reg_props = Non \u00e8 richiesta alcuna propriet\u00e0 di registrazione.
+producer_config_add_reg_prop = Aggiungi propriet\u00e0
+producer_config_save = Salva
+producer_config_cancel = Annulla
+
+## Localized messages in JSF beans
+
+bean_support_unexpected_error = Si \u00e8 verificato un errore inaspettato:
+bean_support_cause = Causa:
+CONSUMER_TYPE = Consumer
+
+# ConsumerBean
+bean_consumer_cannot_find_consumer = Non posso trovare il consumer ''{0}''!
+bean_consumer_cannot_update_consumer = Non posso aggiornare il consumer!
+bean_consumer_cannot_refresh_consumer = Non posso eseguire il refresh del consumer!
+bean_consumer_modify_reg_success = Registrazione modificata con successo!
+bean_consumer_invalid_modify = Tentativo non valido di modifica di una registrazione modificata localmente!
+bean_consumer_cannot_modify_reg = Non posso modificare la registrazione!
+bean_consumer_cannot_erase_reg = Non posso eliminare la registrazione locale!
+bean_consumer_malformed_url = ''{0}'' non \u00e8 un URL valido: {1}
+bean_consumer_update_success = Consumer aggiornato con successo!
+
+# ConsumerManagerBean
+bean_consumermanager_invalid_new_consumer_name = E\' necessario un nome di campo non null o non vuoto per il nuovo consumer!
+bean_consumermanager_no_consumer = Non \u00e8 stato selezionato nessun consuer!
+bean_consumermanager_refresh_bypassed = Non \u00e8 necessario alcun aggiornamento.
+bean_consumermanager_refresh_success = Aggiornamento eseguito con successo.
+bean_consumermanager_refresh_failure = Aggiornamento fallito (probabilmente perch\u00e8 le informazioni di registrazione non sono valide).
+bean_consumermanager_refresh_exception = Si \u00e8 verificato un errore inaspettato.
+bean_consumermanager_refresh_modify = Le informazioni locali e remote sono cambiate, dovresti modificare la registrazione al producer remoto.\n\
+Le nuove informazioni locali saranno salvate ma i dati della registrazione corrente non saranno usati finch\u00e8 non modifichi \
+con successo la registrazione al producer.
+
+# ProducerBean
+bean_producer_regpolicy_unset = RegistrationPolicy non inserita
+bean_producer_cannot_save = Non posso salvare la configurazione del producer. Causa: {0}
+bean_producer_cannot_reload = Non posso ricaricare la configurazione del producer. Causa: {0}
+bean_producer_save_success = La configurazione del producer \u00e8 stata salvata con successo!
+bean_producer_cancel_success = Tutte le modifiche fatte al producer sono state annullate!
+
+## RegistrationProperty Status localization
+registration_property_status_inexistent = Non esiste nel producer
+registration_property_status_missing = Mancante
+registration_property_status_missing_value = Valore mancante
+registration_property_status_unchecked_value = Stato non determinto
+registration_property_status_invalid_value = Valore non valido
+registration_property_status_valid = Valido
+
+org.jboss.portal.object.name.admin.WSRP=WSRP
+
+INVALID_NAME_ERROR=''{0}'' non \u00e8 un nome valido di {1} : Non \u00f2 essere null, vuoto o contenere '/', '.', '\\', '<', '>', '(', ')', '=' o '%5c'
+DUPLICATE_ERROR=Un valore {1} con nome ''{0}'' esiste gi\u00e0!
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_ja.properties
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_ja.properties (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_ja.properties 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,172 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2009, 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.
+#
+
+## WSRP GUI localization
+
+# JBoss Portal display information
+
+org.jboss.portal.object.name.admin.WSRP = \u30ea\u30e2\u30fc\u30c8\u30dd\u30fc\u30c8\u30ec\u30c3\u30c8
+org.jboss.portal.object.name.WSRPConfigurationPortlet = WSRP \u8a2d\u5b9a
+org.jboss.portal.instance.name.WSRPConfigurationPortletInstance = WSRP \u8a2d\u5b9a\u30dd\u30fc\u30c8\u30ec\u30c3\u30c8
+
+# Tabs
+nav_tabs_consumers = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de \u8a2d\u5b9a
+nav_tabs_producer_config = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5 \u8a2d\u5b9a
+nav_tabs_producer_management = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u7ba1\u7406
+
+# Object path in consumer template
+path_consumers_root = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de
+path_consumers_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de ''{0}'' \u8a2d\u5b9a
+path_consumers_active = \u30a2\u30af\u30c6\u30a3\u30d6
+path_consumers_inactive = \u30a4\u30f3\u30a2\u30af\u30c6\u30a3\u30d6
+path_consumers_refreshNeeded = (\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u304c\u5fc5\u8981)
+
+# Confirm deletion of a consumer screen
+confirm_delete_consumer_title = ''{0}'' \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u3092\u524a\u9664\u3057\u307e\u3059\u304b?
+confirm_delete_consumer_message = \u3042\u306a\u305f\u306f ''{0}'' \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u3092\u524a\u9664\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059!
+confirm_detete_consumer_proceed = \u672c\u5f53\u306b\u3053\u306e\u4f5c\u696d\u3092\u7d9a\u3051\u307e\u3059\u304b\uff1f
+confirm_delete_consumer_submit = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u524a\u9664
+confirm_delete_consumer_cancel = \u30ad\u30e3\u30f3\u30bb\u30eb
+
+# Confirm deletion of local registration information screen
+confirm_delete_registration_title = ''{0}'' \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u306e\u30ed\u30fc\u30ab\u30eb\u767b\u9332\u3092\u524a\u9664\u3057\u307e\u3059\u304b\uff1f
+confirm_delete_registration_message = ''{0}'' \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u306e\u30ed\u30fc\u30ab\u30eb\u767b\u9332\u60c5\u5831\u3092\u524a\u9664\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059! \n\
+\u3053\u308c\u306f\u3001\u4ee5\u524d\u3001\u3053\u306e\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u304c\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u3068\u3044\u3063\u3057\u3087\u306b\u767b\u9332\u3055\u308c\u3001\u305d\u306e\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u304c\u3082\u3046\u767b\u9332\u3092\u5fc5\u8981\u3068\u3057\u306a\u3044\u5834\u5408\u306e\u307f\u5fc5\u8981\u3067\u3059\u3002\n\
+\u3053\u306e\u7279\u5b9a\u306e\u72b6\u6cc1\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u5834\u5408\u306b\u306e\u307f\u30ed\u30fc\u30ab\u30eb\u306e\u767b\u9332\u60c5\u5831\u3092\u524a\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\
+\u5fc5\u8981\u304c\u306a\u3044\u306e\u306b\u30ed\u30fc\u30ab\u30eb\u767b\u9332\u3092\u524a\u9664\u3059\u308b\u3068\u3001\u305d\u306e\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306f\u52d5\u4f5c\u4e0d\u80fd\u3068\u306a\u308a\u307e\u3059\u3002
+confirm_delete_registration_proceed = \u672c\u5f53\u306b\u3053\u306e\u4f5c\u696d\u3092\u7d9a\u3051\u307e\u3059\u304b\uff1f
+confirm_delete_registration_submit = \u30ed\u30fc\u30ab\u30eb\u767b\u9332\u306e\u524a\u9664
+confirm_delete_registration_cancel = \u30ad\u30e3\u30f3\u30bb\u30eb
+
+# Consumers screen
+consumers_title = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u7ba1\u7406
+consumers_create_title = \u547d\u540d\u3055\u308c\u305f\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u306e\u4f5c\u6210:
+consumers_create_submit = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u4f5c\u6210
+
+# Consumers list
+consumers_table_column_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de
+consumers_table_column_consumer_status = \u30b9\u30c6\u30fc\u30bf\u30b9:
+consumers_table_column_actions = \u30a2\u30af\u30b7\u30e7\u30f3
+consumers_table_action_configure = \u8a2d\u5b9a
+consumers_table_action_refresh = \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5
+consumers_table_action_activate = \u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8
+consumers_table_action_deactivate = \u30c7\u30a3\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8
+consumers_table_action_register = \u767b\u9332
+consumers_table_action_deregister = \u767b\u9332\u62b9\u6d88
+consumers_table_action_delete = \u524a\u9664
+
+# Consumer editing screen
+edit_consumer_producer = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5ID:
+edit_consumer_cache = \u30ad\u30e3\u30c3\u30b7\u30e5\u6709\u52b9\u671f\u9650:
+edit_consumer_cache_seconds = (\u6709\u52b9\u671f\u9650\u524d\u306e\u79d2\u6570)
+edit_consumer_endpoint = \u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u8a2d\u5b9a:
+edit_consumer_endpoint_wsdl = WSDL\u3092\u4f7f\u7528\uff1f
+edit_consumer_endpoint_sd = \u30b5\u30fc\u30d3\u30b9\u8a18\u8ff0URL:
+edit_consumer_endpoint_m = \u30de\u30fc\u30af\u30a2\u30c3\u30d7URL:
+edit_consumer_endpoint_r = \u767b\u9332URL:
+edit_consumer_endpoint_pm = \u30dd\u30fc\u30c8\u30ec\u30c3\u30c8\u7ba1\u7406URL:
+edit_consumer_registration = \u767b\u9332\u60c5\u5831:
+edit_consumer_registration_current = \u73fe\u884c\u306e\u767b\u9332\u60c5\u5831:
+edit_consumer_prop_name = \u540d\u524d
+edit_consumer_prop_desc = \u8aac\u660e
+edit_consumer_prop_value = \u5024
+edit_consumer_registration_update_props = \u30d7\u30ed\u30d1\u30c6\u30a3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8
+edit_consumer_registration_no_props = \u767b\u9332\u306f\u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3\u7121\u3057\u3067\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u8868\u793a\u3055\u308c\u307e\u3059\u3002
+edit_consumer_registration_modify = \u767b\u9332\u306e\u5909\u66f4
+edit_consumer_registration_modify_title = \u3053\u306e\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u6301\u3064\u767b\u9332\u306e\u5909\u66f4
+edit_consumer_registration_expected = \u671f\u5f85\u3055\u308c\u308b\u767b\u9332\u60c5\u5831:
+edit_consumer_no_registration = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306f\u767b\u9332\u5fc5\u9808\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+edit_consumer_registration_context = \u767b\u9332\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8:
+edit_consumer_registration_context_handle = \u30cf\u30f3\u30c9\u30eb:
+edit_consumer_registration_context_erase = \u30ed\u30fc\u30ab\u30eb\u767b\u9332\u306e\u524a\u9664
+edit_consumer_registration_context_erase_title = \u30ed\u30fc\u30ab\u30eb\u767b\u9332\u60c5\u5831\u306e\u524a\u9664 (\u6f5c\u5728\u7684\u306b\u5371\u967a!)
+edit_consumer_refresh = \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\uff06\u4fdd\u5b58
+edit_consumer_refresh_title = \u5909\u66f4\u3092\u4fdd\u5b58\u3057\u3001\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u60c5\u5831\u3092\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u3057\u307e\u3059
+edit_consumer_cancel = \u30ad\u30e3\u30f3\u30bb\u30eb
+
+# Confirm registration property deletion scree
+confirm_delete_reg_property_title = ''{0}'' \u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3\u30c7\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059\u304b?
+confirm_delete_reg_property_message = \u3042\u306a\u305f\u306f ''{0}'' \u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u524a\u9664\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059!
+confirm_delete_reg_property_proceed = \u672c\u5f53\u306b\u3053\u306e\u4f5c\u696d\u3092\u3064\u3065\u3051\u305f\u3044\u3067\u3059\u304b\uff1f
+confirm_delete_reg_property_submit = \u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u524a\u9664
+confirm_delete_reg_property_cancel = \u30ad\u30e3\u30f3\u30bb\u30eb
+
+# Producer configuration screen
+producer_config_title = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5 \u8a2d\u5b9a
+producer_config_sd_requires_reg = \u5b8c\u5168\u306a\u30b5\u30fc\u30d3\u30b9\u8a18\u8ff0\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u767b\u9332\u3055\u308c\u305f\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u304c\u5fc5\u8981\u3002
+producer_config_strict = \u53b3\u683c\u306a WSRP \u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u3092\u4f7f\u7528\u3002
+producer_config_requires_reg = \u767b\u9332\u304c\u5fc5\u8981\u3002\u3053\u306e\u60c5\u5831\u306e\u5909\u66f4\u306f\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u767b\u9332\u306e\u7121\u52b9\u5316\u3092\u5f15\u304d\u8d77\u3053\u3059\u3002
+producer_config_reg_policy = \u767b\u9332\u30dd\u30ea\u30b7\u30fc\u30af\u30e9\u30b9\u540d:
+producer_config_reg_prop_validator = \u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3\u30d0\u30ea\u30c7\u30fc\u30bf\u30af\u30e9\u30b9\u540d:
+producer_config_reg_props = \u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3
+producer_config_reg_prop_name = \u540d\u524d
+producer_config_reg_prop_type = \u30bf\u30a4\u30d7
+producer_config_reg_prop_label = \u30e9\u30d9\u30eb
+producer_config_reg_prop_hint = \u30d2\u30f3\u30c8
+producer_config_reg_prop_action = \u30a2\u30af\u30b7\u30e7\u30f3
+producer_config_reg_prop_remove = \u524a\u9664
+producer_config_no_reg_props = \u5fc5\u8981\u306a\u767b\u9332\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+producer_config_add_reg_prop = \u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u8ffd\u52a0
+producer_config_save = \u4fdd\u5b58
+producer_config_cancel = \u30ad\u30e3\u30f3\u30bb\u30eb
+
+## Localized messages in JSF bean
+
+bean_support_unexpected_error = \u4e88\u60f3\u5916\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:
+bean_support_cause = \u539f\u56e0:
+
+# ConsumerBean
+bean_consumer_cannot_find_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de ''{0}'' \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093!
+bean_consumer_cannot_update_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u304c\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u51fa\u6765\u307e\u305b\u3093!
+bean_consumer_cannot_refresh_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u304c\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u51fa\u6765\u307e\u305b\u3093!
+bean_consumer_modify_reg_success = \u767b\u9332\u304c\u6b63\u3057\u304f\u5909\u66f4\u3055\u308c\u307e\u3057\u305f!
+bean_consumer_invalid_modify = \u30ed\u30fc\u30ab\u30eb\u3067\u5909\u66f4\u3055\u308c\u3066\u3044\u306a\u3044\u767b\u9332\u304c\u4e0d\u6b63\u306b\u5909\u66f4\u3055\u308c\u3088\u3046\u3068\u3057\u307e\u3057\u305f!
+bean_consumer_cannot_modify_reg = \u767b\u9332\u304c\u5909\u66f4\u51fa\u6765\u307e\u305b\u3093!
+bean_consumer_cannot_erase_reg = \u30ed\u30fc\u30ab\u30eb\u767b\u9332\u304c\u524a\u9664\u51fa\u6765\u307e\u305b\u3093!
+bean_consumer_malformed_url = ''{0}'' \u306f\u6709\u52b9\u306aURL\u3067\u306f\u3042\u308a\u307e\u305b\u3093: {1}
+bean_consumer_update_success = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u6210\u529f\u3057\u307e\u3057\u305f!
+
+# ConsumerManagerBean
+bean_consumermanager_invalid_new_consumer_name = null\u3084\u7a7a\u767d\u3067\u306a\u3044\u540d\u524d\u304c\u65b0\u3057\u3044\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u306b\u5fc5\u8981\u3067\u3059!
+bean_consumermanager_no_consumer = \u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u304c\u9078\u629e\u51fa\u6765\u307e\u305b\u3093!
+bean_consumermanager_refresh_bypassed = \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u306f\u5fc5\u8981\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+bean_consumermanager_refresh_success = \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u304c\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+bean_consumermanager_refresh_failure = \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002(\u767b\u9332\u60c5\u5831\u304c\u6709\u52b9\u3067\u306f\u306a\u304b\u3063\u305f\u304b\u3082\u3057\u308c\u307e\u305b\u3093)\u3002
+bean_consumermanager_refresh_exception = \u4e88\u60f3\u5916\u306e\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+bean_consumermanager_refresh_modify = \u30ed\u30fc\u30ab\u30eb\u307e\u305f\u306f\u30ea\u30e2\u30fc\u30c8\u306e\u60c5\u5831\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3001\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u767b\u9332\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\
+\u65b0\u3057\u3044\u30ed\u30fc\u30ab\u30eb\u60c5\u5831\u306f\u4fdd\u5b58\u3055\u308c\u307e\u3059\u304c\u3001\u3042\u306a\u305f\u304c\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u767b\u9332\u3092\u5909\u66f4\u3059\u308b\u307e\u3067\u306f\u73fe\u884c\u306e\u767b\u9332\u30c7\u30fc\u30bf\u304c\u5229\u7528\u3055\u308c\u307e\u3059\u3002
+
+# ProducerBean
+bean_producer_regpolicy_unset = RegistrationPolicy \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+bean_producer_cannot_save = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u8a2d\u5b9a\u304c\u4fdd\u5b58\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u539f\u56e0: {0}
+bean_producer_cannot_reload = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u8a2d\u5b9a\u304c\u30ea\u30ed\u30fc\u30c9\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u539f\u56e0: {0}
+bean_producer_save_success = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u8a2d\u5b9a\u304c\u6b63\u3057\u304f\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f!
+bean_producer_cancel_success = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306e\u8a2d\u5b9a\u3067\u884c\u3063\u305f\u5168\u3066\u306e\u5909\u66f4\u306f\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f!
+
+## RegistrationProperty Status localization
+registration_property_status_inexistent = \u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u306b\u5b58\u5728\u3057\u306a\u3044
+registration_property_status_missing = \u6b20\u640d
+registration_property_status_missing_value = \u6b20\u640d\u5024
+registration_property_status_unchecked_value = \u672a\u77e5\u306e\u72b6\u614b
+registration_property_status_invalid_value = \u7121\u52b9\u306a\u5024
+registration_property_status_valid = \u6709\u52b9
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_pt_BR.properties
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_pt_BR.properties (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/classes/Resource_pt_BR.properties 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,173 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2009, 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.
+#
+
+## WSRP GUI localization
+
+# JBoss Portal display information
+org.jboss.portal.object.name.WSRPConfigurationPortlet = Configura\u00e7\u00e3o WSRP
+org.jboss.portal.instance.name.WSRPConfigurationPortletInstance = Portlet de Configura\u00e7\u00e3o WSRP
+
+# Tabs
+nav_tabs_consumers = Configura\u00e7\u00e3o de Consumidores
+nav_tabs_producer_config = Configura\u00e7\u00e3o de Produtores
+nav_tabs_producer_management = Gerenciamento de Produtores
+
+# Object path in consumer template
+path_consumers_root = Consumidores
+path_consumers_consumer = Configura\u00e7\u00e3o do Consumidor ''{0}''
+path_consumers_active = ativo
+path_consumers_inactive = inativo
+path_consumers_refreshNeeded = (atualiza\u00e7\u00e3o necess\u00e1ria)
+
+# Confirm deletion of a consumer screen
+confirm_delete_consumer_title = Excluir o consumidor ''{0}''?
+confirm_delete_consumer_message = Voc\u00ea est\u00e1 prestes a excluir o consumidor ''{0}''\!
+confirm_detete_consumer_proceed = Tem certeza de que deseja continuar?
+confirm_delete_consumer_submit = Excluir consumidor
+confirm_delete_consumer_cancel = Cancelar
+
+# Confirm deletion of local registration information screen
+confirm_delete_registration_title = Excluir registro local para o consumidor ''{0}''?
+confirm_delete_registration_message = Voc\u00ea est\u00e1 prestes a eliminar o registro local de informa\u00e7\u00f5es para o consumidor ''{0}'\! \nIsso s\u00f3 \u00e9 necess\u00e1rio se esse consumidor tinha anteriormente se registrado com o produtor remoto, e esse produtor tiver sido modificado para n\u00e3o mais exigir registro. \nApenas apague informa\u00e7\u00f5es locais de registro, se esse produtor apresentar erros devido a essa situa\u00e7\u00e3o particular. Apagar o registro local quando n\u00e3o obrigat\u00f3rio pode conduzir \u00e0 incapacidade de utilizar esse produtor.
+confirm_delete_registration_proceed = Tem certeza de que deseja continuar?
+confirm_delete_registration_submit = Excluir registro local
+confirm_delete_registration_cancel = Cancelar
+
+# Consumers screen
+consumers_title = Gerenciar Consumidores
+consumers_create_title = Criar consumidor denominado\:
+consumers_create_submit = Criar Consumidor
+
+# Consumers list
+consumers_table_column_consumer = Consumidor
+consumers_table_column_consumer_status = status:
+consumers_table_column_actions = A\u00e7\u00f5es
+consumers_table_action_configure = Configurar
+consumers_table_action_refresh = Atualizar
+consumers_table_action_activate = Ativar
+consumers_table_action_deactivate = Desativar
+consumers_table_action_register = Registrar
+consumers_table_action_deregister = Cancelar registro
+consumers_table_action_delete = Deletar
+consumers_table_reload = Regarregar consumidores
+
+# Consumer editing screen
+edit_consumer_producer = Id do produtor\:
+edit_consumer_cache = Expira\u00e7\u00e3o do cache\:
+edit_consumer_cache_seconds = (segundos antes de expirar)
+edit_consumer_endpoint = Configura\u00e7\u00e3o do endpoint\:
+edit_consumer_endpoint_wsdl = Utilizar WSDL?
+edit_consumer_endpoint_sd = URL do Service Description\:
+edit_consumer_endpoint_m = URL do Markup\:
+edit_consumer_endpoint_r = URL do Registro\:
+edit_consumer_endpoint_pm = URL do Portlet de Gerenciamento\:
+edit_consumer_registration = Informa\u00e7\u00f5es do registro\:
+edit_consumer_registration_current = Informa\u00e7\u00f5es do registro atual\:
+edit_consumer_prop_name = Nome
+edit_consumer_prop_desc = Descri\u00e7\u00e3o
+edit_consumer_prop_value = Valor
+edit_consumer_registration_update_props = Atualizar propriedades
+edit_consumer_registration_no_props = O registro \u00e9 indicado como obrigat\u00f3rio sem as propriedades do registro.
+edit_consumer_registration_modify = Modificar registro
+edit_consumer_registration_modify_title = Modificar o registro realizado com este produtor
+edit_consumer_registration_expected = Informa\u00e7\u00f5es de registro esperadas\:
+edit_consumer_no_registration = O produtor n\u00e3o requer registro.
+edit_consumer_registration_context = Contexto do registro\:
+edit_consumer_registration_context_handle = Handle:
+edit_consumer_registration_context_erase = Excluir registro local
+edit_consumer_registration_context_erase_title = Excluir informa\u00e7\u00f5es locais de registro (potencialmente perigoso\!)
+edit_consumer_refresh = Atualizar e Gravar
+edit_consumer_refresh_title = Gravar altera\u00e7\u00f5es e atualizar as informa\u00e7\u00f5es do produtor
+edit_consumer_cancel = Cancelar
+
+# Confirm registration property deletion screen
+confirm_delete_reg_property_title = Excluir a descri\u00e7\u00e3o da propriedade de registro ' '(0)''?
+confirm_delete_reg_property_message = Voc\u00ea est\u00e1 prestes a eliminar a descri\u00e7\u00e3o da propriedade de registro ''{0}''\!\n Isso acionar\u00e1 a invalida\u00e7\u00e3o dos registros dos consumidores que ter\u00e3o de modificar suas informa\u00e7\u00e3o de registro.
+confirm_delete_reg_property_proceed = Tem certeza de que deseja continuar?
+confirm_delete_reg_property_submit = Excluir propriedade
+confirm_delete_reg_property_cancel = Cancelar
+
+# Producer configuration screen
+producer_config_title = Configura\u00e7\u00e3o do Produtor
+producer_config_sd_requires_reg = O acesso \u00e0 descri\u00e7\u00e3o completa do servi\u00e7o exige que os consumidores estejam registrados.
+producer_config_strict = Utilizar compatibilidade estrita ao WSRP.
+producer_config_requires_reg = Registro obrigat\u00f3rio. Modificar essa informa\u00e7\u00e3o invalidar\u00e1 os registros dos consumidores.
+producer_config_reg_policy = Nome da classe de pol\u00edtica do registro\:
+producer_config_reg_prop_validator = Nome da classe de valida\u00e7\u00e3o da propriedade do registro\:
+producer_config_reg_props = Propriedades do registro
+producer_config_reg_prop_name = Nome
+producer_config_reg_prop_type = Tipo
+producer_config_reg_prop_label = R\u00f3tulo
+producer_config_reg_prop_hint = Dica
+producer_config_reg_prop_action = A\u00e7\u00e3o
+producer_config_reg_prop_remove = Excluir
+producer_config_no_reg_props = Propriedades obrigat\u00f3rias do registro n\u00e3o especificadas.
+producer_config_add_reg_prop = Adicionar propriedade
+producer_config_save = Gravar
+producer_config_cancel = Cancelar
+
+## Localized messages in JSF beans
+
+bean_support_unexpected_error = Ocorreu um erro inesperado\:
+bean_support_cause = Motivo\:
+CONSUMER_TYPE = Consumidor
+
+# ConsumerBean
+bean_consumer_cannot_find_consumer = N\u00e3o foi poss\u00edvel encontrar o consumidor ''{0}''\!
+bean_consumer_cannot_update_consumer = N\u00e3o foi poss\u00edvel atualizar o consumidor\!
+bean_consumer_cannot_refresh_consumer = N\u00e3o foi poss\u00edvel atualizar o consumidor\!
+bean_consumer_modify_reg_success = Registro modificado com sucesso\!
+bean_consumer_invalid_modify = Tentativa inv\u00e1lida de modificar um registro que n\u00e3o foi modificado localmente\!
+bean_consumer_cannot_modify_reg = N\u00e3o foi poss\u00edvel modificar o registro\!
+bean_consumer_cannot_erase_reg = N\u00e3o foi poss\u00edvel excluir o registro local\!
+bean_consumer_malformed_url = ''{0}'' n\u00e3o \u00e9 uma URL v\u00e1lida\: {1}
+bean_consumer_update_success = Atualiza\u00e7\u00e3o do consumidor realizada com sucesso\!
+
+# ConsumerManagerBean
+bean_consumermanager_invalid_new_consumer_name = Necessita de um nome n\u00e3o nulo, n\u00e3o vazio para o novo consumidor\!
+bean_consumermanager_no_consumer = Nenhum consumidor foi selecionado\!
+bean_consumermanager_refresh_bypassed = N\u00e3o \u00e9 necess\u00e1rio atualizar.
+bean_consumermanager_refresh_success = Atualiza\u00e7\u00e3o bem sucedida.
+bean_consumermanager_refresh_failure = A atualiza\u00e7\u00e3o falhou (provavelmente porque a informa\u00e7\u00e3o de registro n\u00e3o era v\u00e1lida).
+bean_consumermanager_refresh_exception = Ocorreu um erro inesperado.
+bean_consumermanager_refresh_modify = Informa\u00e7\u00e3o local ou remota foi alterada. Voc\u00ea deve modificar o registro com o produtor remoto. \\n Os novos locais de informa\u00e7\u00e3o ser\u00e3o salvos, mas o seu atual registro de dados ser\u00e1 usado at\u00e9 que voc\u00ea modifique o registro com o produtor com sucesso.
+
+# ProducerBean
+bean_producer_regpolicy_unset = RegistrationPolicy n\u00e3o definida
+bean_producer_cannot_save = N\u00e3o foi poss\u00edvel salvar a configura\u00e7\u00e3o do produtor. Motivo\: (0)
+bean_producer_cannot_reload = N\u00e3o foi poss\u00edvel recarregar a configura\u00e7\u00e3o do produtor. Motivo\: {0}
+bean_producer_save_success = Configura\u00e7\u00e3o do producer gravada com sucesso\!
+bean_producer_cancel_success = Todas as modifica\u00e7\u00f5es feitas na configura\u00e7\u00e3o do produtor foram canceladas\!
+
+## RegistrationProperty Status localization
+registration_property_status_inexistent = Produtor inexistente
+registration_property_status_missing = N\u00e3o est\u00e1 presente
+registration_property_status_missing_value = Valor n\u00e3o est\u00e1 presente
+registration_property_status_unchecked_value = Status indeterminado
+registration_property_status_invalid_value = Valor inv\u00e1lido
+registration_property_status_valid = V\u00e1lido
+
+org.jboss.portal.object.name.admin.WSRP=WSRP
+
+INVALID_NAME_ERROR=''{0}'' \u00e9 um nome inv\u00e1lido para {1}\: n\u00e3o deve ser nulo, vazio ou conter os caracteres '/', '.', '\\', '<', '>', '(', ')', '=' ou '%5c'
+DUPLICATE_ERROR=Um {1} denominado ''{0}'' j\u00e1 existe\!
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/faces-config.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/faces-config.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+ "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+
+<faces-config>
+
+ <!-- Facelet portlet view handler-->
+
+ <application>
+ <view-handler>
+ org.jboss.portletbridge.application.PortletViewHandler
+ </view-handler>
+ <navigation-handler>org.jboss.portal.wsrp.admin.ui.RedirectOnNoConsumerNavigationHandler</navigation-handler>
+ <state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>
+ <locale-config>
+ <default-locale>en</default-locale>
+ <supported-locale>fr</supported-locale>
+ <supported-locale>ja</supported-locale>
+ </locale-config>
+ </application>
+
+ <converter>
+ <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-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.faces.gui.JSFBeanContext</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>consumersMgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.wsrp.admin.ui.ConsumerManagerBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>registry</property-name>
+ <property-class>org.jboss.portal.wsrp.consumer.ConsumerRegistry</property-class>
+ <value>#{applicationScope.ConsumerRegistry}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>beanContext</property-name>
+ <property-class>org.jboss.portal.faces.gui.BeanContext</property-class>
+ <value>#{beanContext}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>consumer</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.wsrp.admin.ui.ConsumerBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>beanContext</property-name>
+ <property-class>org.jboss.portal.faces.gui.BeanContext</property-class>
+ <value>#{beanContext}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>registry</property-name>
+ <property-class>org.jboss.portal.wsrp.consumer.ConsumerRegistry</property-class>
+ <value>#{applicationScope.ConsumerRegistry}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>id</property-name>
+ <value>#{sessionScope.consumerId}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>manager</property-name>
+ <value>#{consumersMgr}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>producer</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.wsrp.admin.ui.ProducerBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>configurationService</property-name>
+ <property-class>org.jboss.portal.wsrp.producer.config.ProducerConfigurationService</property-class>
+ <value>#{applicationScope.ProducerConfigurationService}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>beanContext</property-name>
+ <property-class>org.jboss.portal.faces.gui.BeanContext</property-class>
+ <value>#{beanContext}</value>
+ </managed-property>
+ </managed-bean>
+
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>consumers</from-outcome>
+ <to-view-id>/jsf/consumers/consumers.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>configureConsumer</from-outcome>
+ <to-view-id>/jsf/consumers/editConsumer.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>producer</from-outcome>
+ <to-view-id>/jsf/producer/producer.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>confirmPropDeletion</from-outcome>
+ <to-view-id>/jsf/producer/confirmPropDeletion.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>confirmEraseRegistration</from-outcome>
+ <to-view-id>/jsf/consumers/confirmEraseRegistration.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>confirmDeleteConsumer</from-outcome>
+ <to-view-id>/jsf/consumers/confirmDeleteConsumer.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>management</from-outcome>
+ <to-view-id>/jsf/management/management.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+</faces-config>
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/jboss-portlet.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/jboss-portlet.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/jboss-portlet.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,46 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+<!DOCTYPE portlet-app PUBLIC "-//JBoss Portal//DTD JBoss Portlet 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-portlet_2_6.dtd">
+<portlet-app>
+ <portlet>
+ <portlet-name>WSRPConfigurationPortlet</portlet-name>
+ <transaction>
+ <trans-attribute>Required</trans-attribute>
+ </transaction>
+ <header-content>
+ <link rel="stylesheet" type="text/css" href="/style.css" media="screen"/>
+ </header-content>
+ </portlet>
+ <service>
+ <service-name>ConsumerRegistry</service-name>
+ <service-class>org.jboss.portal.wsrp.consumer.ConsumerRegistry</service-class>
+ <service-ref>portal.wsrp:service=ConsumerRegistry</service-ref>
+ </service>
+ <service>
+ <service-name>ProducerConfigurationService</service-name>
+ <service-class>org.jboss.portal.wsrp.producer.config.ProducerConfigurationService</service-class>
+ <service-ref>portal.wsrp:service=ProducerConfiguration</service-ref>
+ </service>
+</portlet-app>
+
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet-instances.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet-instances.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet-instances.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<deployments>
+ <deployment>
+ <instance>
+ <display-name xml:lang="en">WSRP admin portlet</display-name>
+ <display-name xml:lang="fr">Portlet d'administration WSRP</display-name>
+ <display-name xml:lang="pt_BR">Portlet de administração WSRP</display-name>
+ <instance-id>WSRPConfigurationPortletInstance</instance-id>
+ <portlet-ref>WSRPConfigurationPortlet</portlet-ref>
+ <security-constraint>
+ <policy-permission>
+ <role-name>Admin</role-name>
+ <action-name>view</action-name>
+ </policy-permission>
+ </security-constraint>
+ </instance>
+ </deployment>
+</deployments>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/portlet.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,54 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+<portlet-app
+ xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+ version="1.0">
+ <portlet>
+ <description>Configuration portlet for WSRP.</description>
+ <portlet-name>WSRPConfigurationPortlet</portlet-name>
+ <display-name>WSRP Configuration</display-name>
+ <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class>
+ <init-param>
+ <name>javax.portlet.faces.defaultViewId.view</name>
+ <value>/jsf/consumers/consumers.xhtml</value>
+ </init-param>
+ <init-param>
+ <name>javax.portlet.faces.preserveActionParams</name>
+ <value>true</value>
+ </init-param>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <supported-locale>en</supported-locale>
+ <supported-locale>fr</supported-locale>
+ <supported-locale>pt_BR</supported-locale>
+ <resource-bundle>WSRPConfigurationResource</resource-bundle>
+ <portlet-info>
+ <title>WSRP Configuration</title>
+ <keywords>management,admin,wsrp</keywords>
+ </portlet-info>
+ </portlet>
+</portlet-app>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/web.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/web.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <context-param>
+ <param-name>javax.portlet.faces.renderPolicy</param-name>
+ <param-value>ALWAYS_DELEGATE</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>javax.portlet.faces.preserveActionParams</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <!-- Facelet configuration -->
+ <context-param>
+ <param-name>facelets.DEVELOPMENT</param-name>
+ <param-value>false</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.SKIP_COMMENTS</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+ <!-- JSF configuration -->
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>server</param-value>
+ </context-param>
+
+ <servlet>
+ <servlet-name>FacesServlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>FacesServlet</servlet-name>
+ <url-pattern>/faces/*</url-pattern>
+ </servlet-mapping>
+
+
+</web-app>
+
+
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/wsrp-object.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/wsrp-object.xml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/WEB-INF/wsrp-object.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<!DOCTYPE deployments PUBLIC "-//JBoss Portal//DTD Portal Object 2.6//EN"
+ "http://www.jboss.org/portal/dtd/portal-object_2_6.dtd">
+
+<deployments>
+ <deployment>
+ <parent-ref>admin</parent-ref>
+ <if-exists>overwrite</if-exists>
+ <page>
+ <page-name>WSRP</page-name>
+ <supported-locale>ja</supported-locale>
+ <resource-bundle>Resource</resource-bundle>
+ <properties>
+ <property>
+ <name>layout.id</name>
+ <value>1column</value>
+ </property>
+ </properties>
+ <security-constraint>
+ <policy-permission>
+ <action-name>viewrecursive</action-name>
+ <role-name>Admin</role-name>
+ </policy-permission>
+ </security-constraint>
+ <window>
+ <window-name>WSRPConfigurationPortletWindow</window-name>
+ <instance-ref>WSRPConfigurationPortletInstance</instance-ref>
+ <region>center</region>
+ <height>0</height>
+ <properties>
+ <property>
+ <name>theme.renderSetId</name>
+ <value>emptyRenderer</value>
+ </property>
+ </properties>
+ </window>
+ </page>
+ </deployment>
+</deployments>
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/basestyles.css
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/basestyles.css (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/basestyles.css 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,102 @@
+.zero {
+ margin: 0;
+ padding: 0;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-center-margin {
+ margin: 0 auto 0 auto;
+}
+
+.float-left {
+ float: left;
+}
+
+.float-right {
+ float: right;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-right {
+ text-align: right;
+}
+
+.align-top {
+ vertical-align: top;
+}
+
+.half-width {
+ width: 49%;
+}
+
+.quarter-width {
+ width: 24.9%;
+}
+
+.three-quarter-width {
+ width: 74.9%;
+}
+
+.full-width {
+ width: 100%;
+}
+
+.third-width {
+ width: 32.9%;
+}
+
+.two-third-width {
+ width: 65.9%;
+}
+
+.third-width-pad5 {
+ width: 32.5%;
+ padding: 5px;
+}
+
+.two-third-width-pad5 {
+ width: 65.5%;
+ padding: 5px;
+}
+
+.tenpx-top-bottom {
+ margin: 10px 0 10px 0;
+}
+
+.clear {
+ clear: both;
+}
+
+.pad5 {
+ padding: 5px;
+}
+
+.pad10 {
+ padding: 10px
+}
+
+.grey-border {
+ border: 1px solid #B3C0C7;
+}
+
+.dotted-blue-border {
+ font-weight: bold;
+ color: #315896;
+ font-size: 11px;
+ padding: 3px 0 3px 3px;
+ background-image: url(img/section-subHeader-bg.gif);
+ background-position: left top;
+ background-repeat: repeat-x;
+ border: 1px solid #b9c6d7;
+}
+
+.dotted-blue-vert-rt {
+
+}
+
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Activate.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Activate.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Configure.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Configure.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deactivate.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deactivate.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Delete.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Delete.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deregister.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Deregister.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Refresh.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Refresh.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Register.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/actionIcon_Register.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-blue.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-blue.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-vert.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/border-dotted-vert.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/accept.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/accept.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/activate.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/activate.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/add.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/add.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/coordination.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/coordination.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deactivate.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deactivate.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/default.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/default.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete2.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/delete2.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deregister.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/deregister.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/display_names.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/display_names.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/generic_icon.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/generic_icon.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/layout.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/layout.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/make_default.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/make_default.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/refresh.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/refresh.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/register.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/register.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/rename.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/rename.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/security.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/security.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/settings.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/settings.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/theme.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/theme.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_add.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_add.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_copy.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_copy.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_edit.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_error.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_error.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_remove.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/jbp-icon-set/window_remove.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/msgIcon_Warning.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/msgIcon_Warning.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathBackground.png
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathBackground.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathSeparator.png
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/pathSeparator.png
___________________________________________________________________
Name: svn:mime-type
+ image/png
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-header-bg.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-header-bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-subHeader-bg.gif
===================================================================
(Binary files differ)
Property changes on: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/img/section-subHeader-bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/common/template.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/common/template.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/common/template.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,52 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jstl/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets">
+ <f:loadBundle basename="Resource" var="i18n"/>
+
+ <div class="wsrp-consumers-ui">
+ <ui:insert name="topnav">Top navigation</ui:insert>
+
+ <div class="tab-container">
+
+
+ <ui:insert name="objectpath">Object path if needed</ui:insert>
+
+ <div class="wsrp-content-container">
+ <c:if test="#{!empty title}">
+ <h3 class="sectionTitle">${title}</h3>
+ </c:if>
+
+ <!-- Status message -->
+ <h:messages id="status" for="status" infoClass="portlet-msg-success" errorClass="portlet-msg-error"
+ fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
+
+ <!-- Content -->
+ <ui:insert name="content">Content</ui:insert>
+ </div>
+
+ </div>
+ </div>
+</ui:composition>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmDeleteConsumer.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmDeleteConsumer.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmDeleteConsumer.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,68 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="consumerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:jbp="http://www.jboss.org/portal"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value=""/>
+ <ui:define name="content">
+
+ <div class="portlet-msg">
+ <div class="portlet-msg-icon">
+ <h:graphicImage url="/img/msgIcon_Warning.gif" alt="/!\"/>
+ </div>
+ <div class="portlet-msg-body">
+ <h3>
+ <h:outputFormat value="#{i18n.confirm_delete_consumer_title}">
+ <f:param value="#{consumersMgr.selectedConsumer.producerId}"/>
+ </h:outputFormat>
+ </h3>
+
+ <p class="portlet-msg-alert">
+ <h:outputFormat value="#{i18n.confirm_delete_consumer_message}">
+ <f:param value="#{consumersMgr.selectedConsumer.producerId}"/>
+ </h:outputFormat>
+ </p>
+
+ <p class="portlet-class">#{i18n.confirm_detete_consumer_proceed}</p>
+
+ <h:form id="confirm-delete-form">
+ <h:commandLink id="destroy-link" value="#{i18n.confirm_delete_consumer_submit}"
+ action="#{consumersMgr.destroyConsumer}"
+ styleClass="portlet-form-button portlet-section-buttonrow">
+ <f:param name="id" value="#{consumersMgr.selectedConsumer.producerId}"/>
+ </h:commandLink>
+ <h:commandButton id="cancel-link" value="#{i18n.confirm_delete_consumer_cancel}"
+ action="#{consumersMgr.listConsumers}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ </h:form>
+ </div>
+ </div>
+
+ </ui:define>
+
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmEraseRegistration.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmEraseRegistration.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/confirmEraseRegistration.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,66 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="consumerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:jbp="http://www.jboss.org/portal"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value=""/>
+ <ui:define name="content">
+
+ <div class="portlet-msg">
+ <div class="portlet-msg-icon">
+ <h:graphicImage url="/img/msgIcon_Warning.gif" alt="/!\"/>
+ </div>
+ <div class="portlet-msg-body">
+ <h3>
+ <h:outputFormat value="#{i18n.confirm_delete_registration_title}">
+ <f:param value="#{consumer.id}"/>
+ </h:outputFormat>
+ </h3>
+
+ <p class="portlet-msg-alert">
+ <h:outputFormat value="#{i18n.confirm_delete_registration_message}">
+ <f:param value="#{consumer.id}"/>
+ </h:outputFormat>
+ </p>
+
+ <p class="portlet-class">#{i18n.confirm_delete_registration_proceed}</p>
+
+ <h:form id="confirm-erase-form">
+ <h:commandButton id="submit" value="#{i18n.confirm_delete_registration_submit}"
+ action="#{consumer.eraseLocalRegistration}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ <h:commandButton id="cancel" value="#{i18n.confirm_delete_registration_cancel}"
+ action="configureConsumer"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ </h:form>
+ </div>
+ </div>
+
+ </ui:define>
+
+</ui:decorate>
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumerTemplate.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumerTemplate.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumerTemplate.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,70 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="../common/template.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:define name="topnav">
+ <h:form id="cons-temp-form">
+ <ul class="topnav">
+ <li id="currentTab">#{i18n.nav_tabs_consumers}</li>
+ <li>
+ <h:commandLink id="producer-link" value="#{i18n.nav_tabs_producer_config}" action="producer"/>
+ </li>
+ <ui:remove>
+ <li>
+ <h:commandLink id="management-link" value="#{i18n.nav_tabs_producer_management}"
+ action="management"/>
+ </li>
+ </ui:remove>
+ </ul>
+ </h:form>
+ </ui:define>
+
+ <ui:define name="objectpath">
+ <h:form id="cons-temp-form1">
+ <ul class="objectpath">
+ <li class="#{!empty title ? 'selected' : 'pathItem'}">
+ <h:commandLink id="list-cons-link" action="#{consumersMgr.listConsumers}"
+ value="#{i18n.path_consumers_root}"/>
+ </li>
+ <c:if test="#{empty title}">
+ <li class="pathSeparator">
+ <h:graphicImage url="/img/pathSeparator.png" alt=">"/>
+ </li>
+ <li
+ class="#{consumer.active ? 'active' : 'inactive'} #{consumer.refreshNeeded ? 'needsRefresh' : ''}">
+ <h:outputFormat value="#{i18n.path_consumers_consumer}">
+ <f:param value="#{consumer.id}"/>
+ </h:outputFormat>
+ (#{consumer.active ? i18n.path_consumers_active : i18n.path_consumers_inactive})
+ #{consumer.refreshNeeded ? i18n.path_consumers_refreshNeeded : ''}
+ </li>
+ </c:if>
+ </ul>
+ </h:form>
+ </ui:define>
+</ui:decorate>
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumers.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumers.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/consumers.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,113 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="consumerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value="#{i18n.consumers_title}"/>
+
+ <ui:define name="content">
+
+ <!-- Consumer creation -->
+ <h:form id="createConsumer" styleClass="createObjectForm">
+ <span class="portlet-font">#{i18n.consumers_create_title}</span>
+ <h:inputText value="#{consumersMgr.selectedId}" id="consumerName" styleClass="portlet-form-input-field"
+ required="true"/>
+ <h:commandButton id="createConsumerButton" action="#{consumersMgr.createConsumer}"
+ value="#{i18n.consumers_create_submit}" styleClass="portlet-form-button"/>
+ <h:message for="consumerName" errorClass="portlet-msg-error"/>
+ </h:form>
+
+ <br/>
+
+ <!-- Consumers list -->
+ <h:form id="consumer-list-form">
+ <h:dataTable id="consumersList" value="#{consumersMgr.consumers}" var="cons"
+ rendered="#{!consumersMgr.consumersEmpty}"
+ rowClasses="portlet-section-body,portlet-section-alternate" headerClass="portlet-section-header"
+ styleClass="datatable objectList" width="100%">
+ <h:column>
+ <f:facet name="header">
+ #{i18n.consumers_table_column_consumer}
+ <div style="font-size: 90%; display:inline; font-weight: normal;">
+ [#{i18n.consumers_table_column_consumer_status} <span
+ class="active">#{i18n.path_consumers_active}</span>,
+ <span class="inactive">#{i18n.path_consumers_inactive}</span>,
+ <span class="needsRefresh">#{i18n.path_consumers_refreshNeeded}</span>]
+ </div>
+ </f:facet>
+
+ <h:outputText style="display:block; width:100%;"
+ styleClass="#{cons.active ? 'active' : 'inactive'} #{cons.refreshNeeded ? 'needsRefresh' : ''}"
+ value="#{cons.producerId} (#{cons.active ? i18n.path_consumers_active : i18n.path_consumers_inactive})
+ #{cons.refreshNeeded ? i18n.path_consumers_refreshNeeded : ''}"/>
+ </h:column>
+
+ <h:column>
+ <f:facet name="header">#{i18n.consumers_table_column_actions}</f:facet>
+
+ <h:commandLink action="#{consumersMgr.configureConsumer}" styleClass="actionConfigure" id="configure">
+ <f:param name="id" value="#{cons.producerId}"/>
+ #{i18n.consumers_table_action_configure}
+ </h:commandLink>
+ |
+ <h:commandLink action="#{consumersMgr.refreshConsumer}" styleClass="actionRefresh" id="refresh">
+ <f:param name="id" value="#{cons.producerId}"/>
+ #{i18n.consumers_table_action_refresh}
+ </h:commandLink>
+ |
+ <h:commandLink action="#{consumersMgr.activateConsumer}" id="activate"
+ styleClass="#{cons.active ? 'actionDeactivate' : 'actionActivate'}">
+ <f:param name="id" value="#{cons.producerId}"/>
+ <f:param name="activate" value="#{!cons.active}"/>
+ #{cons.active ? i18n.consumers_table_action_deactivate : i18n.consumers_table_action_activate}
+ </h:commandLink>
+ <h:panelGroup
+ rendered="#{!cons.refreshNeeded and cons.active and cons.producerInfo.registrationRequired}">
+ |
+ <h:commandLink action="#{consumersMgr.registerConsumer}" id="register"
+ styleClass="action#{cons.producerInfo.registered ? 'Deregister' : 'Register'}">
+ <f:param name="id" value="#{cons.producerId}"/>
+ <f:param name="register" value="#{!cons.producerInfo.registered}"/>
+ #{cons.producerInfo.registered ? i18n.consumers_table_action_deregister : i18n.consumers_table_action_register}
+ </h:commandLink>
+ </h:panelGroup>
+ |
+ <h:commandLink action="confirmDeleteConsumer" styleClass="actionDelete" id="delete"
+ actionListener="#{consumersMgr.selectConsumer}">
+ <f:param name="id" value="#{cons.producerId}"/>
+ #{i18n.consumers_table_action_delete}
+ </h:commandLink>
+ </h:column>
+ </h:dataTable>
+ </h:form>
+
+ <h:form>
+ <h:commandButton id="createConsumerButton" action="#{consumersMgr.reload}"
+ value="#{i18n.consumers_table_reload}" styleClass="portlet-form-button"/>
+ </h:form>
+ </ui:define>
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/editConsumer.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/editConsumer.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/consumers/editConsumer.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,238 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="consumerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:c="http://java.sun.com/jstl/core">
+<ui:param name="title" value=""/>
+
+<ui:define name="content">
+
+ <hr/>
+
+ <h:form id="edit-cons-form">
+ <table width="100%" class="portlet-table-body #{consumer.active ? 'active' : 'inactive'}">
+ <tr>
+ <th>#{i18n.edit_consumer_producer}</th>
+ <td>
+ <h:inputText id="id" value="#{consumer.id}"/>
+ <h:message styleClass="portlet-msg-error" for="id"/>
+ </td>
+ </tr>
+ <tr>
+ <th>#{i18n.edit_consumer_cache}</th>
+ <td>
+ <h:inputText id="cache" value="#{consumer.cache}"/>
+ #{i18n.edit_consumer_cache_seconds}
+ <h:message styleClass="portlet-msg-error" for="cache"/>
+ </td>
+ </tr>
+ <tr>
+ <th>#{i18n.edit_consumer_endpoint}</th>
+ <td>
+ <h:selectBooleanCheckbox id="useWSDL" value="#{consumer.useWSDL}" onclick="this.form.submit()"
+ valueChangeListener="#{consumer.useWSDLListener}"
+ immediate="true"/>
+ #{i18n.edit_consumer_endpoint_wsdl}
+ <h:message styleClass="portlet-msg-error" for="useWSDL"/>
+
+ <h:panelGroup rendered="#{consumer.useWSDL}">
+ <h:inputText id="wsdl" size="70" value="#{consumer.wsdl}"/>
+ <h:message styleClass="portlet-msg-error"
+ for="wsdl"/>
+ </h:panelGroup>
+
+ <h:panelGroup rendered="#{!consumer.useWSDL}">
+ <table border="0" class='portlet-table-body'>
+ <tr>
+ <th>#{i18n.edit_consumer_endpoint_sd}</th>
+ <td>
+ <h:inputText id="sd" size="70" value="#{consumer.serviceDescription}"/>
+ <h:message
+ styleClass="portlet-msg-error" for="sd"/>
+ </td>
+ </tr>
+ <tr>
+ <th>#{i18n.edit_consumer_endpoint_m}</th>
+ <td>
+ <h:inputText id="m" size="70" value="#{consumer.markup}"/>
+ <h:message
+ styleClass="portlet-msg-error" for="m"/>
+ </td>
+ </tr>
+ <tr>
+ <th>#{i18n.edit_consumer_endpoint_r}</th>
+ <td>
+ <h:inputText id="r" size="70" value="#{consumer.registration}"/>
+ <h:message
+ styleClass="portlet-msg-error"
+ for="r"/>
+ </td>
+ </tr>
+ <tr>
+ <th>#{i18n.edit_consumer_endpoint_pm}</th>
+ <td>
+ <h:inputText id="pm" size="70" value="#{consumer.portletManagement}"/>
+ <h:message
+ styleClass="portlet-msg-error" for="pm"/>
+ </td>
+ </tr>
+ </table>
+ </h:panelGroup>
+ </td>
+ </tr>
+ <c:if test="#{consumer.localInfoPresent}">
+ <tr>
+ <th>#{i18n.edit_consumer_registration}</th>
+ <td>
+ <c:choose>
+ <c:when test="#{consumer.localInfoPresent}">
+ <h3 class="portlet-area-header">#{i18n.edit_consumer_registration_current}</h3>
+ <h:panelGroup styleClass="portlet-area-body">
+ <c:choose>
+ <c:when test="#{consumer.registrationPropertiesEmpty}">
+ <h:dataTable id="existingProps"
+ value="#{consumer.registrationProperties}" var="prop"
+ rowClasses="portlet-section-body,portlet-section-alternate"
+ columnClasses="nameColumn,descColumn,"
+ headerClass="portlet-section-header #{consumer.active ? 'active' : 'inactive'}"
+ styleClass="registration-prop-table #{consumer.active ? 'active' : 'inactive'}"
+ width="100%">
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_name}</f:facet>
+ #{prop.name}
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_desc}</f:facet>
+ #{prop.description.label.value}
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_value}</f:facet>
+ <!-- todo: valueChangeListener not needed anymore when events on RegistrationProperties work -->
+ <h:inputText id="prop-value-input" 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"/>
+ </h:column>
+ </h:dataTable>
+ <h:commandLink id="cons-update-link" action="#{consumer.update}"
+ value="#{i18n.edit_consumer_registration_update_props}"
+ rendered="#{consumer.registered}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ </c:when>
+ <c:otherwise>
+ #{i18n.edit_consumer_registration_no_props}
+ </c:otherwise>
+ </c:choose>
+ <h:commandLink id="modify-reg-link" action="#{consumer.modifyRegistration}"
+ value="#{i18n.edit_consumer_registration_modify}"
+ rendered="#{consumer.registrationLocallyModified}"
+ title="#{i18n.edit_consumer_registration_modify_title}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ <br style="clear:both;"/>
+ </h:panelGroup>
+
+ <br/>
+
+ <c:if test="#{consumer.registrationModified}">
+ <h3 class="portlet-area-header">#{i18n.edit_consumer_registration_expected}</h3>
+ <h:panelGroup styleClass="portlet-area-body">
+ <c:choose>
+ <c:when test="#{consumer.expectedRegistrationPropertiesEmpty}">
+ <h:dataTable id="expectedProps"
+ value="#{consumer.expectedRegistrationProperties}" var="prop"
+ rowClasses="portlet-section-body,portlet-section-alternate"
+ columnClasses="nameColumn,descColumn,"
+ headerClass="portlet-section-header #{consumer.active ? 'active' : 'inactive'}"
+ styleClass="registration-prop-table #{consumer.active ? 'active' : 'inactive'}"
+ width="100%">
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_name}</f:facet>
+ #{prop.name}
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_desc}</f:facet>
+ #{prop.description.label.value}
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.edit_consumer_prop_value}</f:facet>
+ <h:inputText id="prop-value-input" value="#{prop.value}" size="50"/>
+ <h:outputText styleClass="portlet-msg-error" value="#{prop.status}"
+ rendered="#{prop.determinedInvalid}"
+ converter="faces.convert.RegistrationProperty.Status"/>
+ </h:column>
+ </h:dataTable>
+ </c:when>
+ <c:otherwise>
+ #{i18n.edit_consumer_registration_no_props}
+ </c:otherwise>
+ </c:choose>
+ <h:commandLink id="edit-reg-link" action="#{consumer.modifyRegistration}"
+ value="#{i18n.edit_consumer_registration_modify}"
+ title="#{i18n.edit_consumer_registration_modify_title}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ <br style="clear:both;"/>
+ </h:panelGroup>
+ </c:if>
+ </c:when>
+ <c:when test="#{consumer.registrationChecked and !consumer.registrationRequired}">
+ #{i18n.edit_consumer_no_registration}
+ </c:when>
+ </c:choose>
+ </td>
+ </tr>
+ <c:if test="#{!empty consumer.producerInfo.registrationInfo.registrationHandle}">
+ <tr>
+ <th>#{i18n.edit_consumer_registration_context}</th>
+ <td id="handle">
+ #{i18n.edit_consumer_registration_context_handle}
+ <h:outputText
+ value="#{consumer.producerInfo.registrationInfo.registrationHandle}"/>
+ <h:commandLink id="erase-cons-link" action="confirmEraseRegistration"
+ value="#{i18n.edit_consumer_registration_context_erase}"
+ title="#{i18n.edit_consumer_registration_context_erase_title}"
+ styleClass="portlet-form-button"/>
+ </td>
+ </tr>
+ </c:if>
+ </c:if>
+ <tr>
+ <th/>
+ <td class="portlet-section-buttonrow">
+ <h:commandButton id="refresh-cons-link" action="#{consumer.refreshConsumer}"
+ value="#{i18n.edit_consumer_refresh}"
+ title="#{i18n.edit_consumer_refresh_title}"
+ styleClass="portlet-form-button"/>
+ <h:commandLink id="list-cons-link" action="#{consumersMgr.listConsumers}"
+ value="#{i18n.edit_consumer_cancel}" immediate="true"
+ styleClass="portlet-form-button"/>
+ </td>
+ </tr>
+ </table>
+ </h:form>
+</ui:define>
+</ui:decorate>
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/management.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/management.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/management.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,35 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="managementTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value="Producer Management"/>
+
+ <ui:define name="content">
+ <p>Feature not quite ready yet! Check again in future versions of Portal.</p>
+ </ui:define>
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/managementTemplate.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/managementTemplate.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/management/managementTemplate.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,45 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="../common/template.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:define name="topnav">
+ <h:form id="management-temp-link">
+ <ul class="topnav">
+ <li>
+ <h:commandLink id="consumers" action="consumers" value="#{i18n.nav_tabs_consumers}"/>
+ </li>
+ <li>
+ <h:commandLink id="producer" action="producer" value="#{i18n.nav_tabs_producer_config}"/>
+ </li>
+ <li id="currentTab">#{i18n.nav_tabs_producer_management}</li>
+ </ul>
+ </h:form>
+ </ui:define>
+
+ <ui:define name="objectpath"/>
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/confirmPropDeletion.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/confirmPropDeletion.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/confirmPropDeletion.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,65 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="producerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:jbp="http://www.jboss.org/portal"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value=""/>
+ <ui:define name="content">
+
+ <div class="portlet-msg">
+ <div class="portlet-msg-icon">
+ <h:graphicImage url="/img/msgIcon_Warning.gif" alt="/!\"/>
+ </div>
+ <div class="portlet-msg-body">
+ <h3>
+ <h:outputFormat value="#{i18n.confirm_delete_reg_property_title}">
+ <f:param value="#{producer.selectedPropertyName}"/>
+ </h:outputFormat>
+ </h3>
+
+ <p class="portlet-msg-alert">
+ <h:outputFormat value="#{i18n.confirm_delete_reg_property_message}">
+ <f:param value="#{producer.selectedPropertyName}"/>
+ </h:outputFormat>
+ </p>
+
+ <p class="portlet-class">#{i18n.confirm_delete_reg_property_proceed}</p>
+
+ <h:form id="confirm-prop-del-form">
+ <h:commandButton id="confirm-delete" value="#{i18n.confirm_delete_reg_property_submit}"
+ action="#{producer.deleteRegistrationProperty}"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ <h:commandButton id="cancel-delete" value="#{i18n.confirm_delete_reg_property_cancel}" action="producer"
+ styleClass="portlet-form-button portlet-section-buttonrow"/>
+ </h:form>
+ </div>
+ </div>
+
+ </ui:define>
+
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producer.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producer.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producer.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,122 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="producerTemplate.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:param name="title" value="#{i18n.producer_config_title}"/>
+
+ <ui:define name="content">
+ <h:form id="producer-form">
+ <h:panelGrid columns="2" width="100%">
+ <h:selectBooleanCheckbox id="cons-reg-req-check"
+ value="#{producer.registrationRequiredForFullDescription}"/>
+ <h:outputText value="#{i18n.producer_config_sd_requires_reg}"/>
+ <h:selectBooleanCheckbox value="#{producer.strictMode}"/>
+ <h:outputText value="#{i18n.producer_config_strict}"/>
+
+ <h:selectBooleanCheckbox id="req-reg-check" value="#{producer.registrationRequired}" immediate="true"
+ onclick="this.form.submit()"
+ valueChangeListener="#{producer.requireRegistrationListener}"/>
+ <h:outputText value="#{i18n.producer_config_requires_reg}"/>
+
+ <h:outputText value=" " rendered="#{producer.registrationRequired}"/>
+ <h:panelGroup rendered="#{producer.registrationRequired}">
+ <h:panelGrid columns="2" width="100%">
+ <h:outputLabel value="#{i18n.producer_config_reg_policy}" for="registrationPolicy"/>
+ <h:inputText id="registrationPolicy" value="#{producer.registrationPolicyClassName}" size="80"/>
+
+ <h:outputLabel value="#{i18n.producer_config_reg_prop_validator}" for="validator"
+ rendered="#{producer.defaultRegistrationPolicy}"/>
+ <h:inputText id="validator" value="#{producer.validatorClassName}" size="80"
+ rendered="#{producer.defaultRegistrationPolicy}"/>
+
+ </h:panelGrid>
+ </h:panelGroup>
+
+ <h:outputText value=" " rendered="#{producer.registrationRequired}"/>
+ <h:panelGroup rendered="#{producer.registrationRequired}">
+ <h:outputText styleClass="portlet-area-header" value="#{i18n.producer_config_reg_props}"/>
+ <h:panelGroup styleClass="portlet-area-body">
+ <c:choose>
+ <c:when test="#{!empty producer.registrationProperties}">
+ <h:dataTable id="reg-properties" var="property" width="100%"
+ value="#{producer.registrationProperties}"
+ rendered="#{producer.registrationRequired}"
+ headerClass="portlet-section-header">
+ <h:column>
+ <f:facet name="header">#{i18n.producer_config_reg_prop_name}</f:facet>
+ <h:inputText id="name" value="#{property.nameAsString}" size="30"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.producer_config_reg_prop_type}</f:facet>
+ <h:selectOneListbox id="producer-list" disabled="true">
+ <f:selectItems value="#{producer.supportedPropertyTypes}"/>
+ </h:selectOneListbox>
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.producer_config_reg_prop_label}</f:facet>
+ <h:inputText id="label" value="#{property.label}" size="50"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.producer_config_reg_prop_hint}</f:facet>
+ <h:inputText id="hint" value="#{property.hint}" size="50"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">#{i18n.producer_config_reg_prop_action}</f:facet>
+ <h:commandLink id="confirm-delete" action="confirmPropDeletion"
+ value="#{i18n.producer_config_reg_prop_remove}"
+ styleClass="portlet-form-button"
+ actionListener="#{producer.selectProperty}">
+ <f:param name="propName" value="#{property.nameAsString}"/>
+ </h:commandLink>
+ </h:column>
+ </h:dataTable>
+ </c:when>
+ <c:otherwise>
+ <h:outputText value="#{i18n.producer_config_no_reg_props}"/>
+ </c:otherwise>
+ </c:choose>
+
+ <h:commandLink id="add-reg-prop" action="#{producer.addRegistrationProperty}"
+ value="#{i18n.producer_config_add_reg_prop}"
+ styleClass="portlet-form-button"/>
+ </h:panelGroup>
+ </h:panelGroup>
+
+ <h:outputText value=" "/>
+ <h:panelGroup styleClass="portlet-section-buttonrow">
+ <h:commandButton id="save-producer" action="#{producer.save}" value="#{i18n.producer_config_save}"
+ styleClass="portlet-form-button"/>
+ <h:commandButton id="reload-producer" action="#{producer.reloadConfiguration}"
+ value="#{i18n.producer_config_cancel}"
+ styleClass="portlet-form-button"/>
+ </h:panelGroup>
+ </h:panelGrid>
+ </h:form>
+
+ </ui:define>
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producerTemplate.xhtml
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producerTemplate.xhtml (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/jsf/producer/producerTemplate.xhtml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,48 @@
+<!--
+ ~ JBoss, a division of Red Hat
+ ~ Copyright 2009, 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.
+ -->
+
+<ui:decorate template="../common/template.xhtml" xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core">
+
+ <ui:define name="topnav">
+ <h:form id="producer-temp-form">
+ <ul class="topnav">
+ <li>
+ <h:commandLink id="consumersTab" action="consumers" value="#{i18n.nav_tabs_consumers}"/>
+ </li>
+ <li id="currentTab">#{i18n.nav_tabs_producer_config}</li>
+ <ui:remove>
+ <li>
+ <h:commandLink id="prod-manag-link" value="#{i18n.nav_tabs_producer_management}"
+ action="management"/>
+ </li>
+ </ui:remove>
+ </ul>
+ </h:form>
+ </ui:define>
+
+ <ui:define name="objectpath"/>
+</ui:decorate>
\ No newline at end of file
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/style.css
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/style.css (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/main/webapp/style.css 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,350 @@
+@import url(basestyles.css);
+
+.wsrp-consumers-ui table {
+ border: 0;
+ border-collapse: separate;
+}
+
+.wsrp-consumers-ui form {
+ margin: 0;
+ border: 0;
+}
+
+.wsrp-consumers-ui hr {
+ border-top-style: solid;
+}
+
+/* Top nav. */
+
+.wsrp-consumers-ui ul.topnav {
+ padding: 4px 0 3px;
+ border-bottom: 1px solid #b3c0c7;
+ margin: 0;
+}
+
+.wsrp-consumers-ui ul.topnav li {
+ list-style-type: none;
+ display: inline;
+ margin: 0 0 0 5px;
+ padding: 3px 0.5em;
+ border: 1px solid #b3c0c7;
+ border-bottom: none;
+ background-color: #f2f4f5;
+}
+
+.wsrp-consumers-ui ul.topnav li:hover {
+ background-color: #fff;
+}
+
+.wsrp-consumers-ui ul.topnav li#currentTab {
+ background-color: white;
+ border-bottom: 1px solid white;
+}
+
+.wsrp-consumers-ui ul.topnav li#currentTab a:hover {
+}
+
+.wsrp-consumers-ui div.tab-container {
+ border-bottom: 1px solid #B3C0C7;
+ border-right: 1px solid #B3C0C7;
+ border-left: 1px solid #B3C0C7;
+ padding: 15px 0 10px 0;
+}
+
+/* Object path. */
+
+.wsrp-consumers-ui ul.objectpath {
+ list-style-type: none;
+ font-size: 11px;
+ border: solid 1px #bbb;
+ border-left: solid 1px #eee;
+ border-right: solid 1px #eee;
+ background: url(img/pathBackground.png) repeat-x left;
+ height: 21px;
+ margin: 0;
+ padding: 0 0 0 2px;
+}
+
+.wsrp-consumers-ui ul.objectpath li {
+ list-style-type: none;
+ display: block;
+ float: left;
+}
+
+.wsrp-consumers-ui ul li.pathItem {
+ padding-top: 4px;
+ padding-left: 3px;
+ padding-right: 2px;
+}
+
+.wsrp-consumers-ui ul.objectpath li.selected {
+ font-weight: bold;
+ padding-top: 4px;
+ padding-left: 3px;
+ padding-right: 2px;
+}
+
+.wsrp-consumers-ui ul.objectpath a {
+ color: #333333;
+ text-decoration: none;
+}
+
+.wsrp-consumers-ui ul.objectpath a:hover {
+ color: #5078aa;
+ text-decoration: none;
+}
+
+/* Override theme styles */
+.wsrp-consumers-ui h3.sectionTitle {
+ font-weight: bold;
+ color: #315896;
+ font-size: 11px;
+ padding: 3px 0 3px 3px;
+ background: url(img/section-subHeader-bg.gif) repeat-x left top;
+ border: 1px solid #b9c6d7;
+}
+
+.wsrp-consumers-ui .portlet-section-header {
+ background: url(img/pathBackground.png) repeat-x left;
+ font-weight: bold;
+ color: #656565;
+ font-size: 10px;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #999;
+ padding-left: 4px;
+}
+
+.wsrp-consumers-ui .portlet-section-header th {
+ background: url(img/pathBackground.png) repeat-x left;
+ font-weight: bold;
+ color: #656565;
+ font-size: 10px;
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #999;
+ padding-left: 4px;
+}
+
+.wsrp-consumers-ui .actionConfigure {
+ padding: 5px 5px 5px 20px;
+ background: url(img/jbp-icon-set/settings.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionRefresh {
+ padding: 5px 5px 5px 20px;
+ background: url(img/jbp-icon-set/refresh.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionRegister {
+ padding: 5px 5px 5px 24px;
+ background: url(img/jbp-icon-set/register.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionDeregister {
+ padding: 5px 5px 5px 24px;
+ background: url(img/jbp-icon-set/deregister.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionDelete {
+ padding: 5px 5px 5px 20px;
+ background: url(img/jbp-icon-set/delete2.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionActivate {
+ padding: 5px 5px 5px 23px;
+ background: url(img/jbp-icon-set/activate.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui .actionDeactivate {
+ padding: 5px 5px 5px 20px;
+ background: url(img/jbp-icon-set/deactivate.gif) no-repeat left;
+ line-height: 18px;
+ white-space: nowrap;
+}
+
+.wsrp-consumers-ui td {
+ border: 0;
+ padding-bottom: 2px;
+ padding-top: 2px;
+ vertical-align: top;
+}
+
+.wsrp-consumers-ui th {
+ text-align: left;
+ border: 0;
+ vertical-align: top;
+}
+
+.wsrp-consumers-ui .active {
+ background-color: #C7DDB7;
+ font-weight: bold;
+}
+
+.wsrp-consumers-ui table.active {
+ border-bottom: 4px solid #C7DDB7;
+ border-top: 4px solid #C7DDB7;
+ background: inherit;
+ font-weight: normal;
+}
+
+.wsrp-consumers-ui li.active {
+ font-weight: normal;
+ padding-top: 4px;
+ padding-left: 3px;
+ padding-right: 2px;
+ background: inherit;
+}
+
+.wsrp-consumers-ui li.active:before {
+ content: "__";
+ padding: 1px;
+ background-color: #C7DDB7;
+ color: #C7DDB7;
+ border: 1px solid #999;
+}
+
+.wsrp-consumers-ui .inactive {
+ background-color: #EBD1B8;
+}
+
+.wsrp-consumers-ui table.inactive {
+ border-bottom: 4px solid #EBD1B8;
+ border-top: 4px solid #EBD1B8;
+ background: inherit;
+}
+
+.wsrp-consumers-ui li.inactive {
+ font-weight: normal;
+ padding-top: 4px;
+ padding-left: 3px;
+ padding-right: 2px;
+ background: inherit;
+}
+
+.wsrp-consumers-ui li.inactive:before {
+ content: "__";
+ padding: 1px;
+ background-color: #EBD1B8;
+ color: #EBD1B8;
+ border: 1px solid #999;
+}
+
+.wsrp-consumers-ui .needsRefresh {
+ font-style: italic;
+}
+
+.wsrp-consumers-ui .registration-prop-table {
+ text-align: left;
+ width: 100%;
+ margin-bottom: .3em;
+}
+
+.wsrp-consumers-ui .registration-prop-table.active {
+ border: 1px solid #C7DDB7;
+}
+
+.wsrp-consumers-ui .registration-prop-table.active th {
+ background: #C7DDB7 none;
+}
+
+.wsrp-consumers-ui .registration-prop-table.active .portlet-section-alternate {
+ background: #dcf0d0;
+}
+
+.wsrp-consumers-ui .registration-prop-table.inactive, .wsrp-consumers-ui span.inactive {
+ border: 1px solid #EBD1B8;
+}
+
+.wsrp-consumers-ui .registration-prop-table.inactive th {
+ background: #EBD1B8 none;
+}
+
+.wsrp-consumers-ui .registration-prop-table.inactive .portlet-section-alternate {
+ background: #f0f0dd;
+}
+
+.wsrp-consumers-ui .registration-prop-table .nameColumn {
+ width: 20%;
+}
+
+.wsrp-consumers-ui .registration-prop-table .descColumn {
+ width: 20%;
+}
+
+.wsrp-consumers-ui .portlet-section-buttonrow {
+ margin-top: 6px;
+ margin-bottom: 6px;
+ float: right;
+}
+
+.wsrp-consumers-ui #handle a.portlet-form-button {
+ padding: .2em;
+ margin-left: 3em;
+}
+
+.wsrp-consumers-ui .portlet-form-button {
+ padding: .2em;
+ margin: 0 .3em;
+}
+
+.portlet-msg-status:before {
+ content: "Info: "
+}
+
+.portlet-msg-error:before {
+ content: "Error: "
+}
+
+.portlet-msg-alert:before {
+ content: "Warning: "
+}
+
+.wsrp-consumers-ui .portlet-area-header {
+ border: 1px solid #54708c;
+ font-weight: bold;
+ color: #fff;
+ font-size: 11px;
+ background-color: #5986b3;
+ padding: 2px 2px 2px 4px;
+ margin: 0;
+ display: block;
+}
+
+.wsrp-consumers-ui .portlet-area-body {
+ border: 1px solid #d5d5d5;
+ border-top: 0;
+ background-color: #fff;
+ padding: 4px;
+ margin: 0;
+ display: block;
+}
+
+.wsrp-consumers-ui .portlet-msg {
+ border: 1px solid #bbb;
+ margin: 2em auto;
+ padding: 1em;
+ width: 60%;
+}
+
+.wsrp-consumers-ui .portlet-msg-body {
+ position: relative;
+ top: -3em;
+ left: 3em;
+ width: 95%;
+}
+
+.wsrp-consumers-ui .wsrp-content-container {
+ margin: 0 auto 0 auto;
+ width: 98%;
+}
Added: jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/other/ConsumerBeanTestCase.java
===================================================================
--- jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/other/ConsumerBeanTestCase.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/admin-gui/src/test/java/org/jboss/portal/wsrp/other/ConsumerBeanTestCase.java 2009-08-27 11:53:22 UTC (rev 13794)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.other;
+
+import junit.framework.TestCase;
+import org.jboss.portal.wsrp.admin.ui.ConsumerBean;
+
+/**
+ * TODO: re-activate tests once test-support module is updated.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 12612 $
+ * @since 2.6
+ */
+public class ConsumerBeanTestCase extends TestCase
+{
+ private ConsumerBean bean;
+
+ protected void setUp() throws Exception
+ {
+ bean = new ConsumerBean();
+// bean.setRegistry(new MockConsumerRegistry());
+
+ // consumer associated with bean is null at this point so it should be loaded from the registry
+// bean.setId(MockConsumerRegistry.CONSUMER2);
+ }
+
+ // todo: remove when tests are re-activated
+ public void testNothing()
+ {
+ assertTrue(true);
+ }
+
+ /*public void testInitialState()
+ {
+// assertEquals(MockConsumerRegistry.CONSUMER2, bean.getId());
+// assertEquals(MockConsumerRegistry.MOCK_MARKUP, bean.getMarkup());
+// assertEquals(MockConsumerRegistry.MOCK_SERVICE_DESCRIPTION, bean.getServiceDescription());
+ assertFalse(bean.isModified());
+ }
+
+ public void testSetId()
+ {
+ String newId = "newId";
+ bean.setId(newId);
+ assertEquals(newId, bean.getId());
+ assertTrue(bean.isModified());
+ }
+
+ public void testSetCache()
+ {
+ bean.setCache(300);
+ assertEquals(300, bean.getCache().intValue());
+ assertTrue(bean.isModified());
+ }
+
+ private static class TestBeanContext extends BeanContext
+ {
+ public String getParameter(String key)
+ {
+ throw new NotYetImplemented();
+ }
+
+ protected void createMessage(String target, String message, Object severity)
+ {
+ // ignore for tests
+ }
+
+ protected Object getErrorSeverity()
+ {
+ return null;
+ }
+
+ protected Object getInfoSeverity()
+ {
+ return null;
+ }
+
+ protected Locale getLocale()
+ {
+ return Locale.getDefault();
+ }
+
+ public Map<String, Object> getSessionMap()
+ {
+ throw new NotYetImplemented();
+ }
+ }*/
+}
Modified: jbossexo/modules/wsrp/trunk/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/pom.xml 2009-08-27 08:52:48 UTC (rev 13793)
+++ jbossexo/modules/wsrp/trunk/pom.xml 2009-08-27 11:53:22 UTC (rev 13794)
@@ -50,14 +50,11 @@
<modules>
<module>build</module>
<module>api</module>
- <!--<module>wsrp1-rpc</module>-->
<module>wsrp1-ws</module>
<module>common</module>
- <!--<module>test-support</module>-->
+ <module>test-support</module>
<module>producer</module>
<module>consumer</module>
- <!--<module>admin-gui</module>-->
- <!--<module>service</module>-->
- <!--<module>package</module>-->
+ <module>admin-gui</module>
</modules>
</project>
\ No newline at end of file
14 years, 8 months
JBoss Portal SVN: r13793 - docs/enterprise/trunk/Installation_Guide/ja-JP.
by portal-commits@lists.jboss.org
Author: khashida(a)redhat.com
Date: 2009-08-27 04:52:48 -0400 (Thu, 27 Aug 2009)
New Revision: 13793
Modified:
docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
Log:
one module left
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po 2009-08-26 17:07:53 UTC (rev 13792)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Databases.po 2009-08-27 08:52:48 UTC (rev 13793)
@@ -8,7 +8,7 @@
"Project-Id-Version: Databases\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:18+0900\n"
+"PO-Revision-Date: 2009-08-27 11:39+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@
#: Databases.xml:6
#, no-c-format
msgid "Databases"
-msgstr ""
+msgstr "データベース"
#. Tag: para
#: Databases.xml:7
@@ -29,18 +29,20 @@
"The following chapter contains examples for how to use MySQL databases to "
"store JBoss Enterprise Portal user information."
msgstr ""
+"以下の章には、MySQL データベースを使用して JBoss Enterprise Portal のユーザー情報を保存を "
+"する方法のサンプルが収められています。"
#. Tag: title
#: Databases.xml:13
#, no-c-format
msgid "Using a MySQL Database"
-msgstr ""
+msgstr "MySQL データベースの使用法"
#. Tag: title
#: Databases.xml:15
#, no-c-format
msgid "Installing the MySQL RDBMS JDBC connector"
-msgstr ""
+msgstr "MySQL RDBMS JDBC コネクタのインストール"
#. Tag: para
#: Databases.xml:16
@@ -49,6 +51,8 @@
"The RDBMS JDBC MySQL connector is required for JBoss Portal to use a MySQL "
"database:"
msgstr ""
+"RDBMS JDBC MySQL コネクタは MySQL データベースの使用のために JBoss Portal で "
+"必要になります:"
#. Tag: para
#: Databases.xml:22
@@ -58,6 +62,10 @@
"html\">JDBC MySQL connector</ulink> section of dev.mysql.com. Download the "
"<computeroutput>Source and Binaries (zip)</computeroutput> file."
msgstr ""
+"dev.mysql.com の <ulink url=\"http://dev.mysql.com/downloads/connector/j/3.1."
+"html\">JDBC MySQL connector</ulink> セクションを開きます。そこから、 "
+"<computeroutput>Source and Binaries (zip)</computeroutput> ファイルを "
+"ダウンロードします。"
#. Tag: para
#: Databases.xml:27
@@ -66,6 +74,8 @@
"Unzip the <filename>mysql-java-connector</filename> into the desired "
"directory. It does not matter which directory is used."
msgstr ""
+"<filename>mysql-java-connector</filename> を好みのディレクトリ内で "
+"展開します。どのディレクトリでも構いません。"
#. Tag: para
#: Databases.xml:32
@@ -77,12 +87,16 @@
"<filename>$JBOSS_HOME/server/<replaceable>configuration</replaceable>/lib/</"
"filename> directory."
msgstr ""
+"<filename>mysql-java-connector</filename> を抽出したディレクトリに移動します。 "
+"<filename>mysql-connector-java-<replaceable>version-number</replaceable>-bin.jar</filename> ファイルを "
+"<filename>$JBOSS_HOME/server/<replaceable>configuration</replaceable>/lib/</"
+"filename> ディレクトリにコピーします。"
#. Tag: title
#: Databases.xml:38
#, no-c-format
msgid "Data Truncation Errors"
-msgstr ""
+msgstr "データ切り捨てエラー"
#. Tag: para
#: Databases.xml:39
@@ -91,6 +105,8 @@
"If you are running MySQL 5, data truncation errors such as the following may "
"occur:"
msgstr ""
+"MySQL 5 を実行している場合、以下のようなデータ切り捨てエラーが発生することが "
+"あります:"
#. Tag: screen
#: Databases.xml:44
@@ -114,12 +130,19 @@
"trademark>. For further information, please see <ulink url=\"http://wiki."
"jboss.org/wiki/Wiki.jsp?page=AvoidMySQL5DataTruncationErrors\"></ulink>."
msgstr ""
+"MySQL を厳格モード(strict mode)で実行している場合、Linux を稼働している時には "
+"<filename>my.cnf</filename> 内の <computeroutput>sql-mode=</computeroutput> 行から "
+"<computeroutput>STRICT_TRANS_TABLES</computeroutput> を削除します。そして "
+"<trademark class=\"registered\">Windows</trademark> を稼働している時には、<filename>my.cfg</"
+"filename> ファイルから <computeroutput>STRICT_TRANS_TABLES</computeroutput> を削除します。 "
+"詳細情報には、<ulink url=\"http://wiki."
+"jboss.org/wiki/Wiki.jsp?page=AvoidMySQL5DataTruncationErrors\"></ulink> をご覧下さい。"
#. Tag: title
#: Databases.xml:50
#, no-c-format
msgid "Creating a MySQL Database"
-msgstr ""
+msgstr "MySQL データベースの作成"
#. Tag: para
#: Databases.xml:51
@@ -128,6 +151,8 @@
"If you have just installed MySQL, make sure the MySQL server is running, and "
"then run the following command to set the root user password:"
msgstr ""
+"MySQL をインストールしたばかりの場合は、MySQL サーバーが稼働していることを "
+"確認して下さい。そして以下のコマンドを実行して root ユーザーのパスワードを設定します:"
#. Tag: screen
#: Databases.xml:56
@@ -146,6 +171,8 @@
"Run the following command to log in to MySQL. Enter the root user password "
"when prompted:"
msgstr ""
+"次のコマンドを使用して MySQL にログインします。要求された時に root ユーザーの "
+"パスワードを入力します:"
#. Tag: screen
#: Databases.xml:64
@@ -163,6 +190,10 @@
"If you change the database name, please change the name in all necessary "
"configuration files:"
msgstr ""
+"<command>CREATE DATABASE</command> コマンドを使用して、新規の "
+"jbossportal データベースを作成します。このガイドの残りの部分と、この後の設定 "
+"サンプルではデータベース名が jbossportal であることを想定しています。このデータベース名を "
+"変更する場合は、全ての必要な設定ファイル内でその名前を変更して下さい。"
#. Tag: screen
#: Databases.xml:72
@@ -174,7 +205,7 @@
#: Databases.xml:74 Databases.xml:97
#, no-c-format
msgid "The output should be similar to the following:"
-msgstr ""
+msgstr "その出力は以下に似ているはずです:"
#. Tag: screen
#: Databases.xml:78
@@ -189,6 +220,8 @@
"At this point, the <command>SHOW DATABASES;</command> command should display "
"the <command>jbossportal</command> database:"
msgstr ""
+"この時点で、<command>SHOW DATABASES;</command> コマンドは "
+"以下のように <command>jbossportal</command> データベースを表示するはずです:"
#. Tag: screen
#: Databases.xml:84
@@ -218,7 +251,7 @@
#: Databases.xml:86
#, no-c-format
msgid "It is safe to ignore the other databases."
-msgstr ""
+msgstr "他のデータベースは無視しても安全です。"
#. Tag: para
#: Databases.xml:91
@@ -231,6 +264,11 @@
"database. It is recommended that you change the password. Change "
"<replaceable>portalpassword</replaceable> to change the password:"
msgstr ""
+"新規のユーザーを追加して、そのユーザーに jbossportal データベースへのアクセスを "
+"与えます。以下のサンプルでは、パスワード <computeroutput>portalpassword</computeroutput> を "
+"持つ <computeroutput>portal</computeroutput> と言う名前の 新規のユーザーに、 jbossportal データ "
+"ベースへの portal ユーザーアクセスを与えています。このパスワードは変更するように推奨されます。 "
+"<replaceable>portalpassword</replaceable> を変更してパスワードを入れ替えます:"
#. Tag: screen
#: Databases.xml:95
@@ -259,18 +297,20 @@
"If you changed the portal user's password, also change the password in "
"the MySQL Datasource descriptor."
msgstr ""
+"この portal ユーザーのパスワードを変更した場合は、MySQL データソース記述子の "
+"中のパスワードも変更する必要があります。"
#. Tag: title
#: Databases.xml:109
#, no-c-format
msgid "MySQL Datasource Descriptor"
-msgstr ""
+msgstr "MySQL データソース記述子"
#. Tag: para
#: Databases.xml:110
#, no-c-format
msgid "To install the MySQL Datasource descriptor:"
-msgstr ""
+msgstr "MySQL データソース記述子のインストール:"
#. Tag: para
#: Databases.xml:116
@@ -282,6 +322,12 @@
"filename> directory. If you are running MySQL 5, use <filename>portal-mysql5-"
"ds.xml</filename>, otherwise use <filename>portal-mysql-ds.xml</filename>."
msgstr ""
+"JBoss Portal の抽出先である <filename>setup</filename> サブディレクトリに "
+"移動します。MySQL データソース記述子を <filename>"
+"$JBOSS_HOME/server/<replaceable>configuration</replaceable>/deploy/</"
+"filename> ディレクトリにコピーします。MySQL 5 を実行している場合は、<filename>portal-mysql5-"
+"ds.xml</filename> を使用します。それ以外の場合は、<filename>portal-mysql-ds.xml</filename> を "
+"使用します。"
#. Tag: para
#: Databases.xml:121
@@ -294,12 +340,17 @@
"username and password for the user who has access to the jbossportal "
"database."
msgstr ""
+"データソース記述子内の <computeroutput><user-name><replaceable>portal</"
+"replaceable></user-name></computeroutput> セクションと <computeroutput><"
+"password><replaceable>portalpassword</replaceable></password></"
+"computeroutput> セクションを更新して、 jbossportal データベースへのアクセスを持つ "
+"ユーザー用の正しいユーザー名とパスワードを反映させます。"
#. Tag: title
#: Databases.xml:127
#, no-c-format
msgid "MySQL Table Errors"
-msgstr ""
+msgstr "MySQL テーブルエラー"
#. Tag: para
#: Databases.xml:128
@@ -312,6 +363,11 @@
"are created during initial startup, errors such as the following may occur, "
"but are safe to ignore:"
msgstr ""
+"テーブルは、 JBoss Portal が最初にスタートする時に自動的にセットアップされます。 "
+"当初は、2人のユーザーが jbossportal MySQL データベースに保存されます。ユーザー名「user」"
+"とパスワード「user」を持つ通常ユーザーと、ユーザー名「admin」とパスワード「admin」を"
+"持つ管理ユーザーです。データベーステーブルは初期のスタートアップ時に作成されるため、以下の "
+"ようなエラーが発生する可能性がありますが、無視しても安全です:"
#. Tag: screen
#: Databases.xml:133
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-26 17:07:53 UTC (rev 13792)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Getting_Started.po 2009-08-27 08:52:48 UTC (rev 13793)
@@ -8,7 +8,7 @@
"Project-Id-Version: Getting_Started\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:18+0900\n"
+"PO-Revision-Date: 2009-08-27 17:51+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,13 +20,13 @@
#: Getting_Started.xml:6
#, no-c-format
msgid "Getting Started"
-msgstr ""
+msgstr "スタートしましょう"
#. Tag: title
#: Getting_Started.xml:8
#, no-c-format
msgid "Pre-Requisites"
-msgstr ""
+msgstr "前提条件"
#. Tag: para
#: Getting_Started.xml:9
@@ -40,12 +40,19 @@
"aware of. Refer to <ulink url=\"http://www.jboss.org/community/docs/DOC-10687"
"\"></ulink> for more information."
msgstr ""
+"JDK と &JBEPP; をインストールするために十分なディスク領域を確保している必要が "
+"あると共に、使用予定のアプリケーション用にも余分の領域を準備しておく必要が "
+"あります。&JBEPP; をインストールする前に、稼働する Java のインストールがなければ "
+"なりません。JBoss は 100% 純粋な Java であるため、Java をサポートするオペレーティング "
+"システム/プラットフォームのいずれでも JBoss が使用できます。しかし、一部に注意すべき "
+"オペレーティングシステム特有の問題が存在します。詳細は <ulink url=\"http://www.jboss.org/community/docs/DOC-10687"
+"\"></ulink> でご覧下さい。"
#. Tag: title
#: Getting_Started.xml:13
#, no-c-format
msgid "Hardware and Operating System Requirements"
-msgstr ""
+msgstr "ハードウェアとオペレーティングシステムの要件"
#. Tag: para
#: Getting_Started.xml:15
@@ -56,12 +63,17 @@
"jboss.com/products/platforms/application/testedconfigurations\">http://www."
"jboss.com/products/platforms/application/testedconfigurations</ulink>."
msgstr ""
+"サポートのあるオペレーティングシステム/JVM の組み合わせと、サポートのある "
+"データベースプラットフォームに関する最新情報については、<ulink url=\"http://www."
+"jboss.com/products/platforms/application/testedconfigurations\">http://www."
+"jboss.com/products/platforms/application/testedconfigurations</ulink> を参照 "
+"して下さい。"
#. Tag: title
#: Getting_Started.xml:241
#, no-c-format
msgid "Configuring Your Java Environment"
-msgstr ""
+msgstr "使用する Java 環境の設定"
#. Tag: para
#: Getting_Started.xml:242
@@ -74,12 +86,18 @@
"Windows Platform. But before we do that let's take a look at some of the "
"benefits of using a 64-bit JVM."
msgstr ""
+"&JBEPP; をインストールする前に、稼働する <emphasis role=\"bold\">JDK 1.5</"
+"emphasis> のインストールが必要です。必要に応じて 32-bit 又は 64-bit の JVM を "
+"インストールすることができます。このガイドでは、汎用 Linux プラットフォーム、 "
+"及び Microsoft Windows プラットフォームでの RHN を使用した 32-bit Sun JDK 5.0 の "
+"インストール方法を説明していきます。その前に 64-bit JVM の使用に於ける利便性を "
+"いくつか見てみましょう。"
#. Tag: title
#: Getting_Started.xml:245
#, no-c-format
msgid "Benefits of 64-bit JVM on 64-bit OS and Hardware:"
-msgstr ""
+msgstr "64-bit OS とハードウェア上の 64-bit JVM の利便性"
#. Tag: para
#: Getting_Started.xml:247
@@ -88,6 +106,8 @@
"Wider datapath: The pipe between RAM and CPU is doubled, which improves the "
"performance of memory-bound applications."
msgstr ""
+"より広域なデータパス: RAM と CPU 間のパイプが2倍になり、これがメモリー依存の "
+"アプリケーションのパフォーマンスを向上します。"
#. Tag: para
#: Getting_Started.xml:252
@@ -96,6 +116,8 @@
"64-bit memory addressing gives virtually unlimited (1 exabyte) heap "
"allocation. However large heaps affect garbage collection."
msgstr ""
+"64-bit のメモリーアドレッシングは実質的に無制限の (1 exabyte) heap の"
+"割り当てを与えます。しかし大量の heap はごみ収集に影響します。"
#. Tag: para
#: Getting_Started.xml:257
@@ -104,6 +126,8 @@
"Applications that run with more than 1.5GB of RAM (including free space for "
"garbage collection optimization) should utilize the 64-bit JVM."
msgstr ""
+"1.5GB 以上の RAM (ごみ収集最適化用の空き領域を含む)で実行する "
+"アプリケーションは 64-bit JVM を活用すべきです。"
#. Tag: para
#: Getting_Started.xml:262
@@ -114,12 +138,16 @@
"bit hardware with the same relative clock speed and architecture is not "
"likely to run Java applications faster than their 32-bit cousin."
msgstr ""
+"32-bit JVM 上で実行して、最低サイズの heap だけを必要とするアプリケーションは "
+"64-bit JVM から何も得るものはありません。メモリー問題を除いては、同じ相対"
+"クロックスピードとアーキテクチャを持つ 64-bit ハードウェアは、32-bit のものより速く "
+"Java アプリケーションを作動する可能性はありません。"
#. Tag: title
#: Getting_Started.xml:268
#, no-c-format
msgid "Installing and Configuring 32-bit Sun JDK 5.0 using RHN"
-msgstr ""
+msgstr "RHN を使用した 32-bit Sun JDK 5.0 のインストールと設定"
#. Tag: para
#: Getting_Started.xml:270
@@ -129,12 +157,15 @@
"channel for your Linux variant and architecture. Depending on the "
"architecture, the channel names are:"
msgstr ""
+"Java SDK は Linux の異種版とアーキテクチャ用に Red Hat Enterprise Linux 5 の"
+"Supplementary チャンネルで提供されています。アーキテクチャによってチャンネル名が "
+"以下のようになっています:"
#. Tag: para
#: Getting_Started.xml:273
#, no-c-format
msgid "rhel-i386-server-supplementary-5 and rhel-x86_64-server-supplementary-5"
-msgstr ""
+msgstr "rhel-i386-server-supplementary-5 及び rhel-x86_64-server-supplementary-5"
#. Tag: para
#: Getting_Started.xml:276
@@ -145,6 +176,10 @@
"sun</command> SDKs are available from these channels. Make sure you also "
"install the <command moreinfo=\"none\">-devel</command> subpackages."
msgstr ""
+"<command moreinfo=\"none\">java-1.5.0-bea</command> と、<command moreinfo="
+"\"none\">java-1.5.0-ibm</command> と、<command moreinfo=\"none\">java-1.5.0-"
+"sun</command> の SDK はこれらのチャンネルから取得できます。<command moreinfo=\"none\">-devel</command> "
+"サブパッケージも確実にインストールしてください。"
#. Tag: para
#: Getting_Started.xml:286
@@ -155,6 +190,9 @@
"and <command moreinfo=\"none\">java_sdk_1.5.0</command> (setting <command "
"moreinfo=\"none\">java_sdk_1.5.0</command> is optional)."
msgstr ""
+"<command moreinfo=\"none\">java</command> と、<command moreinfo=\"none\">javac</command> と、 "
+"<command moreinfo=\"none\">java_sdk_1.5.0</command> 用に <command moreinfo=\"none\"> "
+"alternatives</command> を選択。(<command moreinfo=\"none\">java_sdk_1.5.0</command> の設定はオプション)"
#. Tag: para
#: Getting_Started.xml:290
@@ -165,6 +203,10 @@
"choice can often be overridden by setting the <command moreinfo=\"none"
"\">JAVA_HOME</command> environment variable."
msgstr ""
+"これは、SysV サービススクリプトを使用したい場合や、インストール済みの SDK を "
+"システム内でデフォルトの java と javac にしたい場合のみに必要になります。この選択は "
+"多くの場合、<command moreinfo=\"none\">JAVA_HOME</command> 環境変数を "
+"セットすることにより上書きができます。"
#. Tag: para
#: Getting_Started.xml:297
@@ -175,12 +217,16 @@
"system. You should make sure the desired one is selected so that the service "
"script uses the one you want."
msgstr ""
+"<command moreinfo=\"none\">alternatives</command> システムの使用により、 "
+"異なるソースからの Java の異なるバージョンが使用システム上で共存できるように "
+"なります。サービススクリプトが目的のバージョンを確実に使用する為に、そのバージョンが "
+"選択されていることを確認すべきです。"
#. Tag: para
#: Getting_Started.xml:301
#, no-c-format
msgid "As root, issue the following command:"
-msgstr ""
+msgstr "root として以下のコマンドを発行します:"
#. Tag: screen
#: Getting_Started.xml:304
@@ -195,6 +241,8 @@
"and make sure the desired one is selected (marked with a '+'), or select it "
"by entering its number as prompted."
msgstr ""
+"そして、目的のもの('+' の印がある)が選択されていることを確認するか、 "
+"又は、プロンプトに応じてその番号を入力してそれを選択します。"
#. Tag: para
#: Getting_Started.xml:309
@@ -204,12 +252,14 @@
"<command moreinfo=\"none\">java_sdk_1.5.0.</command> We recommend that all "
"point to the same manufacturer and version."
msgstr ""
+"<command moreinfo=\"none\">javac</command> と <command moreinfo=\"none\">java_sdk_1.5.0.</command> にも "
+"確実に同じことを繰り返すようにして下さい。全てが同じ製造元とバージョンを示すようにすることを推奨します。"
#. Tag: title
#: Getting_Started.xml:315
#, no-c-format
msgid "Installing and Configuring 32-bit Sun JDK 5.0 on a generic Linux platform"
-msgstr ""
+msgstr "汎用 Linux プラットフォーム上で 32-bit Sun JDK 5.0 のインストールと設定"
#. Tag: para
#: Getting_Started.xml:317
@@ -223,6 +273,12 @@
"platform.</para></footnote>. Read the instructions on Sun's website for "
"installing the JDK."
msgstr ""
+"Sun JDK 5.0 (Java 2 Development Kit) を Sun のウェブサイト: "
+"<ulink url=\"http://java.sun.com/javase/downloads/index_jdk5.jsp\"></ulink> から "
+"ダウンロードします。ダウンロード用に \"JDK 5.0 Update <x>\" (ここで x とは最新バージョン)を "
+"選択して、それから Linux 対応<footnote><para>ご使用のプラットフォーム用に適切なファイルを選択することに "
+"注意して下さい。</para></footnote>の \"RPM in self-extracting\" ファイルを選択します。JDK のインストールに "
+"ついては、Sun のウェブサイトにある案内をご覧下さい。"
#. Tag: para
#: Getting_Started.xml:322
@@ -233,6 +289,10 @@
"\" file. In that case you can skip the next step mentioned here. But it is "
"recommended to use the SysV service scripts for production servers."
msgstr ""
+"SysV サービススクリプトを使用したくない場合は、\"RPM in self-extracting\" ファイルを選択 "
+"するのではなく、Linux 対応の \"self-extracting file\" をインストールすることができます。 "
+"その場合は、この説明の次のステップは無視できます。しかし、実稼働サーバーには "
+"SysV サービススクリプトの使用が推奨されます。"
#. Tag: para
#: Getting_Started.xml:327
@@ -244,6 +304,10 @@
"choose a matching version of the <literal>-compat</literal> package to the "
"JDK you installed."
msgstr ""
+"適切な <literal>-compat RPM</literal> を <literal>JPackage</literal> <ulink url=\"ftp://jpackage.hmdc.harvard.edu/"
+"JPackage/1.7/generic/RPMS.non-free/\"> here</ulink> からダウンロードします。インストールした "
+"JDK と一致するバージョンの <literal>-compat</literal> パッケージをインストールすることを確認 "
+"して下さい。"
#. Tag: para
#: Getting_Started.xml:335
@@ -260,6 +324,15 @@
"</programlisting> Set this variable for the user account doing the "
"installation and also for the user account that will run the server."
msgstr ""
+"JDK インストールのディレクトリを指す環境変数を作成して、それを <literal>JAVA_HOME</literal> と "
+"します。システムパスに <literal>$JAVA_HOME/bin</literal> を追加して、コマンドラインから "
+"<literal>java</literal> の実行に使用できるようにします。これは自分のホームディレクトリの "
+"<filename>.bashrc</filename> ファイルに以下の行を追加することで達成できます。<programlisting>\n"
+"#In this example /usr/java/jdk1.5.0_11 is the JDK installation directory.\n"
+"export JAVA_HOME=/usr/java/jdk1.5.0_11\n"
+"export PATH=$PATH:$JAVA_HOME/bin\n"
+"</programlisting> インストールを実行しているユーザーのアカウントにこの変数をセットし、また "
+"サーバーを実行するユーザーアカウントにもセットします。"
#. Tag: para
#: Getting_Started.xml:341
@@ -271,12 +344,17 @@
"alternatives system. The alternatives system allows different versions of "
"Java, from different sources to co-exist on your system."
msgstr ""
+"使用中のマシンに複数の JVM バージョンをインストールしている場合は、デフォルトの "
+"<literal>java</literal> と <literal>javac</literal>として "
+"JDK1.5 インストールを使用することを確実にして下さい。これは代替(alternatives)システムを "
+"使用して達成できます。代替システムの使用により、異なるソースからの異なる Java バージョンが "
+"システム上で共存できるようになります。"
#. Tag: title
#: Getting_Started.xml:344
#, no-c-format
msgid "Select alternatives for java, javac and java_sdk_1.5.0"
-msgstr ""
+msgstr "java、javac、及び java_sdk_1.5.0 用に代替を選択"
#. Tag: para
#: Getting_Started.xml:346
@@ -295,6 +373,18 @@
"literal> in this case] is selected (marked with a '+' in the "
"output), or select it by entering its number as prompted."
msgstr ""
+"root として、シェルプロンプトで以下のコマンドを入力すると、次の出力が "
+"出ます:<programlisting>\n"
+"[root@vsr ~]$ /usr/sbin/alternatives --config java\n"
+"There are 2 programs which provide 'java'.\n"
+"Selection Command\n"
+"-----------------------------------------------\n"
+" 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java\n"
+"*+ 2 /usr/lib/jvm/jre-1.5.0-sun/bin/java\n"
+"Enter to keep the current selection[+], or type selection number:\n"
+"</programlisting> Sun のバージョン(この例では、<literal>jre-1.5.0-sun</"
+"literal>)が選択されていること(出力に+ の印)を確認して下さい。又は "
+"プロンプトに応じてその番号を入力してそれを選択します。"
#. Tag: para
#: Getting_Started.xml:352
@@ -317,6 +407,22 @@
"</programlisting> You should verify that java, javac and java_sdk_1.5.0 all "
"point to the same manufacturer and version."
msgstr ""
+"javac と java_sdk_1.5.0 用にも同じ操作を繰り返します。<programlisting>\n"
+"[root@vsr ~]$ /usr/sbin/alternatives --config javac\n"
+"There are 1 programs which provide 'javac'.\n"
+" Selection Command\n"
+"-----------------------------------------------\n"
+"*+ 1 /usr/lib/jvm/java-1.5.0-sun/bin/javac\n"
+"Enter to keep the current selection[+], or type selection number:\n"
+"</programlisting> <programlisting>\n"
+"[root@vsr ~]$ /usr/sbin/alternatives --config java_sdk_1.5.0\n"
+"There are 1 programs which provide 'java_sdk_1.5.0'.\n"
+" Selection Command\n"
+"-----------------------------------------------\n"
+"*+ 1 /usr/lib/jvm/java-1.5.0-sun\n"
+"Enter to keep the current selection[+], or type selection number:\n"
+"</programlisting> java と、javac と、java_sdk_1.5.0 の全てが同じ "
+"製造元とバージョンを示していることを確認する必要があります。"
#. Tag: para
#: Getting_Started.xml:361
@@ -325,6 +431,8 @@
"You can always override this step by setting the <literal>JAVA_HOME</"
"literal> environment variable as explained in the previous step."
msgstr ""
+"この状況は、以前のステップで説明してあるように <literal>JAVA_HOME</"
+"literal> 環境変数をセットすることにより、いつでも上書きすることができます。"
#. Tag: para
#: Getting_Started.xml:367
@@ -335,6 +443,10 @@
"type <literal>java -version</literal> at the shell prompt and you should see "
"something like this:"
msgstr ""
+"<literal>java</literal> 実行ファイルが使用パス内にあること、及び適切な "
+"バージョンを使用していることを確認して下さい。Java 環境を確認するには、 "
+"シェルプロンプトで <literal>java -version</literal> と入力すると、以下のような "
+"出力が得られます:"
#. Tag: programlisting
#: Getting_Started.xml:368
@@ -354,7 +466,7 @@
#: Getting_Started.xml:373
#, no-c-format
msgid "Installing and Configuring 32-bit Sun JDK 5.0 on Microsoft Windows"
-msgstr ""
+msgstr "Microsoft Windows 上で 2-bit Sun JDK 5.0 のインストールと設定"
#. Tag: para
#: Getting_Started.xml:375
@@ -366,6 +478,10 @@
"for download and then select your Windows Platform options to perform the "
"installation."
msgstr ""
+"Sun JDK 5.0 (Java 2 Development Kit) を Sun の ウェブサイト: "
+"<ulink url=\"http://java.sun.com/javase/downloads/index_jdk5.jsp\"></ulink> から "
+"ダウンロードします。ダウンロード用に \"JDK 5.0 Update <x>\" (ここで x は最新の更新番号)を "
+"選択して、それから Windows プラットフォームのオプションを選択してインストールを実行します。"
#. Tag: para
#: Getting_Started.xml:380
@@ -380,4 +496,11 @@
"View if necessary, open the System Control Panel applet, select the Advanced "
"Tab, and click on the Environment Variables button."
msgstr ""
+"<literal>JAVA_HOME</literal> と言う環境変数を作成して、それが JDK インストールの "
+"ディレクトリを指すようにします。例えば: <literal>C:\\Program "
+"Files\\Java\\jdk1.5.0_11\\</literal> コマンドラインから java を実行するために、 "
+"使用パスに <literal>jre\\bin</literal> ディレクトリを追加します。例えば: "
+"<literal>C:\\Program Files\\Java\\jdk1.5.0_11\\jre\\bin</literal> これを実行するには、 "
+"システムコントロールパネルのアイコンを開き、高度なタブ(Advanced Tab)を選択して、 "
+"環境変数ボタンをクリックします。"
14 years, 8 months
JBoss Portal SVN: r13792 - in jbossexo/modules/wsrp/trunk/producer: src/assemble and 1 other directory.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-08-26 13:07:53 -0400 (Wed, 26 Aug 2009)
New Revision: 13792
Modified:
jbossexo/modules/wsrp/trunk/producer/pom.xml
jbossexo/modules/wsrp/trunk/producer/src/assemble/wsrp-producer-war.xml
Log:
- Reverted back to using assembly plugin so that we can get a jar to be used by admin GUI as an artifact.
- Added classes to assembly descriptors though the method of adding them is rather crappy... :(
Modified: jbossexo/modules/wsrp/trunk/producer/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/pom.xml 2009-08-26 10:12:59 UTC (rev 13791)
+++ jbossexo/modules/wsrp/trunk/producer/pom.xml 2009-08-26 17:07:53 UTC (rev 13792)
@@ -31,7 +31,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>producer</artifactId>
- <packaging>war</packaging>
+ <packaging>jar</packaging>
<name>JBoss Portal WSRP Producer</name>
<dependencies>
@@ -119,6 +119,24 @@
<target>1.5</target>
</configuration>
</plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assemble/wsrp-producer-war.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
Modified: jbossexo/modules/wsrp/trunk/producer/src/assemble/wsrp-producer-war.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/assemble/wsrp-producer-war.xml 2009-08-26 10:12:59 UTC (rev 13791)
+++ jbossexo/modules/wsrp/trunk/producer/src/assemble/wsrp-producer-war.xml 2009-08-26 17:07:53 UTC (rev 13792)
@@ -34,6 +34,10 @@
<directory>src/main/webapp</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
+ <fileSet>
+ <directory>target/classes</directory>
+ <outputDirectory>/WEB-INF/classes</outputDirectory>
+ </fileSet>
</fileSets>
</assembly>
14 years, 8 months
JBoss Portal SVN: r13791 - in jbossexo/modules/wsrp/trunk/producer: src/main/java/org/jboss/portal and 3 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-08-26 06:12:59 -0400 (Wed, 26 Aug 2009)
New Revision: 13791
Added:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Consumer.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerCapabilities.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerGroup.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/DuplicateRegistrationException.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/InvalidConsumerDataException.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/NoSuchRegistrationException.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/PropertyDescription.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Registration.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationException.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationFailedException.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationLocal.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPersistenceManager.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicy.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicyChangeListener.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPropertyChangeListener.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationStatus.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationUtils.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerCapabilitiesImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerGroupImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationManagerImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationPersistenceManagerImpl.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPolicy.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPropertyValidator.java
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/RegistrationPropertyValidator.java
Modified:
jbossexo/modules/wsrp/trunk/producer/pom.xml
Log:
- Merged formerly extracted registration module into producer module as it won't be used for anything else, normally.
Modified: jbossexo/modules/wsrp/trunk/producer/pom.xml
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/pom.xml 2009-08-26 08:30:21 UTC (rev 13790)
+++ jbossexo/modules/wsrp/trunk/producer/pom.xml 2009-08-26 10:12:59 UTC (rev 13791)
@@ -58,16 +58,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.jboss.portal.registration</groupId>
- <artifactId>registration-api</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.portal.registration</groupId>
- <artifactId>registration-impl</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>org.jboss.portal.portlet</groupId>
<artifactId>portlet-portlet</artifactId>
<version>${version.portlet}</version>
@@ -79,45 +69,6 @@
<version>${version.portlet}</version>
<scope>provided</scope>
</dependency>
- <!-- <dependency>
- <groupId>org.jboss.portal.jems</groupId>
- <artifactId>jems</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>-->
-
- <!-- JBoss dependencies -->
- <!--<dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common</artifactId>
- <version>${version.jbossas}</version>
- </dependency>-->
- <!--<dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-system</artifactId>
- <version>${version.jbossas}</version>
- </dependency>-->
- <!-- For JBoss AOP -->
- <!--<dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-jmx</artifactId>
- <version>${version.jbossas}</version>
- </dependency>-->
- <!-- Services & Hibernate dependencies -->
- <!--<dependency>
- <groupId>org.jboss.portal.jems</groupId>
- <artifactId>jems</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>-->
-
-
- <!-- other dependencies -->
- <!-- <dependency>
- <groupId>javax.xml</groupId>
- <artifactId>jaxrpc-api</artifactId>
- <version>${version.jaxrpc}</version>
- <scope>provided</scope>
- </dependency>-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Consumer.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Consumer.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Consumer.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,93 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.util.Collection;
+
+/**
+ * An entity that groups several registrations under the same scope, for exemple a Consumer entity could be related to
+ * several registrations for the same consumer with different capabilities.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @author @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision:5641 $
+ * @since 2.6
+ */
+public interface Consumer
+{
+
+ /**
+ * Return the consumer name.
+ *
+ * @return the consumer name
+ */
+ String getName();
+
+ /**
+ * Return the registration status of the consumer entity.
+ *
+ * @return the registration stats.
+ */
+ RegistrationStatus getStatus();
+
+ /**
+ * Set the registration status of the consumer entity.
+ *
+ * @param status the registration status
+ */
+ void setStatus(RegistrationStatus status);
+
+ /**
+ * Return all the registrations for the specified consumer.
+ *
+ * @return the consumer registrations
+ * @throws RegistrationException
+ */
+ Collection getRegistrations() throws RegistrationException;
+
+ /**
+ * Returns the group that this consumer belongs to.
+ *
+ * @return the consumer group
+ */
+ ConsumerGroup getGroup();
+
+ /**
+ * Retrieves this Consumer's identity, which uniquely identifies the Consumer since the name cannot be relied on. It
+ * is up to the {@link RegistrationPolicy} to determine what the Consumer's identity is. Note also that this is
+ * different from the Consumer's database identifier.
+ *
+ * @return this Consumer's identity.
+ */
+ String getId();
+
+ ConsumerCapabilities getCapabilities();
+
+ void setCapabilities(ConsumerCapabilities capabilities);
+
+ void setGroup(ConsumerGroup group) throws RegistrationException, DuplicateRegistrationException;
+
+ String getConsumerAgent();
+
+ void setConsumerAgent(String consumerAgent) throws IllegalArgumentException, IllegalStateException;
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerCapabilities.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerCapabilities.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerCapabilities.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public interface ConsumerCapabilities
+{
+ boolean supportsGetMethod();
+
+ /**
+ * Returns the list of supported {@link org.jboss.portal.Mode}s
+ *
+ * @return
+ */
+ List getSupportedModes();
+
+ /**
+ * Returns the list of supported {@link org.jboss.portal.WindowState}s
+ *
+ * @return
+ */
+ List getSupportedWindowStates();
+
+ /**
+ * Returns the list of user scopes (e.g. "wsrp:perUser") the associated Consumer is willing to process. See WSRP 1.0
+ * 7.1.1 for more details.
+ *
+ * @return
+ */
+ List getSupportedUserScopes();
+
+ /**
+ * Returns the list of names of UserProfile extensions the associated Consumer supports. See WSRP 1.0 7.1.1 for more
+ * details.
+ *
+ * @return
+ */
+ List getSupportedUserProfileData();
+
+ void setSupportsGetMethod(boolean supportsGetMethod);
+
+ void setSupportedModes(List supportedModes);
+
+ void setSupportedWindowStates(List supportedWindowStates);
+
+ void setSupportedUserScopes(List supportedUserScopes);
+
+ void setSupportedUserProfileData(List supportedUserProfileData);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerGroup.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerGroup.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/ConsumerGroup.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.util.Collection;
+
+/**
+ * A business entity that is related to several consumers.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public interface ConsumerGroup
+{
+
+ /**
+ * Return this ConsumerGroup's name (i.e. the name of the the business entity aggregating the associated consumers)
+ *
+ * @return the ConsumerGroup's name
+ */
+ String getName();
+
+ /**
+ * Return a collection of associated consumers.
+ *
+ * @return the consumer collection
+ * @throws RegistrationException
+ */
+ Collection getConsumers() throws RegistrationException;
+
+ /**
+ * Return the member Consumer associated with the given identifier
+ *
+ * @param consumerId
+ * @return the Consumer associated with the identity or <code>null</code> if no such Consumer is part of this
+ * ConsumerGroup
+ * @throws IllegalArgumentException if the consumer identity is null
+ * @throws RegistrationException
+ */
+ Consumer getConsumer(String consumerId) throws IllegalArgumentException, RegistrationException;
+
+ void addConsumer(Consumer consumer) throws RegistrationException;
+
+ void removeConsumer(Consumer consumer) throws RegistrationException;
+
+ boolean contains(Consumer consumer);
+
+ boolean isEmpty();
+
+ RegistrationStatus getStatus();
+
+ void setStatus(RegistrationStatus status);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/DuplicateRegistrationException.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/DuplicateRegistrationException.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/DuplicateRegistrationException.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5641 $
+ */
+public class DuplicateRegistrationException extends RegistrationException
+{
+ public DuplicateRegistrationException()
+ {
+ }
+
+ public DuplicateRegistrationException(String message)
+ {
+ super(message);
+ }
+
+ public DuplicateRegistrationException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public DuplicateRegistrationException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/InvalidConsumerDataException.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/InvalidConsumerDataException.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/InvalidConsumerDataException.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class InvalidConsumerDataException extends RegistrationException
+{
+
+ public InvalidConsumerDataException()
+ {
+ }
+
+ public InvalidConsumerDataException(String message)
+ {
+ super(message);
+ }
+
+ public InvalidConsumerDataException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public InvalidConsumerDataException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/NoSuchRegistrationException.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/NoSuchRegistrationException.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/NoSuchRegistrationException.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5641 $
+ */
+public class NoSuchRegistrationException extends RegistrationException
+{
+ public NoSuchRegistrationException()
+ {
+ }
+
+ public NoSuchRegistrationException(String message)
+ {
+ super(message);
+ }
+
+ public NoSuchRegistrationException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public NoSuchRegistrationException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/PropertyDescription.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/PropertyDescription.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/PropertyDescription.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 9177 $
+ * @since 2.6.3
+ */
+public interface PropertyDescription
+{
+ QName getName();
+
+ QName getType();
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Registration.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Registration.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/Registration.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import javax.xml.namespace.QName;
+import java.util.Map;
+
+/**
+ * A class representing an association between a consumer and a producer.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public interface Registration
+{
+ /**
+ * Retrieves the internal identifier for this Registration. This will correspond to the database key for this
+ * Registration. This identifier can be used by {@link RegistrationPolicy} to create a handle for this Registration.
+ *
+ * @return this Registration's internal identifier.
+ */
+ String getId();
+
+ /**
+ * Sets the handle for this Registration.
+ *
+ * @param handle
+ */
+ void setRegistrationHandle(String handle);
+
+ /**
+ * Retrieves the handle associated with this Registration
+ *
+ * @return the registration handle
+ */
+ String getRegistrationHandle();
+
+ /**
+ * Return the consumer owning this registration.
+ *
+ * @return the owning consumer
+ */
+ Consumer getConsumer();
+
+ /**
+ * Retrieve the properties associated with this Registration.
+ *
+ * @return a Map containing the associated properties
+ */
+ Map getProperties();
+
+ void setPropertyValueFor(QName propertyName, Object value) throws IllegalArgumentException;
+
+ void setPropertyValueFor(String propertyName, Object value);
+
+ boolean hasEqualProperties(Registration registration);
+
+ boolean hasEqualProperties(Map properties);
+
+ /**
+ * Return the status of this specific registration.
+ *
+ * @return the status
+ */
+ RegistrationStatus getStatus();
+
+ /**
+ * Update the registration status
+ *
+ * @param status the new status
+ */
+ void setStatus(RegistrationStatus status);
+
+ /** Clears any state (cloned portlet information, session, etc) associated with this Registration */
+ void clearAssociatedState();
+
+ void updateProperties(Map registrationProperties);
+
+ void removeProperty(QName propertyName);
+
+ void removeProperty(String propertyName);
+
+ Object getPropertyValueFor(QName propertyName);
+
+ Object getPropertyValueFor(String propertyName);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationException.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationException.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationException.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5641 $
+ */
+public class RegistrationException extends Exception
+{
+ public RegistrationException()
+ {
+ }
+
+ public RegistrationException(String message)
+ {
+ super(message);
+ }
+
+ public RegistrationException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public RegistrationException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationFailedException.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationFailedException.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationFailedException.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5641 $
+ */
+public class RegistrationFailedException
+{
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationLocal.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationLocal.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationLocal.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+
+/**
+ * Hold registration provided by the consumer for the duration of the invocation.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class RegistrationLocal
+{
+
+ /** The thread local to keep track of the registration associated with the current thread of execution. */
+ private static final ThreadLocal registrationLocal = new ThreadLocal();
+
+ /**
+ * Sets the current registration for the Consumer for the current invocation.
+ *
+ * @param registration the Registration associated with the Consumer. Set to <code>null</code> if no Registration
+ * exists for the current Consumer.
+ */
+ public static void setRegistration(Registration registration)
+ {
+ registrationLocal.set(registration);
+ }
+
+ public static Registration getRegistration()
+ {
+ return (Registration)registrationLocal.get();
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationManager.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8966 $
+ * @since 2.6
+ */
+public interface RegistrationManager extends RegistrationPropertyChangeListener, RegistrationPolicyChangeListener
+{
+ RegistrationPolicy getPolicy();
+
+ void setPolicy(RegistrationPolicy policy);
+
+ RegistrationPersistenceManager getPersistenceManager();
+
+ void setPersistenceManager(RegistrationPersistenceManager persistenceManager);
+
+ Registration addRegistrationTo(String consumerName, Map registrationProperties, boolean createConsumerIfNeeded)
+ throws RegistrationException;
+
+ Consumer createConsumer(String name) throws RegistrationException, InvalidConsumerDataException;
+
+ Consumer addConsumerToGroupNamed(String consumerName, String groupName, boolean createGroupIfNeeded,
+ boolean createConsumerIfNeeded) throws RegistrationException;
+
+ ConsumerGroup createConsumerGroup(String groupName) throws RegistrationException;
+
+ void removeConsumer(String identity) throws RegistrationException, NoSuchRegistrationException;
+
+ void removeConsumer(Consumer consumer) throws RegistrationException, NoSuchRegistrationException;
+
+ Consumer getConsumerByIdentity(String identity) throws RegistrationException;
+
+ Consumer getConsumerFor(String registrationHandle) throws RegistrationException;
+
+ Registration getRegistration(String registrationHandle) throws RegistrationException;
+
+ void removeRegistration(String registrationHandle) throws RegistrationException, NoSuchRegistrationException;
+
+ void removeRegistration(Registration registration) throws RegistrationException, NoSuchRegistrationException;
+
+ ConsumerGroup getConsumerGroup(String groupName) throws RegistrationException;
+
+ Collection getConsumerGroups() throws RegistrationException;
+
+ void removeConsumerGroup(ConsumerGroup group) throws RegistrationException;
+
+ void removeConsumerGroup(String name) throws RegistrationException;
+
+ Collection getConsumers() throws RegistrationException;
+
+ void clear() throws RegistrationException;
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPersistenceManager.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPersistenceManager.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPersistenceManager.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public interface RegistrationPersistenceManager
+{
+ /**
+ * Creates a Consumer with the specified identity and name (which might be the same, depending on the policy)
+ *
+ * @param consumerId
+ * @param consumerName
+ */
+ Consumer createConsumer(String consumerId, String consumerName) throws RegistrationException;
+
+ /**
+ * Retrieves the ConsumerGroup identified by the specified name.
+ *
+ * @param name the name of the group to be retrieved
+ * @return the ConsumerGroup identified by the specified name
+ * @throws RegistrationException
+ */
+ ConsumerGroup getConsumerGroup(String name) throws RegistrationException;
+
+ /**
+ * Creates a new ConsumerGroup with the associated name.
+ *
+ * @param name the name of the ConsumerGroup to be created
+ * @return a new ConsumerGroup with the associated name
+ * @throws RegistrationException
+ */
+ ConsumerGroup createConsumerGroup(String name) throws RegistrationException;
+
+ void removeConsumerGroup(String name) throws RegistrationException;
+
+ void removeConsumer(String consumerId) throws RegistrationException;
+
+ void removeRegistration(String registrationId) throws RegistrationException;
+
+ /**
+ * Return an existing consumer from its id.
+ *
+ * @param consumerId the consumer id
+ * @return the consumer or null if it does not exist
+ * @throws IllegalArgumentException if the consumer id argument is null
+ * @throws RegistrationException
+ */
+ Consumer getConsumerById(String consumerId) throws IllegalArgumentException, RegistrationException;
+
+ Registration addRegistrationFor(String consumerId, Map registrationProperties) throws RegistrationException;
+
+ Collection getConsumerGroups();
+
+ Registration getRegistration(String registrationId);
+
+ Consumer addConsumerToGroupNamed(String consumerId, String groupName) throws RegistrationException;
+
+ Collection getConsumers();
+
+ Collection getRegistrations();
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicy.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicy.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicy.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,140 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import javax.xml.namespace.QName;
+import java.util.Map;
+
+/**
+ * An interface allowing users of the Registration service to customize different aspects of how Consumers are handled.
+ * Methods of this interface are used by RegistrationManager to make appropriate decisions. Implementations of this
+ * interface <strong>MUST</strong> provide a no-argument constructor for instantiation from the class name.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 11406 $
+ * @since 2.6
+ */
+public interface RegistrationPolicy
+{
+ /**
+ * Examines and determines whether the given registration properties are adequate for the Consumer associated with
+ * the given identity. This method is called before a Registration is created and thus allows users to decide whether
+ * or not to reject a given registration if not satisfied with the given registration properties.
+ *
+ * @param registrationProperties a Map containing the registration properties in the form of property name (QName) -
+ * property value (Object) mappings
+ * @param consumerIdentity the Consumer identity (as returned by {@link #getConsumerIdFrom(String,
+ * java.util.Map)}) for which the registration properties must be ascertained
+ * @throws IllegalArgumentException if any of the registration properties is invalid for the specified Consumer
+ * @throws RegistrationException if an exception occured in the registration service
+ */
+ void validateRegistrationDataFor(Map<QName, ? extends PropertyDescription> registrationProperties, String consumerIdentity)
+ throws IllegalArgumentException, RegistrationException;
+
+ /**
+ * Generates a registration handle based on the database identity of the Registration. This allows users to customize
+ * the registration handle format if they want to prevent exposure of database-related data.
+ *
+ * @param registrationId the database identity of the Registration for which a handle is required.
+ * @return a registration handle for the Registration associated with the specified identifier.
+ * @throws IllegalArgumentException if the specified registration identity if <code>null</code> or empty
+ */
+ String createRegistrationHandleFor(String registrationId) throws IllegalArgumentException;
+
+ /**
+ * Determines the ConsumerGroup name to which the Consumer associated with the specified name should be assigned with
+ * or <code>null</code> if the Consumer should not be automatically assigned to a ConsumerGroup. This method is
+ * called during the Consumer creation process to see if the Consumer should be automatically added to a
+ * ConsumerGroup.
+ *
+ * @param consumerName the name of the Consumer being created
+ * @return the name of the ConsumerGroup the Consumer must be automatically added to or <code>null</code> if the
+ * Consumer will not be automatically to a ConsumerGroup at creation
+ * @throws IllegalArgumentException if the specified Consumer name if <code>null</code> or empty
+ */
+ String getAutomaticGroupNameFor(String consumerName) throws IllegalArgumentException;
+
+ /**
+ * Obtains a consumer identity which uniquely identifies a Consumer in function of the consumer name and registration
+ * properties. This is potentially necessary because Consumer names are not guaranteed to be unique (even though the
+ * specification states that they should).
+ *
+ * @param consumerName the consumer name
+ * @param registrationProperties a Map containing the registration properties in the form of property name (QName) -
+ * property value (Object) mappings. Producer implementations might use the
+ * registration properties to provide secure Consumer identity.
+ * @return the consumer identity
+ * @throws InvalidConsumerDataException if the Policy examines the specified registration properties to determine the
+ * Consumer identity and decides that they are not in a proper state
+ * @throws IllegalArgumentException if the specified Consumer name if <code>null</code> or empty
+ */
+ String getConsumerIdFrom(String consumerName, Map registrationProperties)
+ throws IllegalArgumentException, InvalidConsumerDataException;
+
+ /**
+ * Determines if the specified Consumer name is acceptable. This method is called before a Consumer is created and
+ * before a unique Consumer identity is created. This is in particular used if the Policy mandates that Consumer
+ * names must be unique.
+ *
+ * @param consumerName the name of the Consumer as passed during the registration process
+ * @throws IllegalArgumentException if the specified Consumer name if <code>null</code> or empty
+ * @throws RegistrationException if an exception occurred in the Registration service
+ */
+ void validateConsumerName(String consumerName)
+ throws IllegalArgumentException, RegistrationException;
+
+ /**
+ * Determines if the specified ConsumerGroup name is acceptable. This method is called before a ConsumerGroup is
+ * created.
+ *
+ * @param groupName the name of the ConsumerGroup to be created
+ * @throws IllegalArgumentException if the specified ConsumerGroup name if <code>null</code> or empty
+ * @throws RegistrationException if an exception occurred in the Registration service
+ */
+ void validateConsumerGroupName(String groupName) throws IllegalArgumentException, RegistrationException;
+
+ /**
+ * Retrieves the RegistrationManager with which this RegistrationPolicy is associated.
+ *
+ * @return the RegistrationManager with which this RegistrationPolicy is associated.
+ */
+ RegistrationManager getManager();
+
+ /**
+ * Associates this RegistrationPolicy with the specified RegistrationManager. This method should not be called
+ * directly by client code as it used in the wiring process of the Registration service.
+ *
+ * @param manager the RegistrationManager with which this RegistrationPolicy should be associated.
+ */
+ void setManager(RegistrationManager manager);
+
+ /**
+ * Define what the expectations are as far as acceptable registration properties go.
+ *
+ * @param registrationPropertyDescriptions
+ * a map of containing the description of expected registrations
+ * @since 2.6.3
+ */
+ void setExpectations(Map<QName, ? extends PropertyDescription> registrationPropertyDescriptions);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicyChangeListener.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicyChangeListener.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPolicyChangeListener.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8966 $
+ * @since 2.6.3
+ */
+public interface RegistrationPolicyChangeListener
+{
+ void policyUpdatedTo(RegistrationPolicy policy);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPropertyChangeListener.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPropertyChangeListener.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationPropertyChangeListener.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import javax.xml.namespace.QName;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 9177 $
+ * @since 2.6
+ */
+public interface RegistrationPropertyChangeListener
+{
+ void propertiesHaveChanged(Map<QName, ? extends PropertyDescription> newRegistrationProperties);
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationStatus.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationStatus.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationStatus.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import java.io.Serializable;
+
+/**
+ * Type safe enumeration that describes the status of a registration.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5641 $
+ */
+public class RegistrationStatus implements Serializable
+{
+ private String humanReadable;
+
+ /** The registration is valid. */
+ public static final RegistrationStatus VALID = new RegistrationStatus("valid");
+
+ /** The registration is waiting for validation. */
+ public static final RegistrationStatus PENDING = new RegistrationStatus("pending");
+
+ /** The registration is not valid. */
+ public static final RegistrationStatus INVALID = new RegistrationStatus("invalid");
+
+ private RegistrationStatus(String humanReadable)
+ {
+ this.humanReadable = humanReadable;
+ }
+
+ public String toString()
+ {
+ return "RegistrationStatus: " + humanReadable;
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationUtils.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationUtils.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/RegistrationUtils.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 10388 $
+ * @since 2.6
+ */
+public class RegistrationUtils
+{
+ private static boolean strict = true;
+ private static final Logger log = LoggerFactory.getLogger(RegistrationUtils.class);
+
+ public static void setStrict(boolean strict)
+ {
+ RegistrationUtils.strict = strict;
+ log.debug("Using " + (strict ? "strict" : "lenient") + " Consumer Agent validation mode.");
+ }
+
+ /**
+ * @param consumerAgent
+ * @throws IllegalArgumentException
+ * @since 2.6
+ */
+ public static void validateConsumerAgent(String consumerAgent) throws IllegalArgumentException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerAgent, "consumer agent", null);
+ char periodChar = '.';
+ int period = consumerAgent.indexOf(periodChar);
+ if (period != -1)
+ {
+ consumerAgent = consumerAgent.substring(period);
+ period = consumerAgent.indexOf(periodChar);
+
+ if (period != -1)
+ {
+ return;
+ }
+ }
+
+ String msg = "'" + consumerAgent + "' is not a valid Consumer Agent. Please notify your Consumer provider that it is not WSRP-compliant.";
+ if (strict)
+ {
+ throw new IllegalArgumentException(msg);
+ }
+ else
+ {
+ log.debug(msg);
+ }
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerCapabilitiesImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerCapabilitiesImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerCapabilitiesImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.registration.ConsumerCapabilities;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class ConsumerCapabilitiesImpl implements ConsumerCapabilities
+{
+ private boolean supportsGetMethod;
+ private List supportedModes;
+ private List supportedWindowStates;
+ private List supportedUserScopes;
+ private List supportedUserProfileData;
+
+ public boolean supportsGetMethod()
+ {
+ return supportsGetMethod;
+ }
+
+ public List getSupportedModes()
+ {
+ return supportedModes;
+ }
+
+ public List getSupportedWindowStates()
+ {
+ return supportedWindowStates;
+ }
+
+ public List getSupportedUserScopes()
+ {
+ return supportedUserScopes;
+ }
+
+ public List getSupportedUserProfileData()
+ {
+ return supportedUserProfileData;
+ }
+
+ public void setSupportsGetMethod(boolean supportsGetMethod)
+ {
+ this.supportsGetMethod = supportsGetMethod;
+ }
+
+ public void setSupportedModes(List supportedModes)
+ {
+ this.supportedModes = supportedModes;
+ }
+
+ public void setSupportedWindowStates(List supportedWindowStates)
+ {
+ this.supportedWindowStates = supportedWindowStates;
+ }
+
+ public void setSupportedUserScopes(List supportedUserScopes)
+ {
+ this.supportedUserScopes = supportedUserScopes;
+ }
+
+ public void setSupportedUserProfileData(List supportedUserProfileData)
+ {
+ this.supportedUserProfileData = supportedUserProfileData;
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerGroupImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerGroupImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerGroupImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,154 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.ConsumerGroup;
+import org.jboss.portal.registration.NoSuchRegistrationException;
+import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationStatus;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision:5672 $
+ */
+public class ConsumerGroupImpl implements ConsumerGroup
+{
+
+ private String name;
+ private Map consumers;
+ private RegistrationStatus status;
+
+
+ private ConsumerGroupImpl()
+ {
+ init();
+ }
+
+ ConsumerGroupImpl(String name)
+ {
+ this.name = name;
+ init();
+ }
+
+ private void init()
+ {
+ this.consumers = new HashMap();
+ status = RegistrationStatus.PENDING;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ ConsumerGroupImpl that = (ConsumerGroupImpl)o;
+
+ return name.equals(that.name);
+ }
+
+ public int hashCode()
+ {
+ return name.hashCode();
+ }
+
+ public RegistrationStatus getStatus()
+ {
+ return status;
+ }
+
+ public void setStatus(RegistrationStatus status)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(status, "RegistrationStatus");
+ this.status = status;
+ }
+
+ public Collection getConsumers() throws RegistrationException
+ {
+ return Collections.unmodifiableCollection(consumers.values());
+ }
+
+ public Consumer getConsumer(String consumerId) throws IllegalArgumentException, RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer name", null);
+ return (Consumer)consumers.get(consumerId);
+ }
+
+ public boolean isEmpty()
+ {
+ return consumers.isEmpty();
+ }
+
+ public void addConsumer(Consumer consumer) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(consumer, "Consumer");
+ String identity = consumer.getId();
+ if (consumers.containsKey(identity))
+ {
+ throw new IllegalArgumentException("ConsumerGroup named '" + name
+ + "' already contains a Consumer named '" + consumer.getName() + "' (identity: '" + identity + "')");
+ }
+
+ consumers.put(identity, consumer);
+ consumer.setGroup(this);
+ }
+
+ public void removeConsumer(Consumer consumer) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(consumer, "Consumer");
+
+ if (consumers.remove(consumer.getId()) == null)
+ {
+ throw new NoSuchRegistrationException("ConsumerGroup named '" + name
+ + "' does not contain a Consumer named '" + consumer.getName() + "' (identity: '" + consumer.getId()
+ + "')");
+ }
+
+ consumer.setGroup(null);
+ }
+
+ public boolean contains(Consumer consumer)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(consumer, "Consumer");
+
+ return consumers.containsKey(consumer.getId());
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/ConsumerImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,200 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.ConsumerCapabilities;
+import org.jboss.portal.registration.ConsumerGroup;
+import org.jboss.portal.registration.Registration;
+import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationStatus;
+import org.jboss.portal.registration.RegistrationUtils;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class ConsumerImpl implements Consumer
+{
+
+ private String name;
+ private String identity;
+ private String consumerAgent;
+ private Set registrations;
+ private RegistrationStatus status;
+ private ConsumerGroup group;
+ private ConsumerCapabilities capabilities;
+
+
+ private ConsumerImpl()
+ {
+ init();
+ }
+
+ ConsumerImpl(String identity, String name)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "name", "Consumer");
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "identity", "Consumer");
+
+ this.name = name;
+ this.identity = identity;
+ init();
+ }
+
+ private void init()
+ {
+ registrations = new HashSet(7);
+ status = RegistrationStatus.PENDING;
+ capabilities = new ConsumerCapabilitiesImpl();
+ }
+
+
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ ConsumerImpl consumer = (ConsumerImpl)o;
+
+ return identity.equals(consumer.identity);
+ }
+
+ public int hashCode()
+ {
+ return identity.hashCode();
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getId()
+ {
+ return identity;
+ }
+
+
+ public String getConsumerAgent()
+ {
+ return consumerAgent;
+ }
+
+ public void setConsumerAgent(String consumerAgent) throws IllegalArgumentException, IllegalStateException
+ {
+ if (consumerAgent != null && !consumerAgent.equals(this.consumerAgent))
+ {
+ RegistrationUtils.validateConsumerAgent(consumerAgent);
+ this.consumerAgent = consumerAgent;
+ }
+ }
+
+ public ConsumerCapabilities getCapabilities()
+ {
+ return capabilities;
+ }
+
+ public void setCapabilities(ConsumerCapabilities capabilities)
+ {
+ this.capabilities = capabilities;
+ }
+
+ public RegistrationStatus getStatus()
+ {
+ return status;
+ }
+
+ public void setStatus(RegistrationStatus status)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(status, "RegistrationStatus");
+ this.status = status;
+ }
+
+ public Collection getRegistrations() throws RegistrationException
+ {
+ return Collections.unmodifiableSet(registrations);
+ }
+
+ public ConsumerGroup getGroup()
+ {
+ return group;
+ }
+
+ void addRegistration(Registration registration)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(registration, "Registration");
+
+ registrations.add(registration);
+ }
+
+ void removeRegistration(Registration registration) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(registration, "Registration");
+
+ registrations.remove(registration);
+
+ // status should become pending if there are no registrations
+ if (registrations.isEmpty())
+ {
+ setStatus(RegistrationStatus.PENDING);
+ }
+ }
+
+ public void setGroup(ConsumerGroup group) throws RegistrationException
+ {
+ if (this.group != null)
+ {
+ // if we're trying to set the same group, just return
+ if (this.group.equals(group))
+ {
+ return;
+ }
+
+ if (this.group.contains(this))
+ {
+ this.group.removeConsumer(this);
+ }
+ }
+
+ this.group = group;
+
+ if (group != null && !this.group.contains(this))
+ {
+ group.addConsumer(this);
+ }
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,194 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.Registration;
+import org.jboss.portal.registration.RegistrationStatus;
+
+import javax.xml.namespace.QName;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class RegistrationImpl implements Registration
+{
+
+ private final String id;
+ private ConsumerImpl consumer;
+ private RegistrationStatus status;
+ private Map properties;
+ private String registrationHandle;
+
+
+ public RegistrationImpl(String id, ConsumerImpl consumer, RegistrationStatus status, Map properties)
+ {
+ this.id = id;
+ this.consumer = consumer;
+ this.status = status;
+ this.properties = new HashMap(properties);
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public void setRegistrationHandle(String handle)
+ {
+ this.registrationHandle = handle;
+ }
+
+ public String getRegistrationHandle()
+ {
+ return registrationHandle;
+ }
+
+ public Consumer getConsumer()
+ {
+ return consumer;
+ }
+
+ public Map getProperties()
+ {
+ return Collections.unmodifiableMap(properties);
+ }
+
+ public void setPropertyValueFor(QName propertyName, Object value)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ ParameterValidation.throwIllegalArgExceptionIfNull(value, "Property value");
+
+ // avoid modifying the properties if new value is the same as old one
+ Object oldValue = properties.get(propertyName);
+ if (!value.equals(oldValue))
+ {
+ properties.put(propertyName, value);
+ }
+ }
+
+ public void setPropertyValueFor(String propertyName, Object value)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ setPropertyValueFor(new QName(propertyName), value);
+ }
+
+ public Object getPropertyValueFor(QName propertyName)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ return properties.get(propertyName);
+ }
+
+ public Object getPropertyValueFor(String propertyName)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ return getPropertyValueFor(new QName(propertyName));
+ }
+
+
+ public void removeProperty(QName propertyName)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ properties.remove(propertyName);
+ }
+
+ public void removeProperty(String propertyName)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(propertyName, "Property name");
+ removeProperty(new QName(propertyName));
+ }
+
+ public boolean hasEqualProperties(Registration registration)
+ {
+ if (registration == null)
+ {
+ return false;
+ }
+
+ Map other = registration.getProperties();
+ return hasEqualProperties(other);
+ }
+
+ public boolean hasEqualProperties(Map registrationProperties)
+ {
+ if (registrationProperties == null)
+ {
+ return false;
+ }
+
+ if (properties.size() != registrationProperties.size())
+ {
+ return false;
+ }
+
+ // check properties
+ for (Iterator props = properties.entrySet().iterator(); props.hasNext();)
+ {
+ Map.Entry entry = (Map.Entry)props.next();
+
+ // we should have a 1-1 match between name/value pair
+ QName name = (QName)entry.getKey();
+ if (!entry.getValue().equals(registrationProperties.get(name)))
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public void setRegistrationPropertyValueFor(String propertyName, Object value)
+ {
+ setPropertyValueFor(new QName(propertyName), value);
+ }
+
+ public RegistrationStatus getStatus()
+ {
+ return status;
+ }
+
+ public void setStatus(RegistrationStatus status)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(status, "RegistrationStatus");
+ this.status = status;
+ }
+
+ public void clearAssociatedState()
+ {
+ //todo: implement
+ }
+
+ public void updateProperties(Map registrationProperties)
+ {
+ properties = new HashMap(registrationProperties);
+ }
+
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationManagerImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationManagerImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationManagerImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,358 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.ConsumerGroup;
+import org.jboss.portal.registration.InvalidConsumerDataException;
+import org.jboss.portal.registration.NoSuchRegistrationException;
+import org.jboss.portal.registration.PropertyDescription;
+import org.jboss.portal.registration.Registration;
+import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationManager;
+import org.jboss.portal.registration.RegistrationPersistenceManager;
+import org.jboss.portal.registration.RegistrationPolicy;
+import org.jboss.portal.registration.RegistrationStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 11604 $
+ * @since 2.6
+ */
+public class RegistrationManagerImpl implements RegistrationManager
+{
+ private static final Logger log = LoggerFactory.getLogger(RegistrationManager.class);
+
+ private RegistrationPolicy policy;
+ private RegistrationPersistenceManager persistenceManager;
+
+ public RegistrationManagerImpl()
+ {
+ }
+
+ public RegistrationPolicy getPolicy()
+ {
+ return policy;
+ }
+
+ public void setPolicy(RegistrationPolicy policy)
+ {
+ this.policy = policy;
+ policy.setManager(this);
+ }
+
+ public RegistrationPersistenceManager getPersistenceManager()
+ {
+ return persistenceManager;
+ }
+
+ public void setPersistenceManager(RegistrationPersistenceManager persistenceManager)
+ {
+ this.persistenceManager = persistenceManager;
+ }
+
+ public Registration addRegistrationTo(String consumerName, Map registrationProperties, boolean createConsumerIfNeeded)
+ 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);
+
+ // validate the registration information
+ policy.validateRegistrationDataFor(registrationProperties, identity);
+
+ Consumer consumer = getOrCreateConsumer(identity, createConsumerIfNeeded, consumerName);
+
+ // create the actual registration
+ Registration registration = persistenceManager.addRegistrationFor(identity, registrationProperties);
+
+ // let the policy decide what the handle should be
+ String handle = policy.createRegistrationHandleFor(registration.getId());
+ registration.setRegistrationHandle(handle);
+
+ return registration;
+ }
+
+ public Consumer createConsumer(String name) throws RegistrationException, InvalidConsumerDataException
+ {
+ // check with policy if we allow the consumer
+ policy.validateConsumerName(name);
+
+ String identity = policy.getConsumerIdFrom(name, Collections.EMPTY_MAP);
+
+ Consumer consumer = persistenceManager.createConsumer(identity, name);
+
+ // deal with group if needed
+ // let the policy decide if there should be a group associated with the Consumer and if yes, with which id
+ String groupName = policy.getAutomaticGroupNameFor(name);
+ if (groupName != null)
+ {
+ addConsumerToGroupNamed(name, groupName, true, false);
+ }
+
+ return consumer;
+ }
+
+ public Consumer addConsumerToGroupNamed(String consumerName, String groupName, boolean createGroupIfNeeded, boolean createConsumerIfNeeded) throws RegistrationException
+ {
+ // check with the policy if we allow the group name in case we need to create it
+ if (createGroupIfNeeded)
+ {
+ policy.validateConsumerGroupName(groupName);
+ }
+
+ // check with policy if we allow the consumer name in case we need to create it
+ if (createConsumerIfNeeded)
+ {
+ policy.validateConsumerName(consumerName);
+ }
+
+ ConsumerGroup group = getConsumerGroup(groupName);
+ boolean justCreatedGroup = false;
+ if (group == null)
+ {
+ if (createGroupIfNeeded)
+ {
+ createConsumerGroup(groupName);
+ justCreatedGroup = true;
+ }
+ else
+ {
+ throw new NoSuchRegistrationException("There is no existing ConsumerGroup named '" + groupName + "'.");
+ }
+ }
+
+ String identity = policy.getConsumerIdFrom(consumerName, Collections.EMPTY_MAP);
+ try
+ {
+ getOrCreateConsumer(identity, createConsumerIfNeeded, consumerName);
+ }
+ catch (NoSuchRegistrationException e)
+ {
+ if (justCreatedGroup)
+ {
+ removeConsumerGroup(groupName);
+ }
+ }
+
+ return persistenceManager.addConsumerToGroupNamed(identity, groupName);
+ }
+
+ public ConsumerGroup createConsumerGroup(String groupName) throws RegistrationException
+ {
+ // check with the policy if we allow the group
+ policy.validateConsumerGroupName(groupName);
+
+ return persistenceManager.createConsumerGroup(groupName);
+ }
+
+ public void removeConsumer(String identity) throws RegistrationException, NoSuchRegistrationException
+ {
+ Consumer consumer = getOrCreateConsumer(identity, false, null);
+
+ ConsumerGroup group = consumer.getGroup();
+ if (group != null)
+ {
+ group.removeConsumer(consumer);
+ }
+
+ // cascade delete the registrations
+ for (Iterator i = new ArrayList(consumer.getRegistrations()).iterator(); i.hasNext();)
+ {
+ removeRegistration((Registration)i.next());
+ }
+
+ // let the registry do the actual deletion
+ persistenceManager.removeConsumer(identity);
+ }
+
+ public void removeConsumer(Consumer consumer) throws RegistrationException, NoSuchRegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(consumer, "Consumer");
+
+ removeConsumer(consumer.getId());
+ }
+
+ public Consumer getConsumerByIdentity(String identity) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(identity, "identity", null);
+ return persistenceManager.getConsumerById(identity);
+ }
+
+ public Consumer getConsumerFor(String registrationHandle) throws RegistrationException
+ {
+ return (Consumer)getConsumerOrRegistration(registrationHandle, true);
+ }
+
+ public Registration getRegistration(String registrationHandle) throws RegistrationException
+ {
+ return (Registration)getConsumerOrRegistration(registrationHandle, false);
+ }
+
+ public void removeRegistration(String registrationHandle) throws RegistrationException, NoSuchRegistrationException
+ {
+ Registration registration = getRegistration(registrationHandle);
+ if (registration == null)
+ {
+ throw new NoSuchRegistrationException("There is no Registration with handle '" + registrationHandle + "'");
+ }
+ removeRegistration(registration);
+ }
+
+ public void removeRegistration(Registration registration) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(registration, "Registration");
+
+ registration.setStatus(RegistrationStatus.INVALID); // just in case...
+// registration.clearAssociatedState(); // todo: do we need to clear associated state?
+
+ persistenceManager.removeRegistration(registration.getId());
+ }
+
+ public ConsumerGroup getConsumerGroup(String groupName) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(groupName, "ConsumerGroup name", null);
+ return persistenceManager.getConsumerGroup(groupName);
+ }
+
+ private Consumer getOrCreateConsumer(String identity, boolean createConsumerIfNeeded, String consumerName)
+ throws RegistrationException
+ {
+ Consumer consumer = getConsumerByIdentity(identity);
+ if (consumer == null)
+ {
+ if (createConsumerIfNeeded)
+ {
+ consumer = createConsumer(consumerName);
+ }
+ else
+ {
+ throw new NoSuchRegistrationException("There is no Consumer named '" + consumerName + "'.");
+ }
+ }
+ return consumer;
+ }
+
+ private Object getConsumerOrRegistration(String registrationHandle, boolean getConsumer)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(registrationHandle, "registration handle", null);
+
+ Registration registration = persistenceManager.getRegistration(registrationHandle);
+ if (registration == null)
+ {
+ return null;
+ }
+ else
+ {
+ return getConsumer ? registration.getConsumer() : registration;
+ }
+ }
+
+ public Collection getConsumerGroups()
+ {
+ return persistenceManager.getConsumerGroups();
+ }
+
+ public void removeConsumerGroup(ConsumerGroup group) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(group, "ConsumerGroup");
+
+ for (Object consumer : group.getConsumers())
+ {
+ removeConsumer((Consumer)consumer);
+ }
+
+ persistenceManager.removeConsumerGroup(group.getName());
+ }
+
+ public void removeConsumerGroup(String name) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(name, "ConsumerGroup name");
+ removeConsumerGroup(getConsumerGroup(name));
+ }
+
+ public Collection getConsumers()
+ {
+ return persistenceManager.getConsumers();
+ }
+
+ public void clear() throws RegistrationException
+ {
+ Collection<Consumer> consumers = new ArrayList<Consumer>(getConsumers());
+ for (Consumer consumer : consumers)
+ {
+ removeConsumer(consumer);
+ }
+
+ Collection<ConsumerGroup> groups = new ArrayList<ConsumerGroup>(getConsumerGroups());
+ for (ConsumerGroup group : groups)
+ {
+ removeConsumerGroup(group);
+ }
+ }
+
+ /**
+ * We listen to registration property changes on the producer configuration so that we can invalidate the current
+ * registrations. Consumers will need to call modifyRegistration since properties have changed... which requires
+ * throwing an OperationFailedFault... not an InvalidRegistrationFault!
+ *
+ * @param registrationProperties
+ */
+ public void propertiesHaveChanged(Map<QName, ? extends PropertyDescription> registrationProperties)
+ {
+ log.debug("Registration properties have changed, existing registrations will be invalidated...");
+ Collection registrations = persistenceManager.getRegistrations();
+ for (Object registration : registrations)
+ {
+ Registration reg = (Registration)registration;
+
+ // pending instead of invalid as technically, the registration is not yet invalid
+ reg.setStatus(RegistrationStatus.PENDING);
+// reg.clearAssociatedState(); //todo: do we need to clear the associated state? If we do, should we wait until current operations are done?
+ }
+
+ // make policy aware of new registration properties
+ policy.setExpectations(registrationProperties);
+ }
+
+ /**
+ * We listen for RegistrationPolicy changes so that we can provide the proper behavior at all time if the policy has
+ * been changed by users since this RegistrationManager was initialized...
+ *
+ * @param policy
+ */
+ public void policyUpdatedTo(RegistrationPolicy policy)
+ {
+ setPolicy(policy);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationPersistenceManagerImpl.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationPersistenceManagerImpl.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/impl/RegistrationPersistenceManagerImpl.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,193 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.impl;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.ConsumerGroup;
+import org.jboss.portal.registration.DuplicateRegistrationException;
+import org.jboss.portal.registration.NoSuchRegistrationException;
+import org.jboss.portal.registration.Registration;
+import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationPersistenceManager;
+import org.jboss.portal.registration.RegistrationStatus;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class RegistrationPersistenceManagerImpl implements RegistrationPersistenceManager
+{
+ private long lastRegistrationId;
+ private Map consumers = new HashMap();
+ private Map groups = new HashMap();
+ private Map registrations = new HashMap();
+
+ public Consumer createConsumer(String consumerId, String consumerName) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer identity", null);
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerName, "Consumer name", null);
+
+ ConsumerImpl consumer = new ConsumerImpl(consumerId, consumerName);
+ consumer.setStatus(RegistrationStatus.PENDING);
+ consumers.put(consumerId, consumer);
+
+ return consumer;
+ }
+
+ public ConsumerGroup getConsumerGroup(String name) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "ConsumerGroup name", null);
+
+ return (ConsumerGroup)groups.get(name);
+ }
+
+ public ConsumerGroup createConsumerGroup(String name) throws RegistrationException
+ {
+ ConsumerGroup group = getConsumerGroup(name);
+ if (group != null)
+ {
+ throw new DuplicateRegistrationException("A ConsumerGroup named '" + name + "' has already been registered.");
+ }
+ else
+ {
+ group = new ConsumerGroupImpl(name);
+ groups.put(name, group);
+ return group;
+ }
+ }
+
+ public void removeConsumerGroup(String name) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(name, "ConsumerGroup name", null);
+ if (groups.remove(name) == null)
+ {
+ throw new NoSuchRegistrationException("There is no ConsumerGroup named '" + name + "'.");
+ }
+ }
+
+ public void removeConsumer(String consumerId) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer identity", null);
+ if (consumers.remove(consumerId) == null)
+ {
+ throw new RegistrationException("There is no Consumer with identity '" + consumerId + "'.");
+ }
+ }
+
+ public void removeRegistration(String registrationId) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(registrationId, "Registration identity", null);
+
+ RegistrationImpl registration = (RegistrationImpl)registrations.get(registrationId);
+ if (registration == null)
+ {
+ throw new NoSuchRegistrationException("There is no Registration with id '" + registrationId + "'");
+ }
+
+ ConsumerImpl consumer = (ConsumerImpl)registration.getConsumer();
+ consumer.removeRegistration(registration);
+ registrations.remove(registrationId);
+ }
+
+ public Consumer getConsumerById(String consumerId) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer identity", null);
+
+ return (Consumer)consumers.get(consumerId);
+ }
+
+ public Registration addRegistrationFor(String consumerId, Map registrationProperties) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer identity", null);
+ ParameterValidation.throwIllegalArgExceptionIfNull(registrationProperties, "Registration properties");
+
+ ConsumerImpl consumer = (ConsumerImpl)getConsumerById(consumerId);
+ if (consumer == null)
+ {
+ throw new NoSuchRegistrationException("There is no Consumer with identity '" + consumerId
+ + "' to add a Registration to...");
+ }
+
+ RegistrationImpl registration = new RegistrationImpl("" + lastRegistrationId++, consumer,
+ RegistrationStatus.PENDING, registrationProperties);
+ consumer.addRegistration(registration);
+
+ registrations.put(registration.getId(), registration);
+
+ return registration;
+ }
+
+ public Consumer addConsumerToGroupNamed(String consumerId, String groupName) throws RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerId, "Consumer identity", null);
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(groupName, "ConsumerGroup name", null);
+
+ ConsumerGroupImpl group = (ConsumerGroupImpl)getConsumerGroup(groupName);
+ if (group == null)
+ {
+ throw new NoSuchRegistrationException("There is no ConsumerGroup named '" + groupName
+ + "' to add a Consumer to...");
+ }
+
+ ConsumerImpl consumer = (ConsumerImpl)getConsumerById(consumerId);
+ if (consumer == null)
+ {
+ throw new NoSuchRegistrationException("There is no Consumer with identity '" + consumerId
+ + "' to add to ConsumerGroup named '" + groupName + "'. Did you create it?");
+ }
+
+ group.addConsumer(consumer);
+
+ return consumer;
+ }
+
+ public Collection getConsumers()
+ {
+ return Collections.unmodifiableCollection(consumers.values());
+ }
+
+ public Collection getRegistrations()
+ {
+ return Collections.unmodifiableCollection(registrations.values());
+ }
+
+ public Collection getConsumerGroups()
+ {
+ return Collections.unmodifiableCollection(groups.values());
+ }
+
+ public Registration getRegistration(String registrationId)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(registrationId, "Registration id", null);
+
+ return (Registration)registrations.get(registrationId);
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPolicy.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPolicy.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPolicy.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,211 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.policies;
+
+import org.jboss.portal.common.util.ParameterValidation;
+import org.jboss.portal.registration.Consumer;
+import org.jboss.portal.registration.DuplicateRegistrationException;
+import org.jboss.portal.registration.InvalidConsumerDataException;
+import org.jboss.portal.registration.PropertyDescription;
+import org.jboss.portal.registration.Registration;
+import org.jboss.portal.registration.RegistrationException;
+import org.jboss.portal.registration.RegistrationManager;
+import org.jboss.portal.registration.RegistrationPolicy;
+import org.jboss.portal.registration.RegistrationStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.xml.namespace.QName;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Provides a default implementation of RegistrationPolicy which should be enough for most user needs provided the
+ * appropriate {@link RegistrationPropertyValidator} has been configured to validate registration properties.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 11406 $
+ * @since 2.6
+ */
+public class DefaultRegistrationPolicy implements RegistrationPolicy
+{
+ private RegistrationManager manager;
+ private RegistrationPropertyValidator validator;
+ private Map<QName, ? extends PropertyDescription> expectations;
+ private static final Logger log = LoggerFactory.getLogger(DefaultRegistrationPolicy.class);
+
+
+ public RegistrationManager getManager()
+ {
+ return manager;
+ }
+
+ public void setManager(RegistrationManager manager)
+ {
+ this.manager = manager;
+ }
+
+ public void setExpectations(Map<QName, ? extends PropertyDescription> registrationPropertyDescriptions)
+ {
+ this.expectations = registrationPropertyDescriptions;
+ }
+
+ /**
+ * Only accepts the registration if no registration with identical values exists for the Consumer identified by the
+ * specified identify and delegates the validation of properties to the configured RegistrationPropertyValidator.
+ *
+ * @throws DuplicateRegistrationException if a Consumer with the same identity has already registered with the same
+ * registration properties.
+ */
+ public void validateRegistrationDataFor(Map<QName, ? extends PropertyDescription> registrationProperties, String consumerIdentity)
+ throws IllegalArgumentException, RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(registrationProperties, "Registration properties");
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerIdentity, "Consumer identity", null);
+
+ StringBuilder message = new StringBuilder();
+
+ // check that values are consistent with expectations
+ if (expectations != null)
+ {
+ Set<QName> expectedNames = expectations.keySet();
+ boolean consistentWithExpectations = true;
+
+ // check for extra properties
+ Set<QName> unexpected = new HashSet<QName>(registrationProperties.keySet());
+ unexpected.removeAll(expectedNames);
+ if (!unexpected.isEmpty())
+ {
+ consistentWithExpectations = false;
+ message.append("Consumer '").append(consumerIdentity)
+ .append("' provided values for unexpected registration properties:\n");
+ for (QName name : unexpected)
+ {
+ message.append("\t- ").append(name).append("\n");
+ }
+ }
+
+ for (Map.Entry<QName, ? extends PropertyDescription> entry : expectations.entrySet())
+ {
+ QName name = entry.getKey();
+ Object value = registrationProperties.get(name);
+ try
+ {
+ validator.validateValueFor(name, value);
+ }
+ catch (IllegalArgumentException e)
+ {
+ message.append("Missing value for expected '").append(name.getLocalPart()).append("' property.\n");
+ consistentWithExpectations = false;
+ }
+ }
+
+ if (!consistentWithExpectations)
+ {
+ String messageString = message.toString();
+ log.debug(messageString);
+ throw new InvalidConsumerDataException(messageString);
+ }
+ }
+
+ // check that this is not a duplicate registration if the status is not pending
+ Consumer consumer = manager.getConsumerByIdentity(consumerIdentity);
+ if (consumer != null && !RegistrationStatus.PENDING.equals(consumer.getStatus()))
+ {
+ // allow the new registration only if the registration properties are different that existing registrations
+ // for this consumer...
+ for (Object o : consumer.getRegistrations())
+ {
+ Registration registration = (Registration)o;
+ if (registration.hasEqualProperties(registrationProperties))
+ {
+ throw new DuplicateRegistrationException("Consumer named '" + consumer.getName()
+ + "' has already been registered with the same set of registration properties. Registration rejected!");
+ }
+ }
+ }
+ }
+
+ /** Simply returns the given registration id. */
+ public String createRegistrationHandleFor(String registrationId)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(registrationId, "Registration id", null);
+ return registrationId;
+ }
+
+ /** Doesn't support automatic ConsumerGroups so always return <code>null</code>. */
+ public String getAutomaticGroupNameFor(String consumerName)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerName, "Consumer name", null);
+ return null;
+ }
+
+ /** Simply returns the given consumer name, trusted (!) to be unique. */
+ public String getConsumerIdFrom(String consumerName, Map registrationProperties) throws IllegalArgumentException, InvalidConsumerDataException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerName, "Consumer name", null);
+ return consumerName;
+ }
+
+ /** Rejects registration if a Consumer with the specified name already exists. */
+ public void validateConsumerName(String consumerName) throws IllegalArgumentException, RegistrationException
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(consumerName, "Consumer name", null);
+
+ Consumer consumer = manager.getConsumerByIdentity(getConsumerIdFrom(consumerName, Collections.EMPTY_MAP));
+ if (consumer != null)
+ {
+ throw new DuplicateRegistrationException("A Consumer named '" + consumerName + "' has already been registered.");
+ }
+ }
+
+ /** Rejects name if a ConsumerGroup with the specified name already exists. */
+ public void validateConsumerGroupName(String groupName) throws IllegalArgumentException, RegistrationException
+ {
+ // this is already the behavior in the RegistrationPersistenceManager so no need to do anything
+ }
+
+ /**
+ * Instructs this policy to use the specified RegistrationPropertyValidator. There shouldn't be any need to call this
+ * method manually, as the validator is configured via the WSRP Producer xml configuration file.
+ *
+ * @param validator
+ */
+ public void setValidator(RegistrationPropertyValidator validator)
+ {
+ this.validator = validator;
+ }
+
+ /**
+ * Retrieves the currently configured RegistrationPropertyValidator.
+ *
+ * @return
+ */
+ public RegistrationPropertyValidator getValidator()
+ {
+ return validator;
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPropertyValidator.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPropertyValidator.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/DefaultRegistrationPropertyValidator.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.policies;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public class DefaultRegistrationPropertyValidator implements RegistrationPropertyValidator
+{
+ public void validateValueFor(QName propertyName, Object value) throws IllegalArgumentException
+ {
+ // accepts only non-null, non-empty String values
+ if (!(value instanceof String) || ((String)value).length() <= 0)
+ {
+ throw new IllegalArgumentException(value + " is not a valid value for property '" + propertyName +
+ "'. DefaultRegistrationPropertyValidator only accepts non-null, non-empty Strings.");
+ }
+ }
+}
Added: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/RegistrationPropertyValidator.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/RegistrationPropertyValidator.java (rev 0)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/registration/policies/RegistrationPropertyValidator.java 2009-08-26 10:12:59 UTC (rev 13791)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2009, 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.registration.policies;
+
+import javax.xml.namespace.QName;
+
+/**
+ * An interface providing an entry point for WSRP deployers to plug their registration property validation mechanism in
+ * {@link org.jboss.portal.registration.policies.DefaultRegistrationPolicy}. Implementations of this interface
+ * <strong>MUST</strong> provide a no-argument constructor for instantiation from the class name.
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision: 8784 $
+ * @since 2.6
+ */
+public interface RegistrationPropertyValidator
+{
+ /**
+ * Validates the given value for the registration property identified by the specified name. If the value is
+ * acceptable, the method simply returns. An invalid value will raise an exception.
+ *
+ * @param propertyName the qualified name for the property name
+ * @param value the value that needs to be validated
+ * @throws IllegalArgumentException if the specified value is not acceptable for the specified property.
+ */
+ void validateValueFor(QName propertyName, Object value) throws IllegalArgumentException;
+}
14 years, 8 months
JBoss Portal SVN: r13790 - docs/enterprise/trunk/Installation_Guide/ja-JP.
by portal-commits@lists.jboss.org
Author: khashida(a)redhat.com
Date: 2009-08-26 04:30:21 -0400 (Wed, 26 Aug 2009)
New Revision: 13790
Modified:
docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Configuration.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Test_Your_Installation.po
docs/enterprise/trunk/Installation_Guide/ja-JP/Uninstall_JBoss.po
Log:
3 modules left
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Book_Info.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -8,7 +8,7 @@
"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:11+0900\n"
+"PO-Revision-Date: 2009-08-26 11:12+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@
#: Book_Info.xml:6
#, no-c-format
msgid "Installation Guide"
-msgstr ""
+msgstr "インストールガイド"
#. Tag: para
#: Book_Info.xml:13
@@ -29,6 +29,8 @@
"This Installation Guide documents relevant information regarding the "
"installation of JBoss Enterprise Portal Platform"
msgstr ""
+"このインストールガイドは、JBoss Enterprise Portal Platform のインストールについての "
+"関連情報を文面化しているものです。"
#. Tag: holder
#: Book_Info.xml:25
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Configuration.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Configuration.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Configuration.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -8,7 +8,7 @@
"Project-Id-Version: Configuration\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:15+0900\n"
+"PO-Revision-Date: 2009-08-26 16:42+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,13 +20,13 @@
#: Configuration.xml:5
#, no-c-format
msgid "Database Configuration"
-msgstr ""
+msgstr "データベースの設定"
#. Tag: title
#: Configuration.xml:8
#, no-c-format
msgid "Installing an RDBMS JDBC connector"
-msgstr ""
+msgstr "RDBMS JDBC コネクタのインストール"
#. Tag: para
#: Configuration.xml:9
@@ -49,6 +49,19 @@
"RDBMS JDBC connector can be downloaded from <ulink url=\"http://jdbc."
"postgresql.org/download.html\"></ulink>."
msgstr ""
+"RDBMS (relational database management system 関係データベース管理システム)の "
+"JDBC (Java Database Connectivity)コネクタは、データベースと通信するために &JBEPP; "
+"で必要となります。&JBEPP; は Hypersonic SQL (HSQL) データベースを同梱して配布されている "
+"ため、ユーザーは最初のデータベースをセットアップすることなく素早く開始できます。しかし、 "
+"HSQL は実稼働環境で使用されるべきではありません。HSQL の削除は簡単で、それは <filename>JBOSS_DIST/jboss-as/"
+"server/$CONFIG/deploy/portal-hsql-ds.xml</filename> を削除するだけで達成できます。 "
+"<trademark class=\"registered\">Oracle</trademark> 9、<trademark class=\"registered\">Oracle</trademark> 10、 "
+"<trademark class=\"registered\">Microsoft SQL Server</trademark>、MySQL 4、MySQL 5、及び "
+"PostgreSQL 8 データベース等に対してテストが終了しています。これらのデータベースが実稼働での使用に "
+"推奨されるものです。適切な RDBMS JDBC コネクタに関しては、データベースのドキュメントを参照して "
+"下さい。MySQL RDBMS JDBC コネクタは <ulink url=\"http://www.mysql.com/products/connector/j/\"></ulink> から "
+"ダウンロードが可能であり、PostgreSQL RDBMS JDBC コネクタは <ulink url=\"http://jdbc."
+"postgresql.org/download.html\"></ulink> からダウンロードできます。"
#. Tag: para
#: Configuration.xml:19
@@ -59,12 +72,16 @@
"computeroutput> file. Copy this file into the <filename>$JBOSS_HOME/server/"
"<replaceable>configuration</replaceable>/lib/</filename> directory."
msgstr ""
+"インストールの案内には、それぞれのダウンロードにあるヘルプファイルを参照して下さい。 "
+"殆どのケースでは、RDBMS JDBC コネクタは <computeroutput>.jar</computeroutput> ファイル "
+"として配布されています。このファイルを <filename>$JBOSS_HOME/server/"
+"<replaceable>configuration</replaceable>/lib/</filename> ディレクトリにコピーして下さい。"
#. Tag: title
#: Configuration.xml:25
#, no-c-format
msgid "Datasource Descriptors"
-msgstr ""
+msgstr "データソース記述子"
#. Tag: para
#: Configuration.xml:26
@@ -82,6 +99,14 @@
"jboss/jboss-epp-<replaceable>x.x.x</replaceable>/jboss-as/docs/portal/setup</"
"filename> directory."
msgstr ""
+"データソース記述子は、データベースと通信する為に JBoss Portal で必要になります。 "
+"サンプルのデータソース記述子が Hypersonic SQL、<trademark class=\"registered\">Microsoft SQL Server</trademark>、 "
+"MySQL、<trademark class=\"registered\">Oracle</trademark>、及び PostgreSQL のデータベース用に "
+"提供されています。これらのサンプルデータソース記述子は、<computeroutput>EPP <replaceable>x.x.x</"
+"replaceable> binary distribution</computeroutput> ファイルの抽出先である <filename>/jboss-as/docs/portal/setup/</"
+"filename> サブディレクトリ内にあります。例えば、EPP が <filename>/jboss/</filename> に抽出される場合は、 "
+"そのサンプルデータソース記述子は <filename>/jboss/jboss-epp-<replaceable>x.x.x</replaceable>/jboss-as/docs/portal/setup</"
+"filename> ディレクトリ内にあることになります。"
#. Tag: para
#: Configuration.xml:29
@@ -93,6 +118,10 @@
"descriptors assume the name of the database to be "
"<computeroutput>jbossportal</computeroutput>."
msgstr ""
+"サンプルのデータソース記述子は、外部のデータベースのデフォルトインストールで "
+"機能しますが、正しいユーザー名とパスワードを設定する必要があるかも知れません。 "
+"それから、サンプルの MySQL と PostgreSQL データソース記述子はそのデータベース名を "
+"<computeroutput>jbossportal</computeroutput> として想定します。"
#. Tag: para
#: Configuration.xml:32
@@ -107,12 +136,17 @@
"sections to reflect the correct username and password for the user who has "
"access to the jbossportal database."
msgstr ""
+"MySQL、<trademark class=\"registered\">Microsoft SQL Server</trademark>、PostgreSQL、又は "
+"<trademark class=\"registered\">Oracle</trademark> 用のデータソース記述子をコピーしている場合、 "
+"<computeroutput><user-name><replaceable>portal</replaceable></user-name></computeroutput> と "
+"<computeroutput><password><replaceable>portalpassword</replaceable></password></computeroutput> の"
+"セクションを jbossportal データベースへのアクセスを持つユーザーの正しいユーザー名とパスワードに変更します。"
#. Tag: title
#: Configuration.xml:36
#, no-c-format
msgid "Different Datasource Descriptors"
-msgstr ""
+msgstr "他のデータソース記述子"
#. Tag: para
#: Configuration.xml:37
@@ -123,12 +157,15 @@
"example, if you want to use a MySQL database, remove the <filename>portal-"
"hsqldb-ds.xml</filename> file, and other descriptors, if they exists."
msgstr ""
+"<filename>$JBOSS_HOME/server/<replaceable>configuration</replaceable>/deploy/</filename> ディレクトリには "
+"1つだけのデータソース記述子を持つようにします。例えば、MySQL データベースを使用したい場合は、<filename>portal-"
+"hsqldb-ds.xml</filename> ファイルと他の記述子(存在する場合)を削除します。"
#. Tag: para
#: Configuration.xml:41
#, no-c-format
msgid "The following is an example Datasource descriptor file for MySQL 5:"
-msgstr ""
+msgstr "MySQL 5 用のサンプルデータソース記述子を以下に示します:"
#. Tag: screen
#: Configuration.xml:45
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Feedback.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -1,35 +1,38 @@
+# translation of Feedback.po to Japanese
# Language ja-JP translations for Installation_Guide package.
+#
# Automatically generated, 2009.
-#
+# Kiyoto Hashida <khashida(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: Installation_Guide VERSION\n"
+"Project-Id-Version: Feedback\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-14 00:21+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-08-26 11:33+0900\n"
+"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
+"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: Feedback.xml:6
#, no-c-format
msgid "We Need Feedback!"
-msgstr ""
+msgstr "フィードバックをお願いします。"
#. Tag: primary
#: Feedback.xml:8
#, no-c-format
msgid "feedback"
-msgstr ""
+msgstr "feedback"
#. Tag: secondary
#: Feedback.xml:9
#, no-c-format
msgid "contact information for this manual"
-msgstr ""
+msgstr "このマニュアルについての連絡先情報"
#. Tag: para
#: Feedback.xml:11
@@ -45,3 +48,11 @@
"describing it. If you have found an error, please include the section number "
"and some of the surrounding text so we can find it easily."
msgstr ""
+"このマニュアル内で誤字・脱字を発見されたり、このマニュアルを改善する御提案をお持ちの "
+"場合は、弊社までご連絡下さい。その場合は、バージョン: <emphasis>&JBEPPVERS;</emphasis> と "
+"コンポーネント: <emphasis>Documentation</emphasis> に対して <ulink url=\"http://jira.jboss.com/jira/browse/JBEPP\">JIRA</"
+"ulink> に報告を提出して下さい。バグ報告を提出される場合は、そのマニュアル識別子: Portal_User_Guide も忘れずに "
+"記入して下さい。このドキュメントを改善する御提案をお持ちの場合は、出来るだけ詳しく説明して下さい。 "
+"エラーを発見された場合は、そのセクション番号とその周囲の文章を含んで頂くと弊社で素早く見つけることが "
+"できます。"
+
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Installation.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -8,7 +8,7 @@
"Project-Id-Version: Installation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:20+0900\n"
+"PO-Revision-Date: 2009-08-26 17:29+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,13 +20,13 @@
#: Installation.xml:6
#, no-c-format
msgid "Installation"
-msgstr ""
+msgstr "インストール"
#. Tag: title
#: Installation.xml:9
#, no-c-format
msgid "Download"
-msgstr ""
+msgstr "ダウンロード"
#. Tag: para
#: Installation.xml:11
@@ -36,12 +36,14 @@
"located at <ulink url=\"https://network.jboss.com\">https://network.jboss."
"com</ulink>."
msgstr ""
+"<ulink url=\"https://network.jboss.com\">https://network.jboss.com</ulink> にある "
+" JBoss Customer Service Portal (CSP) から zip ファイルをダウンロードすることができます。"
#. Tag: title
#: Installation.xml:17
#, no-c-format
msgid "Installing"
-msgstr ""
+msgstr "インストール実行"
#. Tag: para
#: Installation.xml:19
@@ -55,6 +57,13 @@
"docs/DOC-12942 explain in detail the different server configuration file "
"sets."
msgstr ""
+"zip ファイルからインストールするには、単にダウンロードした zip ファイルを "
+"好みのディレクトリに展開するだけです。 zip 形式をサポートするオペレーティング "
+"システムならば、そのプラットフォームで zip 展開ができます。4つのサーバー設定が "
+"インストールに含まれています。minimal(最低限)、default(デフォルト)、production(実稼働)、 "
+"及び all(全部)の4タイプです。&JBEAP; のスタートガイド(Getting Started Guide)と、 "
+"http://www.jboss.org/community/docs/DOC-12942 で、異なるサーバー設定ファイルのセットを "
+"詳細に説明しています。"
#. Tag: para
#: Installation.xml:25
@@ -65,6 +74,10 @@
"You can do this using the JDK <literal>jar</literal> tool (or any other ZIP "
"extraction tool)."
msgstr ""
+"<literal>jboss-epp-<replaceable><release></replaceable>.zip</"
+"literal> を展開して、そのアーカイブコンテンツを好みの場所に抽出します。 "
+"これは JDK <literal>jar</literal> ツール(又は他の ZIP 抽出ツール)を "
+"使用して実行できます。"
#. Tag: programlisting
#: Installation.xml:26
@@ -87,18 +100,21 @@
"Refer to the Getting Started Guide to understand and explore the Platform "
"Directory Structure."
msgstr ""
+"これでインストール完了です。そうすると <filename>jboss-epp-<replaceable><release></replaceable></filename> "
+"と言うディレクトリが出来ているはずです。プラットフォームディレクトリ構成を理解して探索するには、 "
+"スタートガイド(Getting Started Guide)を参照して下さい。"
#. Tag: title
#: Installation.xml:39
#, no-c-format
msgid "Choosing a server configuration"
-msgstr ""
+msgstr "サーバー設定の選択"
#. Tag: para
#: Installation.xml:40
#, no-c-format
msgid "The important differences as far as Portal is concerned are:"
-msgstr ""
+msgstr "Portal に於ける重要な相違は以下のようになります:"
#. Tag: para
#: Installation.xml:45
@@ -107,6 +123,8 @@
"<literal>minimal</literal> server configuration has no Portal bits. It's "
"there for the sake of consistency with &JBEAP;"
msgstr ""
+"<literal>minimal</literal> サーバー設定には Portal 部分がありません。 "
+"これは、&JBEAP; との一貫性を保つために存在します。"
#. Tag: para
#: Installation.xml:50
@@ -115,6 +133,8 @@
"<literal>default</literal> server configuration has non-clustered Portal "
"bits <literal>jboss-portal.sar</literal> in <literal>deploy</literal> folder."
msgstr ""
+"<literal>default</literal> サーバー設定には、 クラスタ化していない Portal 部分、 "
+"<literal>jboss-portal.sar</literal> が <literal>deploy</literal> フォルダ内にあります。"
#. Tag: para
#: Installation.xml:56
@@ -123,6 +143,9 @@
"<literal>all</literal> server configuration has clustered Portal bits "
"<literal>jboss-portal-ha.sar</literal> in <literal>deploy</literal> folder."
msgstr ""
+"<literal>all</literal> サーバー設定には、クラスタ化した Portal 部分、 "
+"<literal>jboss-portal-ha.sar</literal> が <literal>deploy</literal> フォルダ内に "
+"あります。"
#. Tag: para
#: Installation.xml:62
@@ -137,4 +160,11 @@
"literal> to <literal>production/deploy</literal>. Don't forget to remove "
"<literal>jboss-portal-ha.sar</literal> though."
msgstr ""
+"<literal>production</literal> サーバー設定には、クラスタ化した Portal 部分、 "
+"<literal>jboss-portal-ha.sar</literal> があり、これがデフォルトでスタートする "
+"サーバーです。このサーバー設定は、ロギング、メモリーサイズなどのいくつかの "
+"最適化を持っています。クラスタ化した portal のバージョンが不要で、 "
+"この最適化したサーバー設定を使用したい場合は、単に <literal>jboss-portal.sar</literal> ディレクトリを "
+"<literal>default/deploy</literal> から <literal>production/deploy</literal> にコピーするだけで "
+"達成できます。<literal>jboss-portal-ha.sar</literal> の削除を忘れずに実行して下さい。"
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Introduction.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -1,23 +1,26 @@
+# translation of Introduction.po to Japanese
# Language ja-JP translations for Installation_Guide package.
+#
# Automatically generated, 2009.
-#
+# Kiyoto Hashida <khashida(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: Installation_Guide VERSION\n"
+"Project-Id-Version: Introduction\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-14 00:21+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-08-26 15:36+0900\n"
+"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
+"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: Introduction.xml:6
#, no-c-format
msgid "Introduction"
-msgstr ""
+msgstr "はじめに "
#. Tag: para
#: Introduction.xml:7
@@ -32,6 +35,14 @@
"just starting out with J2EE, as well as senior architects looking for a "
"customizable middleware platform."
msgstr ""
+"&JBEPP; は &JBEAP; の上で稼働している Java EE サービスセット、及び "
+"Portal サービスのオープンソース実装です。&JBEPP; は、テスト済みで "
+"一緒に認定を受けている JBoss Enterprise Middleware コンポーネンツの "
+"事前設定済プロフィール群を求めている企業顧客用の製品セットで構成 "
+"されており、統一化された使用経験を提供します。簡単に使用できるサーバー "
+"アーキテクチャと高い柔軟性を持つ JBoss は、 J2EE の初心者やカスタマイズ可能な "
+"ミドルウェアプラットフォームを求めている上級設計者にも理想的な選択と "
+"なります。"
#. Tag: para
#: Introduction.xml:12
@@ -43,6 +54,11 @@
"also gives you the flexibility to create customized versions for your "
"personal or business use."
msgstr ""
+"Java ベースであるため、&JBEPP; は異種プラットフォーム(cross-platform)で実行可能であり、 "
+"Java をサポートするオペレーティングシステムではいずれでも簡単にインストールと使用が "
+"できます。常時使用可能なソースコードは、サーバーのデバグやその認識に於いて強力な "
+"ツールとなります。また、個人使用の、あるいはビジネス使用のカスタム化したバージョンの作成も "
+"できる柔軟性も与えてくれます。"
#. Tag: para
#: Introduction.xml:15
@@ -51,12 +67,15 @@
"Installing &JBEPP; is simple and easy. You can have it installed and running "
"in no time. This guide will teach you to install and uninstall JBoss."
msgstr ""
+"&JBEPP; は簡素であり簡単です。インストールと使用が短時間でできます。 "
+"このガイドは JBoss のインストールとアンインストールについて説明 "
+"しています。"
#. Tag: title
#: Introduction.xml:40
#, no-c-format
msgid "Other Manuals"
-msgstr ""
+msgstr "その他のマニュアル"
#. Tag: para
#: Introduction.xml:41
@@ -66,3 +85,6 @@
"available online at <ulink url=\"http://www.redhat.com/docs/manuals/jboss"
"\"></ulink>."
msgstr ""
+"詳細な製品情報を求めている方はオンラインで取得できるマニュアル集を参照して下さい。 "
+"<ulink url=\"http://www.redhat.com/docs/manuals/jboss\"></ulink>"
+
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Test_Your_Installation.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Test_Your_Installation.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Test_Your_Installation.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -8,7 +8,7 @@
"Project-Id-Version: Test_Your_Installation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-25 19:20+0900\n"
+"PO-Revision-Date: 2009-08-26 14:27+0900\n"
"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@
#: Test_Your_Installation.xml:6 Test_Your_Installation.xml:22
#, no-c-format
msgid "Test your Installation"
-msgstr ""
+msgstr "インストール後のテスト"
#. Tag: para
#: Test_Your_Installation.xml:7
@@ -37,6 +37,14 @@
"output should look like the following (accounting for installation directory "
"differences) and contain no error or exception messages:"
msgstr ""
+"JBoss Enterprise Portal Platform をインストールした後に、簡単なスタートアップテストを "
+"実行してご使用の Java VM/オペレーティングシステムの組み合わせに何も主要な問題が "
+"ないことを確証するべきです。<ulink url=\"Post_Installation_Configuration\"></ulink> で "
+"説明されている通りに、<literal>JBOSS_HOME</literal> 環境変数がセットされていることを "
+"確認して下さい。ご自分のインストールをテストするには、<filename>JBOSS_DIST/jboss-as/bin</filename> "
+"ディレクトリに移動して、使用中のオペレーティングシステムに応じて、<filename>run.bat</filename> (Windows 用)、 "
+"又は <filename>run.sh</filename> (Linux 用) のスクリプトを実行します。その出力は以下のようになり、 "
+"(インストールディレクトリの差異はある)そしてエラーや例外のメッセージはないはずです:"
#. Tag: programlisting
#: Test_Your_Installation.xml:10
@@ -122,6 +130,12 @@
"observed in the <filename>server.log</filename> file located in the "
"<filename>server/production/log</filename> subdirectory."
msgstr ""
+"<literal>production</literal> プロフィールを使用してサーバーが開始された時に、 "
+"コンソールには \"Server Started\"(サーバー開始)のメッセージがないことに注意して "
+"下さい。<literal>production</literal> プロフィールは他の指定がない場合に "
+"デフォルトとなるプロフィールです。このメッセージは <filename>server/production/log</filename> "
+"サブディレクトリ内にある <filename>server.log</filename> ファイルで見ることができる "
+"でしょう。"
#. Tag: para
#: Test_Your_Installation.xml:16
@@ -135,6 +149,12 @@
"should look similar to this: <xref linkend=\"Test_your_Installation-"
"Test_your_Installation\"/>."
msgstr ""
+"ここで、ご使用のブラウザで <literal>http://localhost:8080/portal</literal> を "
+"開いて下さい(マシン上でこのポートを使用した他のものが立ち上がっていないことを "
+"確認して下さい)。<footnote><para> 一部のマシンでは、localhost と言う名前は "
+"正常に解決できないため、その場合は、local loopback アドレスである 127.0.0.1 を使用すべきです。 "
+"</para></footnote> 開いたページのコンテンツはこのようになるはずです: <xref linkend=\"Test_your_Installation-"
+"Test_your_Installation\"/>"
#. Tag: para
#: Test_Your_Installation.xml:30
@@ -144,4 +164,7 @@
"User Guide and Reference Guide for more information about the platform "
"layout and example applications showcasing JBoss Portal in action."
msgstr ""
+"これで、 JBoss Enterprise Portal Platform を使用する準備ができたことになります。 "
+"JBoss Portal の実践状態を示すプラットフォームレイアウト、及びサンプルのアプリケーションに "
+"関する詳細情報には、ユーザーガイド、及びリファレンスガイドを参照して下さい。"
Modified: docs/enterprise/trunk/Installation_Guide/ja-JP/Uninstall_JBoss.po
===================================================================
--- docs/enterprise/trunk/Installation_Guide/ja-JP/Uninstall_JBoss.po 2009-08-25 15:49:33 UTC (rev 13789)
+++ docs/enterprise/trunk/Installation_Guide/ja-JP/Uninstall_JBoss.po 2009-08-26 08:30:21 UTC (rev 13790)
@@ -1,23 +1,26 @@
+# translation of Uninstall_JBoss.po to Japanese
# Language ja-JP translations for Installation_Guide package.
+#
# Automatically generated, 2009.
-#
+# Kiyoto Hashida <khashida(a)redhat.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: Installation_Guide VERSION\n"
+"Project-Id-Version: Uninstall_JBoss\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-14 00:21+0000\n"
-"PO-Revision-Date: 2009-08-14 00:21+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2009-08-26 11:14+0900\n"
+"Last-Translator: Kiyoto Hashida <khashida(a)redhat.com>\n"
+"Language-Team: Japanese <jp(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: Uninstall_JBoss.xml:6
#, no-c-format
msgid "Uninstall JBoss"
-msgstr ""
+msgstr "JBoss のアンインストール"
#. Tag: para
#: Uninstall_JBoss.xml:7
@@ -26,3 +29,7 @@
"As JBoss Enterprise Portal Platform was installed from a zipfile, you may "
"uninstall it by simply deleting the &JBEPP; installed directory."
msgstr ""
+"JBoss Enterprise Portal Platform は zip ファイルからインストールされている "
+"ものですから、インストール先の &JBEPP; ディレクトリを削除することで簡単に "
+"それをアンインストールすることができます。"
+
14 years, 8 months
JBoss Portal SVN: r13789 - jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2009-08-25 11:49:33 -0400 (Tue, 25 Aug 2009)
New Revision: 13789
Modified:
jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java
Log:
- Adapted to changes to InstanceContext.
Modified: jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java
===================================================================
--- jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java 2009-08-25 13:40:47 UTC (rev 13788)
+++ jbossexo/modules/wsrp/trunk/producer/src/main/java/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java 2009-08-25 15:49:33 UTC (rev 13789)
@@ -25,7 +25,9 @@
import org.jboss.portal.common.util.ParameterValidation;
import org.jboss.portal.portlet.api.PortletContext;
+import org.jboss.portal.portlet.api.PortletStateType;
import org.jboss.portal.portlet.api.StateEvent;
+import org.jboss.portal.portlet.api.StatefulPortletContext;
import org.jboss.portal.portlet.api.spi.InstanceContext;
import org.jboss.portal.portlet.api.state.AccessMode;
@@ -86,4 +88,17 @@
{
return context;
}
+
+ public PortletStateType<?> getStateType()
+ {
+ if (context instanceof StatefulPortletContext)
+ {
+ StatefulPortletContext spc = (StatefulPortletContext)context;
+ return spc.getType();
+ }
+ else
+ {
+ return null;
+ }
+ }
}
14 years, 8 months