You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by dd...@apache.org on 2006/11/03 20:57:28 UTC
svn commit: r470971 - in /struts/sandbox/trunk/tiles:
tiles-core/src/main/java/org/apache/tiles/context/jsp/
tiles-core/src/main/java/org/apache/tiles/context/servlet/
tiles-core/src/main/java/org/apache/tiles/definition/
tiles-core/src/main/java/org/a...
Author: ddewolf
Date: Fri Nov 3 11:57:27 2006
New Revision: 470971
URL: http://svn.apache.org/viewvc?view=rev&rev=470971
Log:
Code cleanup
Added:
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java (with props)
struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp (with props)
Removed:
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactoryConfig.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/RequestUtils.java
Modified:
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/jsp/JspTilesRequestContext.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletHeaderValuesMap.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactory.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/UrlDefinitionsFactory.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerFactory.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/BaseInsertTag.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/DefinitionTag.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/GetAsStringTag.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java
struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java
struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java
struts/sandbox/trunk/tiles/tiles-test/src/main/resources/org/apache/tiles/classpath-defs.xml
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/jsp/JspTilesRequestContext.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/jsp/JspTilesRequestContext.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/jsp/JspTilesRequestContext.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/jsp/JspTilesRequestContext.java Fri Nov 3 11:57:27 2006
@@ -57,25 +57,10 @@
public void include(String path) throws TilesException {
try {
- include(path, false);
+ JspUtil.doInclude(pageContext, path, false);
} catch (JspException e) {
throw new TilesException(e);
}
}
-
- /**
- * Do an include of specified page using PageContext.include().
- * <p/>
- * This method is used by the Tiles package when an include is required.
- * The Tiles package can use indifferently any form of this method.
- *
- * @param path Uri or Definition name to forward.
- * @param flush If the writer should be flushed before the include
- * @throws JspException if the underlying include fails
- */
- public void include(String path, boolean flush) throws JspException {
- JspUtil.doInclude(pageContext, path, flush);
- }
-
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletHeaderValuesMap.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletHeaderValuesMap.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletHeaderValuesMap.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/context/servlet/ServletHeaderValuesMap.java Fri Nov 3 11:57:27 2006
@@ -97,12 +97,12 @@
public Object get(Object key) {
- List list = new ArrayList();
- Enumeration values = request.getHeaders(key(key));
+ List<String> list = new ArrayList<String>();
+ Enumeration<String> values = request.getHeaders(key(key));
while (values.hasMoreElements()) {
- list.add((String) values.nextElement());
+ list.add(values.nextElement());
}
- return (((String[]) list.toArray(new String[list.size()])));
+ return ((list.toArray(new String[list.size()])));
}
@@ -160,9 +160,9 @@
List list1 = new ArrayList();
Enumeration values = request.getHeaders(key);
while (values.hasMoreElements()) {
- list1.add((String) values.nextElement());
+ list1.add(values.nextElement());
}
- list.add(((String[]) list1.toArray(new String[list1.size()])));
+ list.add((list1.toArray(new String[list1.size()])));
}
return (list);
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactory.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/DefinitionsFactory.java Fri Nov 3 11:57:27 2006
@@ -21,6 +21,7 @@
package org.apache.tiles.definition;
import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.TilesException;
import java.util.Map;
@@ -57,7 +58,7 @@
* @param params The Map of configuration properties.
* @throws DefinitionsFactoryException if an initialization error occurs.
*/
- public void init(Map<String, String> params) throws DefinitionsFactoryException;
+ public void init(Map<String, String> params) throws DefinitionsFactoryException, TilesException;
/**
* Returns a ComponentDefinition object that matches the given name and
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/UrlDefinitionsFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/UrlDefinitionsFactory.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/UrlDefinitionsFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/UrlDefinitionsFactory.java Fri Nov 3 11:57:27 2006
@@ -23,7 +23,8 @@
import org.apache.commons.logging.LogFactory;
import org.apache.tiles.context.TilesRequestContext;
import org.apache.tiles.definition.digester.DigesterDefinitionsReader;
-import org.apache.tiles.util.RequestUtils;
+import org.apache.tiles.util.ClassUtil;
+import org.apache.tiles.TilesException;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -90,12 +91,12 @@
* @param params The Map of configuration properties.
* @throws DefinitionsFactoryException if an initialization error occurs.
*/
- public void init(Map<String, String> params) throws DefinitionsFactoryException {
+ public void init(Map<String, String> params) throws TilesException {
String readerClassName =
params.get(DefinitionsFactory.READER_IMPL_PROPERTY);
if (readerClassName != null) {
- createReader(readerClassName);
+ reader = (DefinitionsReader) ClassUtil.instantiate(readerClassName);
} else {
reader = new DigesterDefinitionsReader();
}
@@ -364,22 +365,5 @@
return true;
}
return status;
- }
-
- private void createReader(String readerClassName) throws DefinitionsFactoryException {
- try {
- Class readerClass =
- RequestUtils.applicationClass(readerClassName);
- reader = (DefinitionsReader) readerClass.newInstance();
- } catch (ClassNotFoundException e) {
- throw new DefinitionsFactoryException(
- "Cannot find reader class '" + readerClassName + "'.", e);
- } catch (InstantiationException e) {
- throw new DefinitionsFactoryException(
- "Unable to instantiate reader class '" + readerClassName + "'.", e);
- } catch (IllegalAccessException e) {
- throw new DefinitionsFactoryException(
- "Unable to access reader class '" + readerClassName + "'.", e);
- }
}
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java Fri Nov 3 11:57:27 2006
@@ -144,7 +144,7 @@
return null;
}
- InputStream input = null;
+ InputStream input;
try {
input = (InputStream) source;
} catch (ClassCastException e) {
@@ -185,7 +185,7 @@
if (params != null) {
String value = (String) params.get(PARSER_VALIDATE_PARAMETER_NAME);
if (value != null) {
- digester.setValidating(Boolean.valueOf(value).booleanValue());
+ digester.setValidating(Boolean.valueOf(value));
}
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java Fri Nov 3 11:57:27 2006
@@ -22,6 +22,7 @@
import org.apache.tiles.TilesApplicationContext;
import org.apache.tiles.TilesContainer;
import org.apache.tiles.TilesException;
+import org.apache.tiles.util.ClassUtil;
import org.apache.tiles.preparer.BasicPreparerFactory;
import org.apache.tiles.preparer.PreparerFactory;
import org.apache.tiles.context.BasicTilesContextFactory;
@@ -141,17 +142,7 @@
public static Object createFactory(Object context, String initParameterName)
throws TilesException {
String factoryName = resolveFactoryName(context, initParameterName);
- try {
- Class factoryClass = Class.forName(factoryName);
- return factoryClass.newInstance();
- } catch (ClassNotFoundException e) {
- throw new TilesException("Unable to resolve factory class: '" + factoryName + "'");
- } catch (IllegalAccessException e) {
- throw new TilesException("Unable to access factory class: '" + factoryName + "'");
- } catch (InstantiationException e) {
- throw new TilesException("Unable to instantiate factory class: '"
- + factoryName + "'. Make sure that this class has a default constructor");
- }
+ return ClassUtil.instantiate(factoryName);
}
public static String resolveFactoryName(Object context, String parameterName)
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/BasicPreparerFactory.java Fri Nov 3 11:57:27 2006
@@ -21,8 +21,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.tiles.TilesException;
import org.apache.tiles.context.TilesRequestContext;
-import org.apache.tiles.util.RequestUtils;
+import org.apache.tiles.util.ClassUtil;
import java.util.HashMap;
import java.util.Map;
@@ -32,8 +33,8 @@
* This factory provides no contextual configuration. It
* simply instantiates the named preparerInstance and returns it.
*
- * @since Tiles 2.0
* @version $Rev$
+ * @since Tiles 2.0
*/
public class BasicPreparerFactory implements PreparerFactory {
@@ -52,12 +53,12 @@
* expects all names to be qualified class names.
*
* @param name the named preparerInstance
- * @param context
- * @return
+ * @param context current context
+ * @return ViewPreparer instance
* @throws NoSuchPreparerException
*/
public ViewPreparer getPreparer(String name, TilesRequestContext context)
- throws PreparerException {
+ throws TilesException {
if (!preparers.containsKey(name)) {
preparers.put(name, createPreparer(name));
@@ -66,36 +67,15 @@
return preparers.get(name);
}
- private ViewPreparer createPreparer(String name) throws PreparerException {
+ private ViewPreparer createPreparer(String name) throws TilesException {
if (LOG.isDebugEnabled()) {
LOG.debug("Creating ViewPreparer '" + name + "' . . .");
}
- try {
- Class requestedClass = RequestUtils.applicationClass(name);
- Object instance = requestedClass.newInstance();
- LOG.debug("ViewPreparer created successfully");
- return (ViewPreparer) instance;
-
- } catch (java.lang.ClassNotFoundException ex) {
- // upon class not found, we should return null;
- // the container will determine whether or not to throw
- // an exception.
- LOG.warn("Preparer '"+name+"' not found.");
- return null;
- } catch (java.lang.IllegalAccessException ex) {
- throw new PreparerException(
- "Error - Illegal class access :" + ex.getMessage(), ex);
-
- } catch (java.lang.ClassCastException ex) {
- throw new PreparerException(
- "ViewPreparer of class '" + name
- + "' should implements 'ViewPreparer' or extends 'Action'");
- } catch (InstantiationException e) {
- throw new PreparerException(
- "Error - Unable to instantiate ViewPreparer '"
- + name + "'. Does it have a default constructor?", e);
- }
+ Object instance = ClassUtil.instantiate(name, true);
+ LOG.debug("ViewPreparer created successfully");
+ return (ViewPreparer) instance;
+
}
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerFactory.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/preparer/PreparerFactory.java Fri Nov 3 11:57:27 2006
@@ -20,6 +20,7 @@
package org.apache.tiles.preparer;
import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.TilesException;
/**
* <p>
@@ -48,7 +49,7 @@
* @throws NoSuchPreparerException when the named preparerInstance can not be found.
*/
ViewPreparer getPreparer(String name, TilesRequestContext context)
- throws PreparerException;
+ throws PreparerException, TilesException;
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/BaseInsertTag.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/BaseInsertTag.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/BaseInsertTag.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/BaseInsertTag.java Fri Nov 3 11:57:27 2006
@@ -156,7 +156,7 @@
* Set flush. Method added for compatibility with JSP1.1
*/
public void setFlush(String flush) {
- this.flush = (Boolean.valueOf(flush).booleanValue());
+ this.flush = (Boolean.valueOf(flush));
}
/**
@@ -395,7 +395,7 @@
this.attributes = new HashMap<String, ComponentAttribute>();
if (attributes != null) {
for (Map.Entry<String, Object> entry : attributes.entrySet()) {
- ComponentAttribute attr = null;
+ ComponentAttribute attr;
if (entry.getValue() instanceof ComponentAttribute) {
attr = (ComponentAttribute) entry.getValue();
} else {
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/DefinitionTag.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/DefinitionTag.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/DefinitionTag.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/DefinitionTag.java Fri Nov 3 11:57:27 2006
@@ -104,7 +104,7 @@
// If role is set, add it in attribute definition if any.
// If no attribute definition, create untyped one and set role.
Object attributeValue = nestedTag.getRealValue();
- ComponentAttribute def = null;
+ ComponentAttribute def;
if (attributeValue != null
&& attributeValue instanceof ComponentAttribute) {
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/GetAsStringTag.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/GetAsStringTag.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/GetAsStringTag.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/GetAsStringTag.java Fri Nov 3 11:57:27 2006
@@ -161,7 +161,7 @@
Object value = compContext.getAttribute(attribute);
if (value == null) { // no value : throw error or fail silently according to ignore
- if (isErrorIgnored == false)
+ if (!isErrorIgnored)
throw new JspException("Error - tag.getAsString : attribute '" + attribute + "' not found in context. Check tag syntax");
else
return EVAL_PAGE;
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/InitDefinitionsTag.java Fri Nov 3 11:57:27 2006
@@ -30,9 +30,6 @@
public class InitDefinitionsTag extends TagSupport implements ComponentConstants {
- private String filename = null;
- private String classname = null;
-
/**
* Default constructor.
*/
@@ -46,21 +43,18 @@
public void release() {
super.release();
- filename = null;
}
/**
* Set file.
*/
public void setFile(String name) {
- this.filename = name;
}
/**
* Set classname.
*/
public void setClassname(String classname) {
- this.classname = classname;
}
/**
Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/taglib/util/TagUtils.java Fri Nov 3 11:57:27 2006
@@ -23,6 +23,8 @@
import org.apache.tiles.ComponentContext;
import org.apache.tiles.TilesApplicationContext;
import org.apache.tiles.TilesContainer;
+import org.apache.tiles.ComponentAttribute;
+import org.apache.tiles.definition.ComponentDefinition;
import org.apache.tiles.access.TilesAccess;
import org.apache.tiles.taglib.ComponentConstants;
@@ -50,17 +52,17 @@
* Maps lowercase JSP scope names to their PageContext integer constant
* values.
*/
- private static final Map scopes = new HashMap();
+ private static final Map<String, Integer> scopes = new HashMap<String, Integer>();
/**
* Initialize the scope names map and the encode variable with the
* Java 1.4 method if available.
*/
static {
- scopes.put("page", new Integer(PageContext.PAGE_SCOPE));
- scopes.put("request", new Integer(PageContext.REQUEST_SCOPE));
- scopes.put("session", new Integer(PageContext.SESSION_SCOPE));
- scopes.put("application", new Integer(PageContext.APPLICATION_SCOPE));
+ scopes.put("page", PageContext.PAGE_SCOPE);
+ scopes.put("request", PageContext.REQUEST_SCOPE);
+ scopes.put("session", PageContext.SESSION_SCOPE);
+ scopes.put("application", PageContext.APPLICATION_SCOPE);
}
public static TilesApplicationContext getTilesContext(ServletContext context) {
@@ -104,14 +106,14 @@
* @throws JspException if the scopeName is not a valid name.
*/
public static int getScope(String scopeName) throws JspException {
- Integer scope = (Integer) scopes.get(scopeName.toLowerCase());
+ Integer scope = scopes.get(scopeName.toLowerCase());
if (scope == null) {
//throw new JspException(messages.getMessage("lookup.scope", scope));
throw new JspException("Unable to retrieve the scope " + scopeName);
}
- return scope.intValue();
+ return scope;
}
@@ -179,7 +181,7 @@
ComponentContext compContext = container.getComponentContext(pageContext);
if (compContext != null) {
- Object attribute = compContext.findAttribute(beanName, pageContext);
+ ComponentAttribute attribute = compContext.findAttribute(beanName, pageContext);
if (attribute != null) {
return attribute;
}
@@ -291,7 +293,7 @@
public static void setAttribute(
PageContext pageContext,
String name,
- Object value,
+ ComponentDefinition value,
String scope)
throws JspException {
Added: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java?view=auto&rev=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java (added)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java Fri Nov 3 11:57:27 2006
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.tiles.util;
+
+import org.apache.tiles.TilesException;
+
+
+public class ClassUtil {
+
+ public static Object instantiate(String className) throws TilesException {
+ return instantiate(className, false);
+ }
+
+ public static Object instantiate(String className, boolean returnNull)
+ throws TilesException {
+ ClassLoader original = Thread.currentThread().getContextClassLoader();
+ if (original == null) {
+ Thread.currentThread().setContextClassLoader(ClassUtil.class.getClassLoader());
+ }
+ try {
+ Class namedClass = Class.forName(className);
+ return namedClass.newInstance();
+ } catch (ClassNotFoundException e) {
+ if(returnNull) {
+ return null;
+ }
+ throw new TilesException("Unable to resolve factory class: '" + className + "'");
+ } catch (IllegalAccessException e) {
+ throw new TilesException("Unable to access factory class: '" + className + "'");
+ } catch (InstantiationException e) {
+ throw new TilesException("Unable to instantiate factory class: '"
+ + className + "'. Make sure that this class has a default constructor");
+ } finally {
+ Thread.currentThread().setContextClassLoader(original);
+ }
+ }
+
+}
Propchange: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/util/ClassUtil.java
------------------------------------------------------------------------------
svn:keywords = Id Author Date Rev
Modified: struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/factory/TilesContainerFactoryTest.java Fri Nov 3 11:57:27 2006
@@ -116,7 +116,7 @@
assertEquals("twoValue", map.get("two"));
}
- static class TestFactory extends TilesContainerFactory {
+ public static class TestFactory extends TilesContainerFactory {
}
}
Modified: struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/test/java/org/apache/tiles/preparer/BasicPreparerFactoryTest.java Fri Nov 3 11:57:27 2006
@@ -22,6 +22,7 @@
import junit.framework.TestCase;
import org.apache.tiles.preparer.ViewPreparerSupport;
import org.apache.tiles.preparer.ViewPreparer;
+import org.apache.tiles.TilesException;
public class BasicPreparerFactoryTest extends TestCase {
@@ -31,7 +32,7 @@
factory = new BasicPreparerFactory();
}
- public void testGetPreparer() throws PreparerException {
+ public void testGetPreparer() throws TilesException {
String name = ViewPreparerSupport.class.getName();
ViewPreparer p = factory.getPreparer(name, null);
assertNotNull(p);
Modified: struts/sandbox/trunk/tiles/tiles-test/src/main/resources/org/apache/tiles/classpath-defs.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-test/src/main/resources/org/apache/tiles/classpath-defs.xml?view=diff&rev=470971&r1=470970&r2=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-test/src/main/resources/org/apache/tiles/classpath-defs.xml (original)
+++ struts/sandbox/trunk/tiles/tiles-test/src/main/resources/org/apache/tiles/classpath-defs.xml Fri Nov 3 11:57:27 2006
@@ -10,6 +10,6 @@
<definition name="classpath.definition" template="/layout.jsp">
<put name="title" value="This is the title."/>
<put name="header" value="/header.jsp"/>
- <put name="body" value="/body.jsp"/>
+ <put name="body" value="/classpath.jsp"/>
</definition>
</tiles-definitions>
Added: struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp?view=auto&rev=470971
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp (added)
+++ struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp Fri Nov 3 11:57:27 2006
@@ -0,0 +1 @@
+<div align="center"><b><i>This tile was loaded from the classpath</i></b></div>
\ No newline at end of file
Propchange: struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/tiles/tiles-test/src/main/webapp/classpath.jsp
------------------------------------------------------------------------------
svn:keywords = Id Author Date Rev