Author: rich
Date: Wed Jan 19 23:21:26 2005
New Revision: 125730
URL: http://svn.apache.org/viewcvs?view=rev&rev=125730
Log:
This is a submission from Carlin Rogers:
"- Added the schema for the url-templates-config.xml
- Modified the UrlTemplateDescriptor class to utilize
new classes that utilize XMLBeans to read and parse
a WEB-INF/url-templates-config.xml file.
- Added a new UrlTemplate class to provide an object
containing a parsed representation of a given url
template found in the config file. This should
improve performance as the old code was doing
string parsing each time a single token was to
be replaced with a value.
- Resurrected the urlTemplates webapp, adding an ant
build.xml, consistent index page flow, removing
some obsolete files, and fixing the testRecorder
config. Note that this test will not run correctly
unless configured with a ServerAdapter that
returns the correct SecurityProtocol value for a
given URL. (ToDo: need to update the
DefaultServerAdapter to parse the web.xml and
return the correct SecurityProtocol based on
security-constraint elements)
- cleaned up some of the tiles test jsp files.
- other minor clean up (typos, etc.)"
Thanks Carlin!
DRT/BVT: netui (WinXP)
BB: self (linux)
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplateFileParser.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/TemplateTokenizer.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplate.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateFileParser.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplates.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplatesFactory.java
(contents, props changed)
incubator/beehive/trunk/netui/src/util/schema/url-template-config/
incubator/beehive/trunk/netui/src/util/schema/url-template-config/config.xsdconfig
(contents, props changed)
incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Controller.jpf
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/index.jsp
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/style.css
(contents, props changed)
Removed:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/dataStructure.jspf
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/page.jspf
Modified:
incubator/beehive/trunk/build.xml
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
incubator/beehive/trunk/netui/test/webapps/drt/build.xml
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp
Modified: incubator/beehive/trunk/build.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/build.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/build.xml&r1=125729&p2=incubator/beehive/trunk/build.xml&r2=125730
==============================================================================
--- incubator/beehive/trunk/build.xml (original)
+++ incubator/beehive/trunk/build.xml Wed Jan 19 23:21:26 2005
@@ -188,7 +188,7 @@
<!-- note, to ease the transition when removing Tomcat from the build,
this will check a hard reference to CATALINA_HOME -->
<available file="${os.CATALINA_HOME}" type="dir"
property="tomcat.available"/>
<fail unless="tomcat.available"
- message="The directory ${os.CATALINA_HOME} does not appear to be
available. Plese define CATALINA_HOME"/>
+ message="The directory ${os.CATALINA_HOME} does not appear to be
available. Please define CATALINA_HOME"/>
<echo>Tomcat appears to be available in ${os.CATALINA_HOME}</echo>
<!-- note, to ease the transition when removing Tomcat from the build,
this will check a hard reference to CATALINA_HOME -->
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java&r1=125729&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultURLRewriter.java
Wed Jan 19 23:21:26 2005
@@ -17,7 +17,6 @@
*/
package org.apache.beehive.netui.pageflow.internal;
-import java.util.List;
import java.net.URISyntaxException;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
@@ -46,63 +45,6 @@
public void rewriteURL( ServletContext servletContext, ServletRequest
request,
ServletResponse response, MutableURI url, URLType
type, boolean needsToBeSecure )
{
- // TODO... fix/modify TemplateHelper to use MutableURI or figure out a
way for it subclass
- // MutableURI. This is just the old code from the depricate
DefaultURLRewriter.
-
- // Look for the template config. If it is found,
- // do the lookup to get the right template.
- // Apply the value to the template.
- String templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_UNSECURE;
- if ( type.equals( URLType.ACTION ) )
- {
- if ( needsToBeSecure )
- {
- templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_SECURE;
- }
- else
- {
- templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_UNSECURE;
- }
- }
- else if ( type.equals( URLType.RESOURCE ) )
- {
- if ( needsToBeSecure )
- {
- templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.RESOURCE_SECURE;
- }
- else
- {
- templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.RESOURCE_UNSECURE;
- }
- }
- TemplateHelper templateHelper = new TemplateHelper( (
HttpServletRequest ) request, ( HttpServletResponse ) response );
- if ( templateHelper.hasTemplateRef( templateType ) )
- {
- // TODO.. this is a hack having to go back and forth between
MutableURI and String.
- String templateName = templateHelper.getTemplateName( templateType
);
- templateHelper.setTemplate( templateName );
- templateHelper.setUrl( url.toString() );
- String templateURI = templateHelper.toString();
- try
- {
- MutableURI uri = new MutableURI( templateURI );
- url.setScheme( uri.getScheme() );
- url.setUserInfo( uri.getUserInfo() );
- url.setHost( uri.getHost() );
- url.setPort( uri.getPort() );
- url.setPath( uri.getPath() );
- url.setQuery( null );
- url.addParameters( uri.getParameters(), true );
- url.setFragment( uri.getFragment() );
- }
- catch ( URISyntaxException e )
- {
- _log.error( "Invalid URI from template " + templateName + ": "
+ templateURI );
- }
- }
- else
- {
-
ServerAdapter serverAdapter = ServerAdapterManager.getServerAdapter(
servletContext );
// If url is not absolute, then do default secure/unsecure rewriting
@@ -142,14 +84,13 @@
{
if (_log.isWarnEnabled())
{
- _log.warn("Could not rewrite URL " +
url.toString() + " to be secure because a secure port was" +
+ _log.warn("Could not rewrite URL " +
url.toString() + " to be non-secure because a secure port was" +
" not provided by the ServerAdapter.");
}
}
}
}
}
- } // end temporary "if" statement for TemplateHelper
//
// If the current request has a special parameter that addresses a
named 'scope',
@@ -164,6 +105,59 @@
url.addParameter( ScopedServletUtils.SCOPE_ID_PARAM, scopeID,
true );
}
}
+
+ // TODO... fix/modify TemplateHelper to use MutableURI and make a
separate step.
+ // Look for the template config. If it is found,
+ // do the lookup to get the right template.
+ // Apply the value to the template.
+ String templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_UNSECURE;
+ if ( type.equals( URLType.ACTION ) )
+ {
+ if ( needsToBeSecure )
+ {
+ templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_SECURE;
+ }
+ else
+ {
+ templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.ACTION_UNSECURE;
+ }
+ }
+ else if ( type.equals( URLType.RESOURCE ) )
+ {
+ if ( needsToBeSecure )
+ {
+ templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.RESOURCE_SECURE;
+ }
+ else
+ {
+ templateType =
org.apache.beehive.netui.pageflow.util.URLRewriter.RESOURCE_UNSECURE;
+ }
+ }
+ TemplateHelper templateHelper = new TemplateHelper( (
HttpServletRequest ) request, ( HttpServletResponse ) response );
+ if ( templateHelper.hasTemplateRef( templateType ) )
+ {
+ // TODO.. this is a hack having to go back and forth between
MutableURI and String.
+ String templateName = templateHelper.getTemplateName( templateType
);
+ templateHelper.setTemplate( templateName );
+ templateHelper.setUrl( url.toString() );
+ String templateURI = templateHelper.toString();
+ try
+ {
+ MutableURI uri = new MutableURI( templateURI );
+ url.setScheme( uri.getScheme() );
+ url.setUserInfo( uri.getUserInfo() );
+ url.setHost( uri.getHost() );
+ url.setPort( uri.getPort() );
+ url.setPath( uri.getPath() );
+ url.setQuery( null );
+ url.addParameters( uri.getParameters(), true );
+ url.setFragment( uri.getFragment() );
+ }
+ catch ( URISyntaxException e )
+ {
+ _log.error( "Invalid URI from template " + templateName + ": "
+ templateURI );
+ }
+ } // end temporary "if" statement for TemplateHelper
}
private static void internalRewriteUrl( MutableURI url, String protocol,
int port, String serverName )
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java&r1=125729&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/TemplateHelper.java
Wed Jan 19 23:21:26 2005
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
+import org.apache.beehive.netui.core.urltemplates.URLTemplate;
import org.apache.beehive.netui.pageflow.internal.InternalUtils;
import org.apache.beehive.netui.pageflow.internal.ServerAdapterManager;
@@ -114,7 +115,7 @@
/**
* <p>Template.</p>
*/
- private String template;
+ private URLTemplate template;
/**
* <p>Protocol scheme (http or https).</p>
@@ -195,15 +196,19 @@
*/
public void setTemplate(String templateName)
{
- String _template =
UrlTemplateDescriptor.getInstance().getUrlTemplate(templateName);
+ URLTemplate urlTemplate =
UrlTemplateDescriptor.getInstance().getUrlTemplate(templateName);
- if(_template == null) {
+ if(urlTemplate == null) {
// @TODO: i18n
throw new IllegalArgumentException("URL template " + templateName
+ " does not exist");
}
- // Set
- this.template = _template;
+ template = urlTemplate;
+ }
+
+ protected void setTemplate(URLTemplate urlTemplate)
+ {
+ template = urlTemplate;
}
/**
@@ -211,7 +216,7 @@
*
* @return URL template
*/
- public String getTemplate()
+ public URLTemplate getTemplate()
{
return template;
}
@@ -616,23 +621,20 @@
private String toStringTemplate()
{
- // Create a copy of the template
- String _template = new String(template);
-
// Scheme
- _template = replace(_template, "{url:scheme}", getScheme());
+ template.substitute("{url:scheme}", getScheme());
// Domain
- _template = replace(_template, "{url:domain}", getDomain());
+ template.substitute("{url:domain}", getDomain());
// Port
- _template = replace(_template, "{url:port}", getPort());
+ template.substitute("{url:port}", getPort());
// Path prefix
- _template = replace(_template, "{url:prefix}", getPathPrefix());
+ template.substitute("{url:prefix}", getPathPrefix());
// Replace currentPage
- _template = replace(_template, "{url:currentPage}", "");
+ template.substitute("{url:currentPage}", "");
// Path - this is reserved
StringBuilder buf = new StringBuilder(32);
@@ -664,7 +666,7 @@
buf = appendEnsureSeparator(buf, desktopPath);
}
}
- _template = replace(_template, "{url:path}", buf.toString());
+ template.substitute("{url:path}", buf.toString());
// Query string - this is reserved
buf = new StringBuilder(32);
@@ -686,38 +688,9 @@
}
}
}
- _template = replace(_template, "{url:queryString}", buf.toString());
-
- return _template;
- }
-
- private static String replace(String template, String param, String value)
- {
- if(value == null) {
- return template;
- }
- int index = template.indexOf(param);
- if(index != -1) {
- String pre = template.substring(0, index);
- if(pre.length() > 0 && value.length() > 0 &&
- pre.charAt(pre.length() - 1) == '/' && value.charAt(0) == '/') {
- value = value.substring(1);
- }
- String post = template.substring(index + param.length());
- if(post.length() > 0 && value.length() > 0 &&
- post.charAt(0) == '/' && value.charAt(value.length() - 1) ==
'/') {
- post = post.substring(1);
- }
- template = pre + value + post;
- }
+ template.substitute("{url:queryString}", buf.toString());
- return template;
- }
-
- private String replace(String template, String param, int value)
- {
- String valueStr = Integer.toString(value);
- return replace(template, param, valueStr);
+ return template.toString();
}
}
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java&r1=125729&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/util/UrlTemplateDescriptor.java
Wed Jan 19 23:21:26 2005
@@ -17,19 +17,15 @@
*/
package org.apache.beehive.netui.pageflow.util;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import javax.servlet.ServletContext;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-// NetUIx imports
+import org.apache.beehive.netui.core.urltemplates.URLTemplate;
+import org.apache.beehive.netui.core.urltemplates.URLTemplates;
+import org.apache.beehive.netui.core.urltemplates.URLTemplatesFactory;
import org.apache.beehive.netui.util.logging.Logger;
+import javax.servlet.ServletContext;
+import java.util.Arrays;
+import java.util.List;
+
/**
* <p>Maintains optional deployment information.</p>
*
@@ -46,13 +42,7 @@
// Singleton instance
private static UrlTemplateDescriptor instance = new
UrlTemplateDescriptor();
- // DD constants (maintain this alphabetical order)
- private static final String JPF_URL_TEMPLATES = "jpf-url-templates";
- private static final String NAME = "name";
- private static final String TYPE = "type";
- private static final String URL_TEMPLATE = "url-template";
- private static final String URL_TEMPLATE_REF = "url-template-ref";
-
+ private static final String JPF_TEMPLATE_REF = "jpf-url-templates";
// Constants for URL template types
public static final String DEFAULT_TEMPLATE = "default";
@@ -64,11 +54,15 @@
public static final String RESOURCE_TEMPLATE = "resource-template";
public static final String SECURE_RESOURCE_TEMPLATE =
"secure-resource-template";
+ private static final List< String > KNOWN_TEMPLATE_TOKENS =
+ Arrays.asList( "{url:scheme}", "{url:domain}", "{url:port}",
"{url:prefix}" );
+
+ private static final List< String > REQUIRED_TEMPLATE_TOKENS =
+ Arrays.asList( "{url:path}", "{url:queryString}" );
// URL templates
- private HashMap _urlTemplates = new HashMap();
- private HashMap _jpfTemplates = new HashMap();
-
+ private URLTemplates _urlTemplates = new URLTemplates();
+
private boolean _loaded = false;
@@ -85,9 +79,9 @@
* @param name name of the template
* @return template
*/
- public String getUrlTemplate(String name)
+ public URLTemplate getUrlTemplate(String name)
{
- return (String) _urlTemplates.get(name);
+ return _urlTemplates.getTemplate(name);
}
/**
@@ -98,15 +92,16 @@
*/
public String getJPFUrlTemplateRef(String type)
{
- String ref = (String) _jpfTemplates.get(type);
+ String ref = _urlTemplates.getTemplateNameByRef(JPF_TEMPLATE_REF,
type);
if(ref == null)
{
// If the template is a secure template, look for the secure
default
// before resolving to the default
if(type.equals(SECURE_RENDER_TEMPLATE) ||
type.equals(SECURE_ACTION_TEMPLATE) ||
- type.equals(SECURE_RESOURCE_TEMPLATE)) {
- ref = (String) _jpfTemplates.get(SECURE_DEFAULT_TEMPLATE);
+ type.equals(SECURE_RESOURCE_TEMPLATE))
+ {
+ ref = _urlTemplates.getTemplateNameByRef(JPF_TEMPLATE_REF,
SECURE_DEFAULT_TEMPLATE);
}
}
@@ -123,80 +118,6 @@
return instance;
}
- /**
- * <p>Loads the deployment descriptor and creates an instance of
- * <code>UrlTemplateDescriptor</code>.</p>
- *
- * @param stream an input stream for the deployment descriptor
- */
- // @todo Exception
- protected void load(InputStream stream) throws Exception
- {
- // Setup DOMBuilder
- DocumentBuilderFactory dbFactory = null;
-
- dbFactory = DocumentBuilderFactory.newInstance();
-
- DocumentBuilder dBuilder = null;
-
- dBuilder = dbFactory.newDocumentBuilder();
-
- // Set an entity resolver
- //dBuilder.setEntityResolver(DefaultEntityResolver.instance);
-
- // Set an error handler
- /*ErrorHandler errorHandler = new
InternalErrorHandler(AppDescriptor.contextName,
- DESCRIPTOR_PATH,
- AppDescriptor.logger);
- dBuilder.setErrorHandler(errorHandler);*/
-
- // Parse the document
- Document document = null;
- document = dBuilder.parse(stream);
-
- Element root = document.getDocumentElement();
-
- // Load
- loadTemplates(root);
- }
-
- private void loadTemplates(Element parent)
- {
- List templates = DOMUtils.getChildElementsByName(parent, URL_TEMPLATE);
- for(int i = 0; i < templates.size(); i++) {
- Element template = (Element) templates.get(i);
- String name = DOMUtils.getAttributeValue(template, NAME);
- String value = DOMUtils.getElementText(template);
- if(_log.isDebugEnabled()) {
- _log.debug("[URLTemplate] " + name + " = " + value);
- }
- try {
- verifyTemplate(value);
- }
- catch(IllegalArgumentException ie) {
- if(_log.isDebugEnabled()) {
- _log.debug("Exception while loading URL templates.", ie);
- }
- // @TODO: Log this, or set a constraint in the schema
- continue;
- }
-
- _urlTemplates.put(name, value);
- }
-
- // Now load the JPF templates
- Element jpfTemplatesRoot = DOMUtils.getChildElementByName(parent,
JPF_URL_TEMPLATES);
- if(jpfTemplatesRoot != null) {
- List refs = DOMUtils.getChildElementsByName(jpfTemplatesRoot,
URL_TEMPLATE_REF);
- for(int i = 0; i < refs.size(); i++) {
- Element templateRef = (Element) refs.get(i);
- String name = DOMUtils.getAttributeValue(templateRef, TYPE);
- String ref = DOMUtils.getAttributeValue(templateRef, NAME);
- _jpfTemplates.put(name, ref);
- }
- }
- }
-
public synchronized void load(ServletContext servletContext)
{
if ( _loaded )
@@ -204,69 +125,18 @@
return;
}
- InputStream stream = null;
try {
- stream = servletContext.getResourceAsStream(DESCRIPTOR_PATH);
- if (stream != null) {
- load(stream);
- }
- else {
- // No descriptor
- _log.warn("Could not find URL template descriptor at path " +
DESCRIPTOR_PATH);
- }
+ URLTemplatesFactory.setKnownTokens( KNOWN_TEMPLATE_TOKENS );
+ URLTemplatesFactory.setRequiredTokens( REQUIRED_TEMPLATE_TOKENS );
+ _urlTemplates = URLTemplatesFactory.getTemplates( servletContext );
}
catch (Exception e) {
- if(_log.isDebugEnabled()) {
- _log.debug("Exception while loading URL templates.", e);
- }
// Bad descriptor
- _log.error("Bad URL template descriptor in path " +
DESCRIPTOR_PATH);
+ _log.error("Exception while loading URL templates, " +
DESCRIPTOR_PATH, e);
e.printStackTrace();
}
- finally {
- // Close the stream
- if (stream != null) {
- try {
- stream.close();
- }
- catch (Exception ignore) {
- }
- }
- }
-
- _loaded = true;
- }
-
- private static String[] TEMPLATE_TOKENS = {"url:scheme",
- "url:domain",
- "url:port",
- "url:prefix",
- "url:path",
- "url:queryString"};
- private static void verifyTemplate(String template) throws
IllegalStateException
- {
- // For each known token, make sure there is a leading and trailing
brace
- for(int i = 0; i < TEMPLATE_TOKENS.length; i++) {
- int index = template.indexOf(TEMPLATE_TOKENS[i]);
- if(index != -1) {
- if(template.charAt(index - 1) != '{' &&
- template.charAt(index + TEMPLATE_TOKENS[i].length()) !=
'}') {
- // @TODO: i18n
- throw new IllegalStateException("Token " +
TEMPLATE_TOKENS[i] + " not enclosed in {}s");
- }
- }
- }
-
- // Check if the known tokens are present
- if(template.indexOf("{url:path}") == -1) {
- // @TODO: i18n
- throw new IllegalStateException("Required token {url:path} not
present in template " + template);
- }
- if(template.indexOf("{url:queryString}") == -1) {
- // @TODO: i18n
- throw new IllegalStateException("Required token {url:queryString}
not present in template " + template);
- }
+ _loaded = true;
}
}
Modified:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java&r1=125729&p2=incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
(original)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
Wed Jan 19 23:21:26 2005
@@ -154,6 +154,8 @@
/**
* Constructs a <code>MutableURI</code>.
+ *
+ * @param uri the initial value for this mutable URI
*/
public MutableURI( URI uri )
{
@@ -184,6 +186,7 @@
* to a URI. However, some URLs that are not strictly in compliance
* can not be converted to a URI. See [EMAIL PROTECTED] java.net.URL} </p>
*
+ * @param url the initial value for this mutable URI
* @exception URISyntaxException if this URL is not formatted strictly
* to RFC2396 and cannot be converted to a URI.
* @see java.net.URL#toURI()
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplateFileParser.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplateFileParser.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/DefaultURLTemplateFileParser.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument;
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument.UrlTemplateConfig;
+import org.apache.xmlbeans.XmlException;
+
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * Default implementation for parsing url-template-config.
+ */
+public class DefaultURLTemplateFileParser implements URLTemplateFileParser
+{
+ public UrlTemplateConfig parse( InputStream istr ) throws XmlException,
IOException
+ {
+ return UrlTemplateConfigDocument.Factory.parse( istr
).getUrlTemplateConfig();
+ }
+}
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/TemplateTokenizer.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/TemplateTokenizer.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/TemplateTokenizer.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import java.util.Iterator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+
+/**
+ * The identified tokens and the text between the
+ * matching tokens in the template are all returned.
+ */
+public class TemplateTokenizer implements Iterator
+{
+
+ private static final String PATTERN = "\\{url:\\w+\\}";
+ private static final Pattern pattern = Pattern.compile( PATTERN );
+
+ private CharSequence _template;
+ private Matcher _matcher;
+ private int _endPrevios = 0;
+
+ // The current matched token value. If non-null and literal == null,
+ // should be returned at the next call to next()
+ private String _token;
+
+ // The current literal string. If non-null, non-empty, should be
+ // returned at the next call to next()
+ private String _literal;
+
+ public TemplateTokenizer( CharSequence template )
+ {
+ _template = template;
+ _matcher = pattern.matcher( _template );
+ }
+
+ /**
+ * Returns true if there are more literals or tokens/delimiters.
+ */
+ public boolean hasNext()
+ {
+ if ( _matcher == null )
+ {
+ return false;
+ }
+ if ( _literal != null || _token != null )
+ {
+ return true;
+ }
+ if ( _matcher.find() )
+ {
+ _literal = _template.subSequence( _endPrevios, _matcher.start()
).toString();
+ _token = _matcher.group();
+ _endPrevios = _matcher.end();
+ }
+ else if ( _endPrevios < _template.length() )
+ {
+ // We're at the end
+ _literal = _template.subSequence( _endPrevios, _template.length()
).toString();
+ _endPrevios = _template.length();
+
+ // Remove the matcher so it doesn't reset itself
+ _matcher = null;
+ }
+ return _literal != null || _token != null;
+ }
+
+ /**
+ * Returns the next literal string or token/delimiter.
+ */
+ public Object next()
+ {
+ String result = null;
+
+ if ( _literal != null )
+ {
+ result = _literal;
+ _literal = null;
+ }
+ else if ( _token != null )
+ {
+ result = _token;
+ _token = null;
+ }
+ return result;
+ }
+
+ /**
+ * Returns true if the call to next() will return a token rather
+ * than a literal.
+ */
+ public boolean isTokenNext()
+ {
+ return _literal == null && _token != null;
+ }
+
+ /**
+ * Not supported.
+ */
+ public void remove()
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplate.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplate.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplate.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * The class to format a URL defined by url-template-config template
+ * given by values for a set of tokens.
+ */
+public class URLTemplate
+{
+ private static final char BEGIN_TOKEN_QUALIFIER = '{';
+ private static final char END_TOKEN_QUALIFIER = '}';
+
+ // The String form of the template.
+ private String _template;
+
+ // Parsed representation of the template... list of literals and tokens.
+ private ArrayList< TemplateItem > _parsedTemplate = null;
+
+ private boolean _isParsed = false;
+
+ // The set of known tokens in a valid template.
+ private Collection< String > _knownTokens = null;
+
+ // The set of required tokens in a valid template.
+ private Collection< String > _requiredTokens = null;
+
+ private HashMap< String, String > _tokenValuesMap = new HashMap< String,
String >();
+
+ /**
+ * Create a URLTemplate from a url-template-config template.
+ * <p/>
+ * Allow clients to define a set of required and known tokens for the
+ * template verification. Tokens are expected to be qualified
+ * in braces. E.g. {url:path}
+ * <p/>
+ * The template verification will ensure the URL template conforms to
+ * a valid format for known tokens and contains the required tokens.
+ *
+ * @param template the string form of the template from
url-template-config.
+ * @param knownTokens The set of known tokens for a valid template.
+ * @param requiredTokens The set of required tokens in a valid template.
+ */
+ public URLTemplate( String template, Collection< String > knownTokens,
Collection< String > requiredTokens )
+ {
+ setTemplate( template );
+ _knownTokens = knownTokens;
+ _requiredTokens = requiredTokens;
+ }
+
+ /**
+ * Copy constructor to create a URLTemplate from an existing URLTemplate.
+ *
+ * <p> Note that this is not truly a complete copy because the Map
+ * of the replacement values for the given tokens is not copied.
+ * This copy will just have an empty map of token values so that
+ * it is "cleared" and ready to format another URL.
+ *
+ * @param template the URLTemplate to copy.
+ */
+ public URLTemplate( URLTemplate template )
+ {
+ setTemplate( template.getTemplate() );
+ _knownTokens = template._knownTokens;
+ _requiredTokens = template._requiredTokens;
+ _parsedTemplate = template._parsedTemplate;
+ _isParsed = template._isParsed;
+ }
+
+ /**
+ * Set the String form of the template.
+ *
+ * @param template the string form of the template from
url-template-config.
+ */
+ public void setTemplate( String template )
+ {
+ if ( template == null || template.length() == 0 )
+ {
+ throw new IllegalStateException( "Template cannot be null or
empty." );
+ }
+
+ if ( template.equals( _template ) ) return;
+
+ _template = template;
+ _isParsed = false;
+ _parsedTemplate = null;
+ }
+
+ /**
+ * Retrieve the String form of the template.
+ *
+ * @return the string form of the template.
+ */
+ public String getTemplate()
+ {
+ return _template;
+ }
+
+ /**
+ * Verification will ensure the URL template conforms to a valid format
+ * for known tokens and contains the required tokens. It will also parse
+ * the tokens and literal data into a list to improve the replacement
+ * performance when constructing the final URL string.
+ */
+ public void verify() throws IllegalStateException
+ {
+ // For each known token, make sure there is a leading and trailing
brace
+ if ( _knownTokens != null )
+ {
+ for ( String token : _knownTokens )
+ {
+ if ( token != null && token.length() > 2 )
+ {
+ // Strip braces from the known token
+ token = token.substring( 1, token.length() - 1 );
+ int index = _template.indexOf( token );
+ if ( index != -1 )
+ {
+ if ( _template.charAt( index - 1 ) !=
BEGIN_TOKEN_QUALIFIER
+ && _template.charAt( index + token.length() )
!= END_TOKEN_QUALIFIER )
+ {
+ throw new IllegalStateException( "Template token,
" + token
+ + ", is not correctly enclosed with braces
in template: " + _template );
+ }
+ }
+ }
+ }
+ }
+
+ // Parse the template into tokens and literals
+ parseTemplate();
+
+ // Check if the required tokens are present
+ if ( _requiredTokens != null )
+ {
+ for ( String token : _requiredTokens )
+ {
+ String qualifiedToken = token;
+ TemplateItem requiredItem = new TemplateItem( qualifiedToken,
true );
+
+ if ( !_parsedTemplate.contains( requiredItem ) )
+ {
+ throw new IllegalStateException( "Required token, " + token
+ + ", not found in template: " + _template );
+ }
+ }
+ }
+ }
+
+ private void parseTemplate()
+ {
+ if ( _isParsed ) return;
+
+ _parsedTemplate = new ArrayList< TemplateItem >();
+ TemplateTokenizer tokenizer = new TemplateTokenizer( getTemplate() );
+ for ( ; tokenizer.hasNext(); )
+ {
+ boolean isToken = tokenizer.isTokenNext();
+ String tokenOrLiteral = ( String ) tokenizer.next();
+ TemplateItem item = new TemplateItem( tokenOrLiteral, isToken );
+ _parsedTemplate.add( item );
+ }
+
+ _isParsed = true;
+ }
+
+ /**
+ * Replace a set of tokens in the template with a corresponding set of
values.
+ * This assumes that there is an ordered one-to-one relationship. Tokens
are
+ * expected to be qualified in braces. E.g. {url:path}
+ */
+ public void substitute( Map< String, String > tokensAndValues )
+ {
+ if ( tokensAndValues != null )
+ {
+ _tokenValuesMap.putAll( tokensAndValues );
+ }
+ }
+
+ /**
+ * Replace a single token in the template with a corresponding String
value.
+ * Tokens are expected to be qualified in braces. E.g. {url:path}
+ */
+ public void substitute( String token, String value )
+ {
+ _tokenValuesMap.put( token, value );
+ }
+
+ /**
+ * Replace a single token in the template with a corresponding int value.
+ * Tokens are expected to be qualified in braces. E.g. {url:port}
+ */
+ public void substitute( String token, int value )
+ {
+ String valueStr = Integer.toString( value );
+ _tokenValuesMap.put( token, valueStr );
+ }
+
+ /**
+ * Return the String representation of the template after
+ * replacing all tokens with their associated values..
+ */
+ public String toString()
+ {
+ // template should already have been parsed with a call to
+ if ( !_isParsed )
+ {
+ // Parse the template into tokens and literals
+ parseTemplate();
+ }
+
+ StringBuilder result = new StringBuilder( _template.length() + 16 );
+ for ( TemplateItem item : _parsedTemplate )
+ {
+ if ( item.isToken() )
+ {
+ if ( _tokenValuesMap.containsKey( item.getValue() ) )
+ {
+ appendToResult( result, _tokenValuesMap.get(
item.getValue() ) );
+ }
+ else
+ {
+ // No value for the token so treat the token as a literal.
+ appendToResult( result, item.getValue() );
+ }
+ }
+ else
+ {
+ appendToResult( result, item.getValue() );
+ }
+ }
+
+ return result.toString();
+ }
+
+ // check to make sure we don't end up with "//" between components
+ // of the URL
+ private void appendToResult( StringBuilder result, String value )
+ {
+ if ( value == null || value.length() == 0 ) return;
+
+ if ( result.length() > 0 && result.charAt( result.length() - 1 ) == '/'
+ && value.charAt( 0 ) == '/' )
+ {
+ result.deleteCharAt( result.length() - 1 );
+ }
+ result.append( value );
+ }
+
+ protected class TemplateItem
+ {
+ private String value;
+ private boolean isToken = false;
+
+ public TemplateItem( String value, boolean isToken )
+ {
+ assert value != null : "TemplateItem value cannot be null.";
+ this.value = value;
+ this.isToken = isToken;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public boolean isToken()
+ {
+ return isToken;
+ }
+
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+ if ( !( o instanceof TemplateItem ) )
+ {
+ return false;
+ }
+
+ final TemplateItem templateItem = ( TemplateItem ) o;
+
+ if ( isToken != templateItem.isToken() )
+ {
+ return false;
+ }
+ if ( !value.equals( templateItem.getValue() ) )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ public int hashCode()
+ {
+ int result;
+ result = value.hashCode();
+ result = 29 * result + ( isToken ? 1 : 0 );
+ return result;
+ }
+ }
+}
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateFileParser.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateFileParser.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplateFileParser.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument.UrlTemplateConfig;
+import org.apache.xmlbeans.XmlException;
+
+import java.io.InputStream;
+import java.io.IOException;
+
+/** Class for parsing url-template-config. */
+public interface URLTemplateFileParser
+{
+ public UrlTemplateConfig parse( InputStream istr ) throws XmlException,
IOException;
+}
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplates.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplates.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplates.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * The key class to get information from url-template-config.
+ */
+public class URLTemplates
+{
+ private HashMap< String, URLTemplate > _templates = new HashMap< String,
URLTemplate >();
+ private HashMap< String, Map< String, String > > _templateRefGroups =
+ new HashMap< String, Map< String, String > >();
+
+ /**
+ * Add a template from url-template-config by name.
+ */
+ public void addTemplate( String templateName, URLTemplate template )
+ {
+ if ( templateName == null || templateName.length() == 0 )
+ {
+ throw new IllegalArgumentException( "Template name cannot be null
or empty." );
+ }
+
+ if ( template == null )
+ {
+ throw new IllegalArgumentException( "URLTemplate cannot be null."
);
+ }
+
+ _templates.put( templateName, template );
+ }
+
+ /**
+ * Retrieve a template from url-template-config by name.
+ * Always returns a copy of a URLTemplate with the same
+ * parsed template data but its own cleared set of
+ * token values for the substitue() methods.
+ * This allows multiple client requests access to
+ * the same parsed template structure, without requiring
+ * it to be parsed for each request.
+ *
+ * @return a URLTemplate copy with its own empty map for storing
+ * token replacement values.
+ */
+ public URLTemplate getTemplate( String templateName )
+ {
+ URLTemplate template = _templates.get( templateName );
+ if ( template == null ) return null;
+
+ return new URLTemplate( template );
+ }
+
+ /**
+ * Add a template reference group from url-template-config by name.
+ */
+ public void addTemplateRefGroup( String refGroupName, Map< String, String
> templateRefGroup )
+ {
+ if ( refGroupName == null || refGroupName.length() == 0 )
+ {
+ throw new IllegalArgumentException( "Template Reference Group name
cannot be null or empty." );
+ }
+
+ if ( templateRefGroup == null || templateRefGroup.size() == 0 )
+ {
+ throw new IllegalArgumentException( "Template Reference Group
cannot be null or empty." );
+ }
+
+ _templateRefGroups.put( refGroupName, templateRefGroup );
+ }
+
+ /**
+ * Retrieve a template name from a reference group in url-template-config.
+ */
+ public String getTemplateNameByRef( String refGroupName, String key )
+ {
+ String templateName = null;
+ Map< String, String > templateRefGroup = _templateRefGroups.get(
refGroupName );
+ if ( templateRefGroup != null )
+ {
+ templateName = templateRefGroup.get( key );
+ }
+
+ return templateName;
+ }
+}
Added:
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplatesFactory.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplatesFactory.java?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/core/urltemplates/URLTemplatesFactory.java
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,206 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.core.urltemplates;
+
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateConfigDocument.UrlTemplateConfig;
+import org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateDocument;
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateRefGroupDocument;
+import
org.apache.beehive.netui.core.urltemplates.schema.UrlTemplateRefDocument;
+import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.xmlbeans.XmlCursor;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashMap;
+
+/**
+ * Methods for configuring and retrieving the URLTemplates object.
+ */
+public class URLTemplatesFactory
+{
+ private static final Logger _log = Logger.getInstance(
DefaultURLTemplateFileParser.class );
+
+ // Path to the URL templates.
+ private static final String URL_TEMPLATE_CONFIG_FILE_PATH =
"/WEB-INF/url-template-config.xml";
+
+ // Parser to use on the URL template config file.
+ private static URLTemplateFileParser _parser = new
DefaultURLTemplateFileParser();
+
+ // The set of known tokens in a valid template.
+ private static Collection< String > _knownTokens = null;
+
+ // The set of required tokens in a valid template.
+ private static Collection< String > _requiredTokens = null;
+
+ /**
+ * Allow clients to set their own parser.
+ * <p/>
+ * The parser is used on the URL template config file,
+ * WEB-INF/url-template-config.xml. This can be used to support older
+ * file formats.
+ *
+ * @param parser The parser to use on the URL template config file.
+ */
+ public static void setParser( URLTemplateFileParser parser )
+ {
+ if ( parser == null )
+ {
+ throw new IllegalArgumentException( "Parser cannot be null." );
+ }
+
+ _parser = parser;
+ }
+
+ /**
+ * Allow clients to define a set of known tokens for the
+ * template verification. Tokens are expected to be qualified
+ * in braces. E.g. {url:path}
+ * <p/>
+ * The template verification will ensure the known tokens in the
+ * URL template conforms to a valid format.
+ *
+ * @param knownTokens The set of known tokens for a valid template.
+ */
+ public static void setKnownTokens( Collection< String > knownTokens )
+ {
+ _knownTokens = knownTokens;
+ }
+
+ /**
+ * Allow clients to define a set of required tokens for the
+ * template verification. Tokens are expected to be qualified
+ * in braces. E.g. {url:path}
+ * <p/>
+ * The template verification will ensure the URL template conforms to
+ * a valid format for known tokens and contains the required tokens.
+ *
+ * @param requiredTokens The set of required tokens in a valid template.
+ */
+ public static void setRequiredTokens( Collection< String > requiredTokens )
+ {
+ _requiredTokens = requiredTokens;
+ }
+
+ /**
+ * Parses the URL template config file, WEB-INF/url-template-config.xml,
+ * and returns the templates.
+ *
+ * @return The URL templates found in the config file.
+ */
+ public static URLTemplates getTemplates( ServletContext servletContext )
throws ServletException
+ {
+ URLTemplates urlTemplates = new URLTemplates();
+ InputStream stream = null;
+
+ try
+ {
+ UrlTemplateConfig urlTemplateConfig = null;
+ stream = servletContext.getResourceAsStream(
URL_TEMPLATE_CONFIG_FILE_PATH );
+ if ( stream != null )
+ {
+ urlTemplateConfig = _parser.parse( stream );
+ urlTemplates = getTemplatesFromConfig( urlTemplateConfig );
+ }
+ else
+ {
+ // No descriptor
+ _log.warn( "Could not find URL template descriptor at path " +
URL_TEMPLATE_CONFIG_FILE_PATH );
+ }
+ }
+ catch ( Throwable t )
+ {
+ // Bad descriptor
+ _log.debug( "Malformed URL template descriptor in " +
URL_TEMPLATE_CONFIG_FILE_PATH, t );
+ ServletException se = new ServletException( t );
+ se.initCause( t );
+ throw se;
+ }
+ finally
+ {
+ // Close the stream
+ if ( stream != null )
+ {
+ try
+ {
+ stream.close();
+ }
+ catch ( Exception ignore )
+ {
+ }
+ }
+ }
+
+ return urlTemplates;
+ }
+
+ /**
+ * Loads the templates from a parsed URL template config document.
+ *
+ * @param urlTemplateConfig the parsed XMLBean document for the URL
template config.
+ * @return The URL templates found in the config document.
+ */
+ protected static URLTemplates getTemplatesFromConfig( UrlTemplateConfig
urlTemplateConfig )
+ {
+ URLTemplates urlTemplates = new URLTemplates();
+
+ // Load templates
+ UrlTemplateDocument.UrlTemplate[] templates =
urlTemplateConfig.getUrlTemplateArray();
+ for ( int i = 0; i < templates.length; i++ )
+ {
+ String name = templates[i].getName().trim();
+ XmlCursor cursor = templates[i].newCursor();
+ cursor.toFirstChild();
+ String value = cursor.getTextValue();
+ if ( value != null )
+ {
+ value = value.trim();
+ if ( _log.isDebugEnabled() )
+ {
+ _log.debug( "[URLTemplate] " + name + " = " + value );
+ }
+ URLTemplate urlTemplate = new URLTemplate( value,
_knownTokens, _requiredTokens );
+ urlTemplate.verify();
+ urlTemplates.addTemplate( name, urlTemplate );
+ }
+ }
+
+ // Load template refs
+ UrlTemplateRefGroupDocument.UrlTemplateRefGroup[] templateRefGroups =
urlTemplateConfig.getUrlTemplateRefGroupArray ();
+ for ( int i = 0; i < templateRefGroups.length; i++ )
+ {
+ HashMap< String, String > refGroup = new HashMap< String, String
>();
+ String refGroupName =
templateRefGroups[i].getName().toString().trim();
+ UrlTemplateRefDocument.UrlTemplateRef[] templateRefs =
templateRefGroups[i].getUrlTemplateRefArray();
+ for ( int j = 0; j < templateRefs.length; j++ )
+ {
+ String key = templateRefs[j].getKey().toString().trim();
+ String name = templateRefs[j].getTemplateName().trim();
+ if ( _log.isDebugEnabled() )
+ {
+ _log.debug( "[" + refGroupName + " URLTemplate] " + key +
" = " + name );
+ }
+ refGroup.put( key, name );
+ }
+ urlTemplates.addTemplateRefGroup( refGroupName, refGroup );
+ }
+
+ return urlTemplates;
+ }
+}
Added:
incubator/beehive/trunk/netui/src/util/schema/url-template-config/config.xsdconfig
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/schema/url-template-config/config.xsdconfig?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/schema/url-template-config/config.xsdconfig
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config" >
+ <xb:namespace>
+ <xb:package>org.apache.beehive.netui.core.urltemplates.schema</xb:package>
+ </xb:namespace>
+</xb:config>
Added:
incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/util/schema/url-template-config/url-template-config.xsd
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
+
+ <xs:element name="url-template-config">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="url-template"
maxOccurs="unbounded"/>
+ <xs:element ref="url-template-ref-group"
maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="url-template">
+ <xs:annotation>
+ <xs:documentation>
+ The url-template element specifies URL templates.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="url-template-ref-group">
+ <xs:annotation>
+ <xs:documentation>
+ A group of references to url-template elements.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="url-template-ref"
maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string"
use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="url-template-ref">
+ <xs:annotation>
+ <xs:documentation>
+ The url-template-ref element declares references to URL
templates.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="key" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="action"/>
+ <xs:enumeration value="secure-action"/>
+ <xs:enumeration value="resource"/>
+ <xs:enumeration value="secure-resource"/>
+ <xs:enumeration value="render"/>
+ <xs:enumeration value="secure-render"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="template-name" type="xs:string"
use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/build.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/build.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/build.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/build.xml&r2=125730
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/build.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/build.xml Wed Jan 19
23:21:26 2005
@@ -43,7 +43,6 @@
<target name="update.runtime" description="Update the NetUI runtime in the
webapp without building the resources">
<!-- the default version of Struts for the DRTs. To override, pass
-Dstruts.version=1.1 on the command line -->
<property name="struts.version" value="1.2"/>
- <property name="webapp.dir" location="${app.dir}/drt/${webapp.name}"/>
<echo>struts.version: ${struts.version}</echo>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml&r2=125730
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
Wed Jan 19 23:21:26 2005
@@ -244,10 +244,6 @@
<taglib-uri>struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
- <taglib>
- <taglib-uri>struts-tiles.tld</taglib-uri>
- <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
- </taglib>
</jsp-config>
<security-constraint>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf&r2=125730
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/index/Controller.jpf
Wed Jan 19 23:21:26 2005
@@ -74,7 +74,7 @@
protected void onCreate()
{
- TestDefinitions td = td =
TestRecorderFilter.instance().getTestDefinitions();
+ TestDefinitions td =
TestRecorderFilter.instance().getTestDefinitions();
if (td == null) {
System.err.println("Didn't find the test Definitions");
}
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.blank.jsp
Wed Jan 19 23:21:26 2005
@@ -1,4 +1,3 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<h1> Blank Body Tile </h1>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/components.panel1.jsp
Wed Jan 19 23:21:26 2005
@@ -1,4 +1,4 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui" %>
<table bgcolor="#4169E1" cellspacing="0" cellpadding="10" border="1"
width="100%">
<tr>
@@ -12,9 +12,9 @@
<tr>
<td>
<ul>
- <li><html:link href="http://www.cnn.com/">CNN</html:link></li>
- <li><html:link href="http://www.nytimes.com/">NY
Times</html:link></li>
- <li><html:link href="http://www.yahoo.com/">Yahoo!</html:link></li>
+ <li><netui:anchor href="http://www.cnn.com/">CNN</netui:anchor></li>
+ <li><netui:anchor href="http://www.nytimes.com/">NY
Times</netui:anchor></li>
+ <li><netui:anchor
href="http://www.yahoo.com/">Yahoo!</netui:anchor></li>
</ul>
</td>
</tr>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternate.jsp
Wed Jan 19 23:21:26 2005
@@ -1,10 +1,8 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
-<html:html locale="true">
+<html>
<head>
<%-- We rely on tiles-defs.xml to set the title --%>
<title><tiles:getAsString name="titleString"/></title>
- <html:base/>
</head>
<body>
@@ -55,6 +53,6 @@
<!-- End footer -->
</body>
-</html:html>
+</html>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.alternateBody.jsp
Wed Jan 19 23:21:26 2005
@@ -1,4 +1,3 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.default.jsp
Wed Jan 19 23:21:26 2005
@@ -1,10 +1,8 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
-<html:html locale="true">
+<html>
<head>
<%-- We rely on tiles-defs.xml to set the title --%>
<title><tiles:getAsString name="titleString"/></title>
- <html:base/>
</head>
<body>
@@ -39,5 +37,5 @@
<!-- End footer -->
</body>
-</html:html>
+</html>
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/tiles/layout.mainBody.jsp
Wed Jan 19 23:21:26 2005
@@ -1,4 +1,3 @@
-<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf&r2=125730
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/xhtml/Controller.jpf
Wed Jan 19 23:21:26 2005
@@ -24,402 +24,7 @@
import org.apache.beehive.netui.tags.html.HtmlConstants;
import java.util.HashMap;
[EMAIL PROTECTED](
- )
[EMAIL PROTECTED](
- value = {
- "<!-- This data is auto-generated. Hand-editing this section is not
recommended. -->",
- "<view-properties>",
- "<pageflow-object id='formbean:Options'/>",
- "<pageflow-object id='formbean:CheckboxTests'/>",
- "<pageflow-object id='formbean:RadioTests'/>",
- "<pageflow-object id='formbean:SelectTests'/>",
- "<pageflow-object id='formbean:FormLabelTests'/>",
- "<pageflow-object id='action:begin.do'>",
- " <property value='80' name='x'/>",
- " <property value='60' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
- " <property value='80,80,80,80' name='elbowsX'/>",
- " <property value='104,104,96,96' name='elbowsY'/>",
- " <property value='South_1' name='fromPort'/>",
- " <property value='North_1' name='toPort'/>",
- " <property value='index' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goAnchorTarget.do'>",
- " <property value='540' name='x'/>",
- " <property value='60' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goAnchorTarget.do@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='52,52,72,72' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goAnchorTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='60' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goAnchorTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='52,52,72,72' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goCheckboxTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='140' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goCheckboxTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='132,132,152,152' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object
id='action:postCheckForm.do#xhtml.Controller.CheckboxTests'>",
- " <property value='540' name='x'/>",
- " <property value='140' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL
PROTECTED]:postCheckForm.do#xhtml.Controller.CheckboxTests@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='132,132,152,152' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object
id='action:postCheckFormTwo.do#xhtml.Controller.CheckboxTests'>",
- " <property value='540' name='x'/>",
- " <property value='200' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL
PROTECTED]:postCheckFormTwo.do#xhtml.Controller.CheckboxTests@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='192,192,163,163' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_2' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object
id='action:postFormLabelResults.do#xhtml.Controller.FormLabelTests'>",
- " <property value='540' name='x'/>",
- " <property value='560' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL
PROTECTED]:postFormLabelResults.do#xhtml.Controller.FormLabelTests@'>",
- " <property value='576,610,610,644' name='elbowsX'/>",
- " <property value='563,563,541,541' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_0' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goRadioTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='220' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goRadioTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='212,212,252,252' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object
id='action:postRadioForm.do#xhtml.Controller.RadioTests'>",
- " <property value='540' name='x'/>",
- " <property value='280' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL
PROTECTED]:postRadioForm.do#xhtml.Controller.RadioTests@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='272,272,292,292' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goSelectTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='320' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goSelectTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='312,312,352,352' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object
id='action:postSelectForm.do#xhtml.Controller.SelectTests'>",
- " <property value='540' name='x'/>",
- " <property value='360' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL
PROTECTED]:postSelectForm.do#xhtml.Controller.SelectTests@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='352,352,372,372' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goImageTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='400' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goImageTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='392,392,432,432' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:postImageForm.do'>",
- " <property value='540' name='x'/>",
- " <property value='440' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:postImageForm.do@'>",
- " <property value='576,590,590,604' name='elbowsX'/>",
- " <property value='432,432,432,432' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goLabelTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='500' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goLabelTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='492,492,492,492' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='action:goFormLabelTest.do'>",
- " <property value='280' name='x'/>",
- " <property value='560' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='forward:[EMAIL PROTECTED]:goFormLabelTest.do@'>",
- " <property value='316,350,350,384' name='elbowsX'/>",
- " <property value='552,552,552,552' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- " <property value='success' name='label'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:index.jsp'>",
- " <property value='80' name='x'/>",
- " <property value='140' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:anchorTargets.jsp'>",
- " <property value='640' name='x'/>",
- " <property value='80' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:anchorTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='80' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:checkboxTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='160' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:checkboxResults.jsp'>",
- " <property value='640' name='x'/>",
- " <property value='160' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:formLabelResults.jsp'>",
- " <property value='680' name='x'/>",
- " <property value='560' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:radioTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='260' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:radioResults.jsp'>",
- " <property value='640' name='x'/>",
- " <property value='300' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:selectTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='360' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:selectResults.jsp'>",
- " <property value='640' name='x'/>",
- " <property value='380' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:imageTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='440' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:imageResults.jsp'>",
- " <property value='640' name='x'/>",
- " <property value='440' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:labelTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='500' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='page:formLabelTest.jsp'>",
- " <property value='420' name='x'/>",
- " <property value='560' name='y'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='72,72,41,41' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_0' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goRadioTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='143,143,212,212' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goSelectTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='121,121,312,312' name='elbowsY'/>",
- " <property value='East_0' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goSelectTest.do@'>",
- " <property value='604,460,460,316' name='elbowsX'/>",
- " <property value='372,372,301,301' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_0' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goRadioTest.do@'>",
- " <property value='604,460,460,316' name='elbowsX'/>",
- " <property value='292,292,223,223' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_2' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='341,341,63,63' name='elbowsY'/>",
- " <property value='West_0' name='fromPort'/>",
- " <property value='East_2' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goLabelTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='143,143,492,492' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='421,421,63,63' name='elbowsY'/>",
- " <property value='West_0' name='fromPort'/>",
- " <property value='East_2' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goFormLabelTest.do@'>",
- " <property value='644,480,480,316' name='elbowsX'/>",
- " <property value='552,552,552,552' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goAnchorTest.do@'>",
- " <property value='604,460,460,316' name='elbowsX'/>",
- " <property value='72,72,52,52' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='252,252,52,52' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goImageTest.do@'>",
- " <property value='599,457,457,316' name='elbowsX'/>",
- " <property value='428,428,392,392' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goAnchorTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='132,132,52,52' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='552,552,63,63' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_2' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goAnchorTarget.do@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='72,72,52,52' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goCheckboxTest.do@'>",
- " <property value='604,460,460,316' name='elbowsX'/>",
- " <property value='152,152,121,121' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_0' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goImageTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='143,143,392,392' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goCheckboxTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='143,143,132,132' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:goFormLabelTest.do@'>",
- " <property value='116,180,180,244' name='elbowsX'/>",
- " <property value='143,143,552,552' name='elbowsY'/>",
- " <property value='East_2' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='141,141,41,41' name='elbowsY'/>",
- " <property value='West_0' name='fromPort'/>",
- " <property value='East_0' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postImageForm.do@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='432,432,432,432' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:begin.do@'>",
- " <property value='384,250,250,116' name='elbowsX'/>",
- " <property value='492,492,63,63' name='elbowsY'/>",
- " <property value='West_1' name='fromPort'/>",
- " <property value='East_2' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postFormLabelResults.do#xhtml.Controller.FormLabelTests@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='552,552,552,552' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postCheckFormTwo.do#xhtml.Controller.CheckboxTests@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='152,152,192,192' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postCheckForm.do#xhtml.Controller.CheckboxTests@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='141,141,132,132' name='elbowsY'/>",
- " <property value='East_0' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postRadioForm.do#xhtml.Controller.RadioTests@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='252,252,272,272' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "<pageflow-object id='action-call:@page:[EMAIL
PROTECTED]@action:postSelectForm.do#xhtml.Controller.SelectTests@'>",
- " <property value='456,480,480,504' name='elbowsX'/>",
- " <property value='352,352,352,352' name='elbowsY'/>",
- " <property value='East_1' name='fromPort'/>",
- " <property value='West_1' name='toPort'/>",
- "</pageflow-object>",
- "</view-properties>"
- })
[EMAIL PROTECTED]()
public class Controller extends PageFlowController
{
// checkbox tests
Modified:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/TilesDefinitions.xml
Wed Jan 19 23:21:26 2005
@@ -55,11 +55,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Default Layout Page - Tiles, NetUI Tags</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -108,7 +107,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -281,11 +279,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Default Layout Page - Tiles, NetUI Tags</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -334,7 +331,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -507,11 +503,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Default Layout Page - Tiles, Struts Tags</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -560,7 +555,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -731,11 +725,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Blank Body Page - Tiles</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -783,7 +776,6 @@
<br>
<!-- Begin content -->
-
<h1> Blank Body Tile </h1>
@@ -863,11 +855,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Edit Menu Page - Tiles</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -913,7 +904,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -1086,11 +1076,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Reversed Panels Page - Tiles</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -1139,7 +1128,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -1312,11 +1300,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Reversed Panels Page - Tiles</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -1365,7 +1352,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="63%">
@@ -1538,11 +1524,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Alternate Layout Page - Tiles</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.alternate.jsp">
</head>
<body>
@@ -1773,11 +1758,10 @@
<ses:response>
<ses:statusCode>200</ses:statusCode>
<ses:reason/>
- <ses:responseBody><![CDATA[<html lang="en">
+ <ses:responseBody><![CDATA[<html>
<head>
<title>Default Layout Page - Tiles, NetUI Tags</title>
- <base
href="http://localhost:8080/coreWeb/miniTests/tiles/layout.default.jsp">
</head>
<body>
@@ -1826,7 +1810,6 @@
<!-- Begin content -->
-
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr valign="top">
<td width="35%">
@@ -1948,4 +1931,4 @@
</ses:tests>
<ses:endDate>20 Dec 2004, 12:53:29.971 PM MST</ses:endDate>
<ses:testCount>9</ses:testCount>
-</ses:recorderSession>
\ No newline at end of file
+</ses:recorderSession>
Modified:
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf&r2=125730
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf
(original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/index/Controller.jpf
Wed Jan 19 23:21:26 2005
@@ -74,7 +74,7 @@
protected void onCreate()
{
- TestDefinitions td = td =
TestRecorderFilter.instance().getTestDefinitions();
+ TestDefinitions td =
TestRecorderFilter.instance().getTestDefinitions();
if (td == null) {
System.err.println("Didn't find the test Definitions");
}
Added: incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml?view=auto&rev=125730
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml Wed Jan
19 23:21:26 2005
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+
+<!--
+-->
+<project name="Beehive/NetUI/URLTemplatesTests" default="usage" basedir=".">
+
+ <import file="../../ant/webapp-imports.xml"/>
+
+ <property name="webapp.name" value="urlTemplates"/>
+ <property name="testRecorder.config.name"
value="netui-server-urlTemplates-config"/>
+ <property name="server.root.url" value="http://localhost:8080"/>
+ <property name="webapp.waitfor.url"
value="${server.root.url}/${webapp.name}"/>
+ <property name="webapp.dir"
location="${app.dir}/urlTemplates/${webapp.name}"/>
+
+ <!-- ================================================================ -->
+ <!-- -->
+ <!-- Targets for building a webapp -->
+ <!-- -->
+ <!-- ================================================================ -->
+ <target name="build" description="Build webapp">
+ <echo message="--------------------------------------------------"/>
+ <echo message="| NetUI urlTemplates DRT webapp build starting |"/>
+ <echo message="--------------------------------------------------"/>
+
+ <antcall target="update.runtime"/>
+
+ <build-webapp webappDir="${webapp.dir}"/>
+
+ <echo message="--------------------------------------------------"/>
+ <echo message="| NetUI urlTemplates DRT webapp build ending |"/>
+ <echo message="--------------------------------------------------"/>
+ </target>
+
+ <target name="update.runtime" description="Update the NetUI runtime in the
webapp without building the resources">
+ <!-- the default version of Struts for the DRTs. To override, pass
-Dstruts.version=1.1 on the command line -->
+ <property name="struts.version" value="1.2"/>
+ <echo>struts.version: ${struts.version}</echo>
+
+ <ant antfile="${test.dir}/ant/buildWebapp.xml" target="deploy.netui"
inheritAll="false">
+ <property name="webapp.dir" location="${webapp.dir}"/>
+ <property name="include.testrecorder" value="true"/>
+ <property name="testRecorder.config.name"
value="${testRecorder.config.name}"/>
+ <property name="test.file"
location="${app.dir}/urlTemplates/testRecorder/config/testRecorder-tests.xml"/>
+ <property name="config.file"
location="${app.dir}/urlTemplates/testRecorder/config/testRecorder-config.xml"/>
+ <property name="webapp.file"
location="${app.dir}/urlTemplates/testRecorder/config/testRecorder-webapp.xml"/>
+ <property name="struts.version" value="${struts.version}"/>
+ </ant>
+
+ <copy file="${webapp.dir}/WEB-INF/local-netui-config.xml"
+ tofile="${webapp.dir}/WEB-INF/${netuiconfig.xml.name}"
+ overwrite="true" failonerror="false"/>
+ </target>
+
+ <target name="clean" description="Clean webapp">
+ <echo message="--------------------------------------------------"/>
+ <echo message="| NetUI urlTemplates DRT webapp clean starting |"/>
+ <echo message="--------------------------------------------------"/>
+
+ <ant antfile="${test.dir}/ant/buildWebapp.xml" target="undeploy.netui"
inheritAll="false">
+ <property name="webapp.dir" location="${webapp.dir}"/>
+ <property name="include.testrecorder" value="true"/>
+ </ant>
+
+ <clean-webapp webappDir="${webapp.dir}"/>
+
+ <delete failOnError="false">
+ <fileset dir="${app.dir}/drt/${webapp.name}/WEB-INF/lib"
includes="**/*.jar"/>
+ </delete>
+
+ <echo message="--------------------------------------------------"/>
+ <echo message="| NetUI urlTemplates DRT webapp clean ending |"/>
+ <echo message="--------------------------------------------------"/>
+ </target>
+
+
+ <target name="scrub" depends="clean" description="Scrub webapp">
+ <delete dir="${tomcat.dir}/work/Catalina/localhost/${webapp.name}"
includeEmptyDirs="true"/>
+ <delete
file="${tomcat.dir}/conf/Catalina/localhost/${webapp.name}.xml"/>
+ </target>
+
+ <!-- ================================================================ -->
+ <!-- -->
+ <!-- Targets for running test recorder test suites -->
+ <!-- -->
+ <!-- ================================================================ -->
+ <target name="playback" description="Playback a specified list of test
recorder tests">
+ <ant antfile="${test.dir}/ant/testRecorder.xml" target="playback"
inheritAll="false">
+ <property name="playback.webapps" value="${webapp.name}"/>
+ </ant>
+ </target>
+
+ <target name="drt.running" description="Playback the 'drt' category to a
running server">
+ <ant antfile="${test.dir}/ant/testRecorder.xml"
target="suite.callback" inheritAll="false">
+ <property name="suite.name" value="drt"/>
+ <property name="playback.webapps" value="${webapp.name}"/>
+ <property name="waitfor.url" value="${webapp.waitfor.url}"/>
+ </ant>
+ </target>
+
+ <target name="drt" description="Run the drt suite with full server start /
stop support.">
+ <ant dir="${test.dir}" antfile="${test.dir}/ant/testRecorder.xml"
inheritAll="false" target="server.test">
+ <property name="app.build.file"
location="${app.dir}/urlTemplates/build.xml"/>
+ <property name="waitfor.url" value="${server.root.url}"/>
+ <property name="suite.name" value="drt"/>
+ <property name="playback.webapps" value="${webapp.name}"/>
+ <property name="drt.mode" value="true"/>
+ </ant>
+ <delete file="${webapp.dir}/WEB-INF/netui-config.xml"/>
+ </target>
+
+ <!-- ================================================================ -->
+ <!-- -->
+ <!-- Targets for deploying the webapp on a server -->
+ <!-- -->
+ <!-- ================================================================ -->
+ <target name="deploy" description="Deploy webapp">
+ <deploy-webapp webappDir="${webapp.dir}" contextPath="${webapp.name}"/>
+ </target>
+
+ <target name="undeploy" description="Undeploy webapp">
+ <undeploy-webapp contextPath="${webapp.name}"/>
+ </target>
+
+ <target name="redeploy" description="Redeploy webapp">
+ <redeploy-webapp contextPath="${webapp.name}"/>
+ </target>
+
+ <!-- ================================================================ -->
+ <!-- -->
+ <!-- Targets for starting / stopping a server -->
+ <!-- -->
+ <!-- ================================================================ -->
+ <target name="start" description="Start server with asserts enabled for
org.apache.beehive.netui">
+ <start-server shmem="false"
javaOptions="-ea:org.apache.beehive.netui..."/>
+ </target>
+
+ <target name="stop" description="Stop server">
+ <stop-server/>
+ </target>
+
+ <target name="ensure.deployed" description="Deploy webapp">
+ <echo>ensure.deployed is NYI</echo>
+ </target>
+
+ <target name="usage">
+ <java fork="no" classname="org.apache.tools.ant.Main">
+ <arg line="-projecthelp"/>
+ </java>
+ </target>
+</project>
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-config.xml
Wed Jan 19 23:21:26 2005
@@ -6,7 +6,9 @@
<suffix>jspx</suffix>
<suffix>do</suffix>
<suffix>jpf</suffix>
+ <suffix>faces</suffix>
<suffix></suffix>
</suffixList>
<servletURI>testRecorder</servletURI>
-</config>
\ No newline at end of file
+ <baseDirectory>@BASE_DIR@</baseDirectory>
+</config>
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/config/testRecorder-tests.xml
Wed Jan 19 23:21:26 2005
@@ -2,17 +2,17 @@
<testDefinitions
xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004">
<categories>
<category>
- <name>urlTemplates</name>
- <description>urlTemplates</description>
+ <name>drt</name>
+ <description>urlTemplates drt</description>
</category>
</categories>
<tests>
<test>
<name>UrlTemplates</name>
- <description>UrlTemplates</description>
+ <description>Test URL templates using
/WEB-INF/url-template-config.xml</description>
<webapp>urlTemplates</webapp>
<categories>
- <category>urlTemplates</category>
+ <category>drt</category>
</categories>
</test>
</tests>
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/testRecorder/tests/UrlTemplates.xml
Wed Jan 19 23:21:26 2005
@@ -16,7 +16,7 @@
<protocol>HTTP</protocol>
<protocolVersion>1.1</protocolVersion>
<host>localhost</host>
- <port>7001</port>
+ <port>8080</port>
<uri>/urlTemplates/testUrlTemplates/testUrlTemplatesController.jpf</uri>
<method>GET</method>
@@ -82,27 +82,29 @@
<response>
<statusCode>200</statusCode>
<reason></reason>
- <responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 4.01
Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
+ <responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
+ >
<html lang="en">
-<head>
+
+ <head>
<title>URL Templates Test</title>
</head>
<body>
- <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/begin.do?URLTEMPLATE=action%26"><i>begin
action</i></a><br>
- <a
href="https://@NON_UNIQUE_HOST@:7002/urlTemplates/testUrlTemplates/secure.do?URLTEMPLATE=secure-action%26"><i>secure
action</i></a><br>
- <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/unsecure.do?URLTEMPLATE=action%26"><i>unsecure
action</i></a><br>
- <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/index.jsp?URLTEMPLATE=action%26">index.jsp</a><br>
- <a
href="https://@NON_UNIQUE_HOST@:7002/urlTemplates/testUrlTemplates/secure.jsp?URLTEMPLATE=secure-action%26">secure.jsp</a><br>
- <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/index.jsp?URLTEMPLATE=action%26foo=bar">/urlTemplates/testUrlTemplates/index.jsp?foo=bar</a><br>
- <a
href="https://@NON_UNIQUE_HOST@:7002/urlTemplates/testUrlTemplates/secure.jsp?URLTEMPLATE=secure-action%26">/urlTemplates/testUrlTemplates/secure.jsp?foo=bar</a><br>
+ <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/begin.do?URLTEMPLATE=action"><i>begin
action</i></a><br>
+ <a
href="https://@NON_UNIQUE_HOST@:8443/urlTemplates/testUrlTemplates/secure.do?URLTEMPLATE=secure-action"><i>secure
action</i></a><br>
+ <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/unsecure.do?URLTEMPLATE=action"><i>unsecure
action</i></a><br>
+ <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/index.jsp?URLTEMPLATE=action">index.jsp</a><br>
+ <a
href="https://@NON_UNIQUE_HOST@:8443/urlTemplates/testUrlTemplates/secure.jsp?URLTEMPLATE=secure-action">secure.jsp</a><br>
+ <a
href="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/index.jsp?URLTEMPLATE=action&foo=bar">/urlTemplates/testUrlTemplates/index.jsp?foo=bar</a><br>
+ <a
href="https://@NON_UNIQUE_HOST@:8443/urlTemplates/testUrlTemplates/secure.jsp?URLTEMPLATE=secure-action">/urlTemplates/testUrlTemplates/secure.jsp?foo=bar</a><br>
<a href="http://www.bea.com?foo=bar">http://www.bea.com?foo=bar</a><br>
- image.gif: <img
src="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/image.gif?URLTEMPLATE=resource%26"><br>
- /urlTemplates/testUrlTemplates/image.gif: <img
src="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/image.gif?URLTEMPLATE=resource%26"><br>
- secureImage.gif: <img
src="https://@NON_UNIQUE_HOST@:7002/urlTemplates/testUrlTemplates/secureImage.gif?URLTEMPLATE=secure-resource%26"><br>
- /urlTemplates/testUrlTemplates/secureImage.gif: <img
src="https://@NON_UNIQUE_HOST@:7002/urlTemplates/testUrlTemplates/secureImage.gif?URLTEMPLATE=secure-resource%26"><br>
+ image.gif: <img
src="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/image.gif?URLTEMPLATE=resource"><br>
+ /urlTemplates/testUrlTemplates/image.gif: <img
src="http://@NON_UNIQUE_HOST@:@NON_UNIQUE_PORT@/urlTemplates/testUrlTemplates/image.gif?URLTEMPLATE=resource"><br>
+ secureImage.gif: <img
src="https://@NON_UNIQUE_HOST@:8443/urlTemplates/testUrlTemplates/secureImage.gif?URLTEMPLATE=secure-resource"><br>
+ /urlTemplates/testUrlTemplates/secureImage.gif: <img
src="https://@NON_UNIQUE_HOST@:8443/urlTemplates/testUrlTemplates/secureImage.gif?URLTEMPLATE=secure-resource"><br>
http://www.bea.com/content/images/bea_logo.gif?foo=bar: <img
src="http://www.bea.com/content/images/bea_logo.gif?foo=bar"><br>
</body>
+
</html>]]></responseBody>
</response>
@@ -120,4 +122,4 @@
<testCount>1</testCount>
<passedCount>0</passedCount>
<failedCount>1</failedCount>
-</recorderSession>
\ No newline at end of file
+</recorderSession>
Deleted:
/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/Controller.jpf?view=auto&rev=125729
==============================================================================
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/src/global/Global.app
Wed Jan 19 23:21:26 2005
@@ -1,6 +1,7 @@
package global;
import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
@Jpf.Controller(
catches={
@@ -10,15 +11,23 @@
)
public class Global extends GlobalApp
{
- @Jpf.Action([EMAIL PROTECTED](name="home", path="/Controller.jpf")})
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="home", path="/index.jsp")
+ }
+ )
public Forward home()
{
return new Forward( "home" );
}
- @Jpf.ExceptionHandler([EMAIL PROTECTED](name="errorPage",
path="/error.jsp")})
+ @Jpf.ExceptionHandler(
+ forwards={
+ @Jpf.Forward(name="errorPage", path="/error.jsp")
+ }
+ )
protected Forward handleException( Exception ex, String actionName,
- String message, FormData form )
+ String message, Object form )
{
System.err.print( "[" + getRequest().getContextPath() + "] " );
System.err.println( "Unhandled exception caught in Global.app:" );
@@ -27,8 +36,8 @@
}
@Jpf.ExceptionHandler
- public Forward handlePageFlowException( PageFlowException ex, String
message,
- String action, FormData form )
+ public Forward handlePageFlowException( PageFlowException ex, String
actionName,
+ String message, Object form )
throws java.io.IOException
{
ex.sendError( getRequest(), getResponse() );
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/url-template-config.xml
Wed Jan 19 23:21:26 2005
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
-<template-config>
+<url-template-config>
<!-- URL templates -->
<url-template name="default">
{url:scheme}111://{url:domain}:{url:port}/{url:prefix}/{url:path}?{url:queryString}
</url-template>
<url-template name="jpf-action">
-
http://{url:domain}:7001/{url:path}?URLTEMPLATE=action%26{url:queryString}
+
http://{url:domain}:{url:port}/{url:path}?URLTEMPLATE=action&{url:queryString}
</url-template>
<url-template name="jpf-secure-action">
-
https://{url:domain}:7002/{url:path}?URLTEMPLATE=secure-action%26{url:queryString}
+
https://{url:domain}:8443/{url:path}?URLTEMPLATE=secure-action&{url:queryString}
</url-template>
<url-template name="jpf-resource">
-
http://{url:domain}:7001/{url:path}?URLTEMPLATE=resource%26{url:queryString}
+
http://{url:domain}:{url:port}/{url:path}?URLTEMPLATE=resource&{url:queryString}
</url-template>
<url-template name="jpf-secure-resource">
-
https://{url:domain}:7002/{url:path}?URLTEMPLATE=secure-resource%26{url:queryString}
+
https://{url:domain}:8443/{url:path}?URLTEMPLATE=secure-resource&{url:queryString}
</url-template>
- <jpf-url-templates>
- <url-template-ref type="action" name="jpf-action"/>
- <url-template-ref type="secure-action" name="jpf-secure-action"/>
- <url-template-ref type="resource" name="jpf-resource"/>
- <url-template-ref type="secure-resource" name="jpf-secure-resource"/>
- </jpf-url-templates>
-</template-config>
+ <url-template-ref-group name="jpf-url-templates">
+ <url-template-ref key="action" template-name="jpf-action"/>
+ <url-template-ref key="secure-action"
template-name="jpf-secure-action"/>
+ <url-template-ref key="resource" template-name="jpf-resource"/>
+ <url-template-ref key="secure-resource"
template-name="jpf-secure-resource"/>
+ </url-template-ref-group>
+</url-template-config>
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/WEB-INF/web.xml
Wed Jan 19 23:21:26 2005
@@ -1,18 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-
-<!-- The web.xml file is a configuration file used to control the behavior of
WebLogic server.
-In most cases, you will not need to modify this file. For more information on
web.xml, please
-consult the Web.xml Deployment Descriptor Elements chapter of the "Developing
WebLogic Server
-Applications" documentation on edocs.bea.com. -->
+<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">
-<web-app>
- <display-name>Workshop Application</display-name>
-
+ <!-- Test Recorder Filter -->
<filter>
<filter-name>TestRecorderFilter</filter-name>
<filter-class>org.apache.beehive.netui.tools.testrecorder.server.TestRecorderFilter</filter-class>
@@ -126,20 +120,22 @@
</error-page>
<!-- Define the NetUI tag library TLDs -->
- <taglib>
+ <jsp-config>
+ <taglib>
<taglib-uri>beehive-netui-tags-html.tld</taglib-uri>
<taglib-location>/WEB-INF/beehive-netui-tags-html.tld</taglib-location>
- </taglib>
+ </taglib>
- <taglib>
+ <taglib>
<taglib-uri>beehive-netui-tags-databinding.tld</taglib-uri>
<taglib-location>/WEB-INF/beehive-netui-tags-databinding.tld</taglib-location>
- </taglib>
+ </taglib>
- <taglib>
+ <taglib>
<taglib-uri>beehive-netui-tags-template.tld</taglib-uri>
<taglib-location>/WEB-INF/beehive-netui-tags-template.tld</taglib-location>
- </taglib>
+ </taglib>
+ </jsp-config>
<security-constraint>
<web-resource-collection>
Deleted:
/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/dataStructure.jspf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/dataStructure.jspf?view=auto&rev=125729
==============================================================================
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/error.jsp
Wed Jan 19 23:21:26 2005
@@ -1,23 +1,69 @@
-<!--Generated by WebLogic Workshop-->
-<%@ page language="java" contentType="text/html;charset=UTF-8"
isErrorPage="true"%>
-<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
-<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
-<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<netui:html>
<head>
- <title>Error</title>
+ <title>NetUI Error</title>
+ <style>
+ table {
+ border: solid 1pt #90180F;
+ background-color: #ffffff;
+ }
+ body {
+ margin: 20pt 5%;
+ background-color: #fdf4b6;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 10pt;
+ }
+ .caption {
+ font-weight: bold;
+ font-size: 20pt;
+ text-align: left;
+ width: 500px
+ }
+ th {vertical-align: top;
+ text-align: right;
+ font-size: 12pt;
+ color: #90180F;
+ width: 100px;
+ }
+ td {
+ text-align: left;
+ }
+ hr {
+ color: #90180F;
+ }
+ .posTitle {
+ position: relative;
+ color: #6C0C06;
+ left: -160pt;
+ top: -12pt;
+ }
+ .pfErrorLineOne {
+ color: red;
+ font-size: 12pt;
+ font-style: italic;
+ }
+ img {
+ border: solid 2pt #90180F;
+ }
+ </style>
+ <netui:base/>
</head>
- <body>
- <p>
- An error has occurred:
- </p>
- <blockquote>
- <netui:label value="{request.errorMessage}" defaultValue="" />
- <br/>
- <netui:exceptions showMessage="true" />
- </blockquote>
- </body>
+ <netui:body>
+ <div class="caption">
+ <netui:image
src="${pageContext.request.contextPath}/resources/beehive/version1/images/error-header.jpg"
width="338" height="96" alt="Page Flow Error"/>
+ <span class="posTitle">NetUI Error</span>
+ </div>
+ <table border="0" cellspacing='0' cellpadding='4'>
+ <c:if test="${request.errorMessage != null}">
+ <tr><th>Message:</th><td class="pfErrorLineOne"><netui:label
value="${request.errorMessage}" defaultValue=" "/></td></tr>
+ </c:if>
+ <tr><th>Exception:</th><td class="pfErrorLineOne"><netui:exceptions
showMessage="true"/></td></tr>
+ <tr><td colspan="2" style="min-width:342"><hr></td></tr>
+ <tr><th>Stack Trace:</th><td><netui:exceptions showMessage="false"
showDevModeStackTrace="true"/></td></tr>
+ </table>
+ </netui:body>
</netui:html>
-
-<!-- Some browsers will not display this page unless the response status code
is 200. -->
+<%-- Some browsers will not display this page unless the response status code
is 200. --%>
<% response.setStatus(200); %>
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index.jsp
Wed Jan 19 23:21:26 2005
@@ -1,14 +1,7 @@
-<%@ page import="java.net.URL" %>
-<% String _title = "URL Template Tests"; %>
-<%@ include file="dataStructure.jspf"%>
-<%
- String context = request.getContextPath();
-
- Info[] _testList = {
- new Info("UrlTemplates", context +
"/testUrlTemplates/testUrlTemplatesController.jpf",
- "Tests various URL templates on various tags.",
- "Tags, URL Templates"
- )
- };
-%>
-<%@ include file="page.jspf"%>
+<html>
+<head>
+</head>
+<body>
+<jsp:forward page="index/Controller.jpf" />
+</body>
+</html>
Added:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Controller.jpf?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Controller.jpf
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,188 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package index;
+
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import org.apache.beehive.netui.tools.testrecorder.shared.config.Category;
+import
org.apache.beehive.netui.tools.testrecorder.shared.config.TestDefinition;
+import
org.apache.beehive.netui.tools.testrecorder.shared.config.TestDefinitions;
+import org.apache.beehive.netui.tools.testrecorder.server.TestRecorderFilter;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+
[EMAIL PROTECTED] (
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ },
+ longLived = true
+)
+public class Controller extends PageFlowController
+{
+ private final String ROW_ON_STYLE = "row";
+ private final String ROW_OFF_STYLE = "altRow";
+ private final String TESTS = " Tests";
+ transient private TestDefinitions _td;
+ transient private Category[] _cats;
+ private String _cat = "drt";
+
+ private boolean _rowOn = false;
+
+ public Iterator getCategories()
+ {
+ CatIterator it = new CatIterator(_cats,_cat);
+ return it;
+ }
+
+ public Iterator getTests()
+ {
+ TestIterator it = new TestIterator(_td.getCategories().getTests(_cat));
+ return it;
+ }
+
+ public String getTitle() {
+ Category c = _td.getCategories().getCategory(_cat);
+ String d = c.getDescription();
+ int pos = d.indexOf("Tests");
+ return c.getDescription() + ((pos != -1) ? "" : TESTS);
+ }
+
+ public String getRowStyle() {
+ _rowOn = !_rowOn;
+ return (_rowOn) ? ROW_ON_STYLE : ROW_OFF_STYLE;
+ }
+
+
+ protected void onCreate()
+ {
+ TestDefinitions td =
TestRecorderFilter.instance().getTestDefinitions();
+ if (td == null) {
+ System.err.println("Didn't find the test Definitions");
+ }
+ _td = td;
+ _cats = _td.getCategories().getCategories();
+ }
+
+ @Jpf.Action(
+ forwards = {
+ @Jpf.Forward(
+ name = "success",
+ path = "index.jsp")
+ })
+ public Forward selectList()
+ {
+ _rowOn = false;
+ String cat = getRequest().getParameter("target");
+ if (cat != null) {
+ _cat = cat;
+ }
+ return new Forward( "success" );
+ }
+
+ public class CatIterator implements Iterator
+ {
+ private Category[] _cats;
+ private int pos;
+ private Category _cat;
+ private String _selCat;
+
+ public CatIterator(Category[] cats, String selCat) {
+ _cats = cats;
+ _selCat = selCat;
+ pos = 0;
+ }
+
+ public String getName() {
+ return _cat.getName();
+ }
+
+ public String getDescription() {
+ return _cat.getDescription();
+ }
+
+ public String getSelection() {
+ return (_cat.getName().equals(_selCat)) ? "uberlink" : null;
+ }
+
+ public boolean hasNext()
+ {
+ return (pos < _cats.length);
+ }
+
+ public Object next()
+ {
+ _cat = _cats[pos++];
+ return this;
+ }
+
+ public void remove()
+ {
+ throw new RuntimeException("Iterator does not support remove.");
+ }
+ }
+
+ public class TestIterator implements Iterator
+ {
+ private List _list;
+ private int _cur;
+ private TestDefinition _test;
+
+ public TestIterator(List l)
+ {
+ _list = l;
+ _cur = 0;
+ }
+
+ public String getName()
+ {
+ return _test.getName();
+ }
+
+ public boolean isDiff()
+ {
+ File file = new File(_test.getResultDiffFilePath());
+ return file.exists();
+ }
+
+ public String getDescription()
+ {
+ return _test.getDescription();
+ }
+
+ //*********************************** ITERATOR
******************************************
+ public boolean hasNext()
+ {
+ return (_cur != _list.size());
+ }
+
+ public Object next()
+ {
+ _test = (TestDefinition) _list.get(_cur++);
+ return this;
+ }
+
+ public void remove()
+ {
+ throw new RuntimeException("Iterator does not support remove.");
+ }
+ }
+}
Added:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/index.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/index.jsp?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/index.jsp
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,80 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
+<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<netui:html>
+ <head>
+ <title>Beehive NetUI Tests</title>
+ <netui:base/>
+ <link href="style.css" rel="stylesheet" type="text/css">
+ <style type="text/css">
+ .nameColumn {
+ width: 140pt;
+ vertical-align: top;
+ text-align: right;
+ }
+
+ .descrColumn {
+ }
+
+ .diffColumn {
+ width: 30pt;
+ text-align: center;
+ vertical-align: top;
+ }
+
+ .detailColumn {
+ width: 40pt;
+ text-align: center;
+ vertical-align: top;
+ }
+
+ </style>
+ </head>
+
+ <netui:body>
+ <div style="height:80px">
+ <netui:image style="z-index:1" src="Beehive.gif" />
+ <div class="title">Beehive NetUI Tests</div>
+ <div class="subTitle">${pageFlow.title}</div>
+ </div>
+ <hr>
+ <div id="navlist">
+ <ul>
+ <netui-data:repeater dataSource="pageFlow.categories">
+ <li><netui:anchor styleClass="${container.item.selection}"
action="selectList">${container.item.description}
+ <netui:parameter name="target" value="${container.item.name}" />
+ </netui:anchor></li>
+ </netui-data:repeater>
+ </ul>
+ </div>
+ <div id="content">
+ <netui-data:repeater dataSource="pageFlow.tests">
+ <netui-data:repeaterHeader><table border='1px'
cellspacing='0'></netui-data:repeaterHeader>
+ <netui-data:repeaterItem>
+ <tr class="${pageFlow.rowStyle}">
+ <td class="nameColumn"><netui:anchor
href="/urlTemplates/testRecorder?mode=displayLink">${container.item.name}
+ <netui:parameter name="file" value="${container.item.name}"/>
+ </netui:anchor></td>
+ <td class="diffColumn">
+ <c:if test="${container.item.diff == true}">
+ <netui:anchor href="/urlTemplates/testRecorder?mode=diff">Diff
+ <netui:parameter name="file"
value="${container.item.name}"/>
+ </netui:anchor>
+ </c:if>
+
+ </td>
+ <td class="descrColumn">${container.item.description}
+ </td>
+ <td class="detailColumn"><netui:anchor
href="/urlTemplates/testRecorder?mode=details">Details
+ <netui:parameter name="file" value="${container.item.name}"/>
+ </netui:anchor></td>
+ </tr>
+ </netui-data:repeaterItem>
+ <netui-data:repeaterFooter></table></netui-data:repeaterFooter>
+ </netui-data:repeater>
+ </div>
+ </netui:body>
+</netui:html>
+
Added:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/style.css
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/style.css?view=auto&rev=125730
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/style.css
Wed Jan 19 23:21:26 2005
@@ -0,0 +1,151 @@
+ body {
+ font: 10pt/16pt Comic Sans MS;
+ color: #555753;
+ margin: 5px 10px 5px 5px;
+}
+
+/** Define the look of links **/
+a:link {
+ text-decoration: none;
+ color: #e18700;
+ }
+
+a:visited {
+ text-decoration: none;
+ color: #ffad30;
+ }
+
+a:hover, a:active {
+ text-decoration: underline;
+ color: #9685BA;
+}
+
+.altRow {
+ background-color: #eeeeff;
+}
+
+/** Define the title which is positioned at the top **/
+.title {
+ position: absolute;
+ left: 80px;
+ top: 20px;
+ font-family: "Comic Sans MS", Arial, Helvetica, sans-serif;
+ font-size: 20pt;
+ font-weight: bold;
+ margin:0px;
+ padding:0px;
+ color: white;
+ z-index: 3;
+}
+
+.subTitle {
+ position: absolute;
+ left: 100px;
+ top: 55px;
+ font-family: "Comic Sans MS", Arial, Helvetica, sans-serif;
+ font-size: 16pt;
+ font-weight: bold;
+ margin:0px;
+ padding:0px;
+ color: white;
+ z-index: 3;
+}
+
+/** This defines the left nav bar **/
+
+#content {
+ margin: 0px 10px 0px 120px
+}
+
+#navlist {
+ position: absolute;
+ left: 5px;
+ top: 100px;
+ width: 90px;
+}
+
+#navlist ul {
+ margin: 0; /* remove indent IE and Opera */
+ padding: 0; /* remove indent Mozilla and NN7 */
+ list-style-type: none; /* turns off display of bullet */
+ font-family: "Comic Sans MS", Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+}
+
+#navlist li {
+ margin: 0 0 3px 0;
+}
+
+#navlist a {
+ display: block;
+ padding: 1px 2px 0px 20px;
+ border: 1px solid #333;
+ width: 84px;
+ background-color: #999;
+ background-image: url(linkDown.gif);
+ text-decoration: none;
+}
+
+#navlist a:link, #navlist a:visited {
+ color: #FFFFFF;
+}
+
+#navlist a:hover {
+ border: 1px solid #333;
+ background-color: #FF6600;
+ background-image: url(linkOver.gif);
+ color: #333;
+}
+
+a.uberlink, a.uberlink:link, a.uberlink :visited, a.uberlink :hover {
+ border: 1px solid #333 !important;
+ background-color: #FF6600 !important;
+ background-image: url(linkOver.gif) !important;
+ color: #333 !important;
+}
+
+
+
+/** This is the test recorder which we are going to put into the panel on the
left side **/
+
+#netuiTestRecorder
+{
+ position: absolute;
+ left:620px;
+ top: 5px;
+ width: 103px;
+ background-color:#c0c0c0 !important;
+ padding: 2pt 0pt 2pt 2pt !important;
+ color: #e18700 !important;
+}
+
+#netuiTestRecorder span {
+ color: inherit !important;
+ font-size: 10pt;
+}
+
+#netuiTestRecorder a {
+ color: blue !important;
+ font-weight: normal !important;
+}
+
+#netuiTestRecorder a span {
+ color: inherit !important;
+ font-weight: normal !important;
+}
+
+#netuiTestRecorder hr {
+ display: none
+}
+
+#netuiTestRecorder a:visited, #netuiTestRecorder a:link {
+ text-decoration: none;
+ color: #e18700 !important;
+}
+
+#netuiTestRecorder a:hover, #netuiTestRecorder a:active {
+ text-decoration: underline;
+ color: #9685BA !important;
+}
+
Deleted:
/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/page.jspf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/page.jspf?view=auto&rev=125729
==============================================================================
Modified:
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp?view=diff&rev=125730&p1=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp&r1=125729&p2=incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp&r2=125730
==============================================================================
---
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp
(original)
+++
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/testUrlTemplates/index.jsp
Wed Jan 19 23:21:26 2005
@@ -1,7 +1,5 @@
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
-<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
-<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
<netui:html>
<head>
<title>URL Templates Test</title>