You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by rachid harradi <ra...@gmx.net> on 2006/08/30 16:35:48 UTC
Action Database Problem
Hello,
my AmeliSele "class" is:
package dbmanager;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.swing.AbstractAction;
import org.apache.avalon.excalibur.datasource.DataSourceComponent;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentSelector;
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.Constants;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.acting.AbstractDatabaseAction;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Redirector;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.commons.lang.StringUtils;
import org.xml.sax.InputSource;
import cuba.ComponentException;
public class AmeliSelect extends AbstractAction implements ThreadSafe, Composable, Disposable {
// private static final Map selectStatements = new HashMap();
// private DBManager dbm = null;
// private ServiceManager manager = null;
// private InputSource inputSource = null;
// DataSourceComponent datasource = null;
protected ComponentSelector dbselector;
protected ComponentManager manager;
private static HashMap mappers = null;
// public void service(ServiceManager serviceManager) throws
// ServiceException {
// System.out.println("[User.java | service] beginn");
// this.manager = serviceManager;
//
// }
public void compose(ComponentManager manager) throws org.apache.avalon.framework.component.ComponentException {
// TODO Auto-generated method stub
this.dbselector = (ComponentSelector) manager
.lookup(DataSourceComponent.ROLE + "Selector");
}
// public void compose()
// throws org.apache.avalon.framework.component.ComponentException {
// this.dbselector = (ComponentSelector) manager
// .lookup(DataSourceComponent.ROLE + "Selector");
// }
protected final DataSourceComponent getDataSource(String pool)
throws org.apache.avalon.framework.component.ComponentException {
return (DataSourceComponent) this.dbselector.select(pool);
}
public Map act(Redirector redirector, SourceResolver resolver,
Map objectModel, String source, Parameters param) throws Exception {
// DataSourceComponent datasource = null;
// Connection conn = null;
// int currentIndex = 0;
//
// // read global parameter settings
// boolean reloadable = Constants.DESCRIPTOR_RELOADABLE_DEFAULT;
// if (this.settings.containsKey("reloadable"))
// reloadable = Boolean.valueOf((String)
// this.settings.get("reloadable")).booleanValue();
// // read local parameter settings
// try {
// Configuration conf =
// this.getConfiguration(param.getParameter("descriptor", (String)
// this.settings.get("descriptor")),
// resolver,
// param.getParameterAsBoolean("reloadable",reloadable));
//
// Request request = ObjectModelHelper.getRequest(objectModel);
//
// Configuration[] keys =
// conf.getChild("table").getChild("keys").getChildren("key");
// Configuration[] values =
// conf.getChild("table").getChild("values").getChildren("value");
//
// PreparedStatement statement = null;
// ResultSet rset = null;
// boolean result = false;
//
// for (int i = 0; i < keys.length; i++) {
// final String parameter = keys[i].getAttribute("param");
// Object value = request.getParameter(parameter);
// if (StringUtils.isEmpty((String)value)) {
// if (statement == null) {
// final String query = this.getSelectQuery(conf);
// System.out.println("[User.java | User] pre");
// this.dbm = (DBManager) this.manager.lookup(DBManager.ROLE);
// System.out.println("[User.java | User] middle");
// datasource = this.dbm.getDsc();
// conn = datasource.getConnection();
//
// statement = conn.prepareStatement(query);
// currentIndex = 1;
// for (int j = 0; j < keys.length; j++, currentIndex++) {
// this.setColumn(statement, currentIndex, request, keys[j]);
// }
// rset = statement.executeQuery();
// result = rset.next();
// }
// if (result) {
// value = this.getColumn(rset, request, keys[i]);
// }
// }
// if (value != null) {
// request.setAttribute(parameter, value.toString());
// }
// }
//
// for (int i = 0; i < values.length; i++) {
// final String parameter = values[i].getAttribute("param");
// Object value = request.getParameter(parameter);
// if (StringUtils.isEmpty((String)value)) {
// if (statement == null) {
// final String query = this.getSelectQuery(conf);
// datasource = this.getDataSource(conf);
// conn = datasource.getConnection();
// statement = conn.prepareStatement(query);
// currentIndex = 1;
// for (int j = 0; j < keys.length; j++, currentIndex++) {
// this.setColumn(statement, currentIndex, request, keys[j]);
// }
// rset = statement.executeQuery();
// result = rset.next();
// }
// if (result) {
// value = this.getColumn(rset, request, values[i]);
// }
// }
// if (value != null) {
// request.setAttribute(parameter, value.toString());
// }
// }
// if(statement != null) {
// statement.close();
// }
// return EMPTY_MAP;
// } catch (Exception e) {
// throw new ProcessingException("Could not prepare statement :position
// = " + currentIndex, e);
// } finally {
// if (conn != null) {
// try {
// conn.close();
// } catch (SQLException sqe) {
// getLogger().warn("There was an error closing the datasource", sqe);
// }
// }
// if (datasource != null) {
// this.dbselector.release(datasource);
// }
// }
//
// // Result is empty map or exception. No null.
String query = " select ID_Entity AS ID_Entity, ID_Field AS ID_Field, DataType AS DataType, Caption AS Caption , Mask AS Mask, DefaultValue AS DefaultValue, Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS Enabled, Visible AS Visible, Range_Lower AS Range_Lower, Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions";
// AmeliSelect.selectStatements.put(conf, query);
Request request = ObjectModelHelper.getRequest(objectModel);
Map map = new HashMap();
DataSourceComponent dataSource = getDataSource("ameli_para_dev_datasource");
Connection connection = null;
try {
connection = dataSource.getConnection();
Statement statement = connection.createStatement();
String cmd = query;
ResultSet rs = statement.executeQuery(cmd);
List list = constructResultFromResultSet(rs);
Iterator iterator = list.iterator();
// Converter.
map.putAll((Map) list);
statement.close();
} catch (Exception e) {
// TODO: handle exception
// getLogger().error("Query failed: ", e);
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException sqe) {
// TODO: handle exception
// getLogger().error("Error closing the datasource", sqe);
}
}
return (map);
}
public void dispose() {
this.manager.release(dbselector);
}
protected String getSelectQuery(Configuration conf)
throws ConfigurationException {
String query = null;
// synchronized (AmeliSelect.selectStatements) {
// query = (String)AmeliSelect.selectStatements.get(conf);
// if (query == null) {
// Configuration table = conf.getChild("table");
// Configuration[] keys = table.getChild("keys").getChildren("key");
// Configuration[] values =
// table.getChild("values").getChildren("value");
//
// StringBuffer queryBuffer = new StringBuffer("SELECT ");
// queryBuffer.append(buildList(keys, 0));
// queryBuffer.append(buildList(values, keys.length));
// queryBuffer.append(" FROM ");
// queryBuffer.append(table.getAttribute("name"));
//
// queryBuffer.append(" WHERE ");
// queryBuffer.append(buildList(keys, " AND "));
// query = queryBuffer.toString();
query = " select ID_Entity AS ID_Entity, ID_Field AS ID_Field, DataType AS DataType, Caption AS Caption , Mask AS Mask, DefaultValue AS DefaultValue, Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS Enabled, Visible AS Visible, Range_Lower AS Range_Lower, Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions";
// AmeliSelect.selectStatements.put(conf, query);
// }
// }
// // return query;
return null;
}
protected List constructResultFromResultSet(ResultSet rs)
throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
List results = new ArrayList();
// save information in first row
HashMap propInfo = new HashMap();
for (int i = 0; i < columnCount; i++) {
String columnName = md.getColumnName(i + 1);
propInfo.put("column" + i, columnName);
}
Persistable pInfo = getNewPersistable();
pInfo.setProperties(propInfo);
results.add(pInfo);
// get data from rs start from pos 1
while ((rs != null) && (rs.next())) {
HashMap props = new HashMap();
for (int i = 0; i < columnCount; i++) {
String columnName = md.getColumnName(i + 1);
int type = md.getColumnType(i + 1);
Object o = getValue(rs, type, i + 1);
// if (debugSQL())
// System.err.println(columnName + " = " + o);
if (o != null) {
props.put(columnName, o);
} else {
// props.put(columnName, "<null>");
}
}
Persistable p = getNewPersistable();
// if (debugSQL())
// System.err.println("Setting properties with: " + props);
// logger.debug("Setting properties with: " + props);
p.setProperties(props);
results.add(p);
}
return results;
}
protected Persistable getNewPersistable() {
return new DefaultPersistable();
}
protected Object getValue(ResultSet rs, int type, int index) {
// if (debugSQL())
// System.err.println("COLUMN TYPE = " + type);
// logger.debug("COLUMN TYPE = " + type);
try {
// handle the mysql TINYINT to Boolean Type
if ((rs.toString().indexOf("mysql") > 0) && (type == Types.TINYINT))
{
// type for TinyBoolean in mysql !! not standard
type = -1111;
}
if ((rs.toString().indexOf("microsoft") > 0) && (type == Types.FLOAT))
{
// type for Float in sqlserver !! not standard
type = Types.DOUBLE;
// System.out.println("type " + type);
}
Mapper m = getMapper(new Integer(type));
if (m != null) {
return m.getValue(rs, index);
}
} catch (Exception x) {
// NULL values in the database cause most of the Mapper classes to
// fail
// a NULL value will result in the absence of this property from the
// result.
// if (debugSQL())
// System.err.println(
// "Warning: Unknown column type or NULL value for column " +
// index);
// logger.fatal(
// "Warning: Unknown column type or NULL value for column "
// + index, x);
}
return null;
}
protected Mapper getMapper(Object key) {
if (mappers == null) {
mappers = new HashMap();
registerMapper(Byte.class, Types.TINYINT, new ByteMapper());
DateMapper dm = new DateMapper();
registerMapper(java.util.Date.class, Types.DATE, dm);
// always convert sql Dates to util Dates from ResultSets
registerMapper(java.sql.Date.class, 0, dm);
registerMapper(Double.class, Types.DOUBLE, new DoubleMapper());
registerMapper(Float.class, Types.FLOAT, new FloatMapper());
registerMapper(Integer.class, Types.INTEGER, new IntMapper());
registerMapper(java.math.BigDecimal.class, Types.NUMERIC,
new NumericMapper());
registerMapper(Long.class, Types.BIGINT, new LongMapper());
registerMapper(Short.class, Types.SMALLINT, new ShortMapper());
StringMapper strm = new StringMapper();
registerMapper(String.class, Types.VARCHAR, strm);
// mySQL return VARCHAR as CHAR
registerMapper(String.class, Types.CHAR, strm);
registerMapper(null, Types.LONGVARCHAR, strm);
registerMapper(Time.class, Types.TIME, new TimeMapper());
registerMapper(Timestamp.class, Types.TIMESTAMP,
new TimestampMapper());
// assume blob as string
// mySQL return blob as LONGVARBINARY
registerMapper(String.class, Types.BLOB, strm);
registerMapper(String.class, Types.LONGVARBINARY, strm);
// mySQL return tinyint as Boolean
registerMapper(Boolean.class, -1111, new TinyBooleanMapper());
// SQLServer return value
registerMapper(Boolean.class, Types.BIT, new BooleanMapper());
}
return (Mapper) mappers.get(key);
}
public static void registerMapper(Class valueType, int sqlType,
Mapper aMapper) {
if (valueType != null)
mappers.put(valueType, aMapper);
if (sqlType != 0)
mappers.put(new Integer(sqlType), aMapper);
}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
and my sitemap is:
<?xml version="1.0" encoding="UTF-8"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:actions>
<map:action name="select" logger="sitemap.action.select"
src="dbmanager.AmeliSelect"/>
</map:actions>
</map:components>
<map:pipelines >
<map:pipeline>
<map:match pattern="/select">
<map:act type="select">
<!--map:generate type="file" src="content/ObjectionHTML.xml"/>
<map:transform src="stylesheets/objection04.xslt"/-->
<map:serialize type="html" />
</map:act>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
by http://localhost:8080/cocoon/amelidb/select i get Error:
An error has occured
java.lang.ClassCastException: $Proxy22
Cocoon stacktrace[hide]
Error while creating node 'act' at file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31 file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap - 14:31
Failed to load sitemap from file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap - 14:31 [ConfigurationException]
file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap - 947:66 <map:mount>
Java stacktrace[show]
java.lang.ClassCastException: $Proxy22
at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.compose(ActTypeNode.java:80)
at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:359)
at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:195)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.setupNode(DefaultTreeBuilder.java:455)
at org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuilder.buildNode(ActNodeBuilder.java:69)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:121)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:136)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBuilder.buildNode(MatchNodeBuilder.java:77)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNodeBuilder.buildNode(PipelineNodeBuilder.java:110)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNodeBuilder.buildNode(PipelinesNodeBuilder.java:63)
at org.apache.cocoon.components.treeprocessor.sitemap.SitemapNodeBuilder.buildNode(SitemapNodeBuilder.java:70)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.createTree(DefaultTreeBuilder.java:334)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:407)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:369)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:339)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:304)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:250)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
at org.apache.cocoon.Cocoon.process(Cocoon.java:686)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Java full stacktrace[show]
org.apache.cocoon.ProcessingException: Failed to load sitemap from file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap
at [ConfigurationException] - file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31
at <map:mount> - file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap:947:66
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:373)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:339)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:304)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:250)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
at org.apache.cocoon.Cocoon.process(Cocoon.java:686)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Error while creating node 'act' at file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:128)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:136)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBuilder.buildNode(MatchNodeBuilder.java:77)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNodeBuilder.buildNode(PipelineNodeBuilder.java:110)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNodeBuilder.buildNode(PipelinesNodeBuilder.java:63)
at org.apache.cocoon.components.treeprocessor.sitemap.SitemapNodeBuilder.buildNode(SitemapNodeBuilder.java:70)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.createTree(DefaultTreeBuilder.java:334)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:407)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:369)
... 30 more
Caused by: java.lang.ClassCastException: $Proxy22
at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.compose(ActTypeNode.java:80)
at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:359)
at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:195)
at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.setupNode(DefaultTreeBuilder.java:455)
at org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuilder.buildNode(ActNodeBuilder.java:69)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:121)
... 38 more
The Apache Cocoon Project
i need your help!!!!
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Action Database Problem
Posted by Ralph Seidl <R....@ff-muenchen.de>.
Hi,
your class AmeliSelect extends javax.swing.AbstractAction
Try extending from org.apache.cocoon.acting.AbstractAction .
Maybe this will solve your problem.
Ralph
rachid harradi wrote:
> Hello,
>
> my AmeliSele "class" is:
>
>
> package dbmanager;
>
> import java.awt.Component;
> import java.awt.event.ActionEvent;
> import java.sql.Connection;
> import java.sql.PreparedStatement;
> import java.sql.ResultSet;
> import java.sql.ResultSetMetaData;
> import java.sql.SQLException;
> import java.sql.Statement;
> import java.sql.Time;
> import java.sql.Timestamp;
> import java.sql.Types;
> import java.util.ArrayList;
> import java.util.HashMap;
> import java.util.Iterator;
> import java.util.List;
> import java.util.Map;
>
> import javax.swing.AbstractAction;
>
> import org.apache.avalon.excalibur.datasource.DataSourceComponent;
> import org.apache.avalon.framework.activity.Disposable;
> import org.apache.avalon.framework.component.ComponentManager;
> import org.apache.avalon.framework.component.ComponentSelector;
> import org.apache.avalon.framework.component.Composable;
> import org.apache.avalon.framework.configuration.Configuration;
> import org.apache.avalon.framework.configuration.ConfigurationException;
> import org.apache.avalon.framework.parameters.Parameters;
> import org.apache.avalon.framework.service.ServiceException;
> import org.apache.avalon.framework.service.ServiceManager;
> import org.apache.avalon.framework.thread.ThreadSafe;
> import org.apache.cocoon.Constants;
> import org.apache.cocoon.ProcessingException;
> import org.apache.cocoon.acting.AbstractDatabaseAction;
>
> import org.apache.cocoon.environment.ObjectModelHelper;
> import org.apache.cocoon.environment.Redirector;
> import org.apache.cocoon.environment.Request;
> import org.apache.cocoon.environment.SourceResolver;
> import org.apache.commons.lang.StringUtils;
> import org.xml.sax.InputSource;
>
> import cuba.ComponentException;
>
> public class AmeliSelect extends AbstractAction implements ThreadSafe, Composable, Disposable {
>
> // private static final Map selectStatements = new HashMap();
> // private DBManager dbm = null;
> // private ServiceManager manager = null;
> // private InputSource inputSource = null;
> // DataSourceComponent datasource = null;
> protected ComponentSelector dbselector;
>
> protected ComponentManager manager;
> private static HashMap mappers = null;
>
> // public void service(ServiceManager serviceManager) throws
> // ServiceException {
> // System.out.println("[User.java | service] beginn");
> // this.manager = serviceManager;
> //
> // }
> public void compose(ComponentManager manager) throws org.apache.avalon.framework.component.ComponentException {
> // TODO Auto-generated method stub
> this.dbselector = (ComponentSelector) manager
> .lookup(DataSourceComponent.ROLE + "Selector");
> }
>
>
> // public void compose()
> // throws org.apache.avalon.framework.component.ComponentException {
> // this.dbselector = (ComponentSelector) manager
> // .lookup(DataSourceComponent.ROLE + "Selector");
> // }
>
> protected final DataSourceComponent getDataSource(String pool)
> throws org.apache.avalon.framework.component.ComponentException {
> return (DataSourceComponent) this.dbselector.select(pool);
> }
>
> public Map act(Redirector redirector, SourceResolver resolver,
> Map objectModel, String source, Parameters param) throws Exception {
> // DataSourceComponent datasource = null;
> // Connection conn = null;
> // int currentIndex = 0;
> //
> // // read global parameter settings
> // boolean reloadable = Constants.DESCRIPTOR_RELOADABLE_DEFAULT;
> // if (this.settings.containsKey("reloadable"))
> // reloadable = Boolean.valueOf((String)
> // this.settings.get("reloadable")).booleanValue();
> // // read local parameter settings
> // try {
> // Configuration conf =
> // this.getConfiguration(param.getParameter("descriptor", (String)
> // this.settings.get("descriptor")),
> // resolver,
> // param.getParameterAsBoolean("reloadable",reloadable));
> //
> // Request request = ObjectModelHelper.getRequest(objectModel);
> //
> // Configuration[] keys =
> // conf.getChild("table").getChild("keys").getChildren("key");
> // Configuration[] values =
> // conf.getChild("table").getChild("values").getChildren("value");
> //
> // PreparedStatement statement = null;
> // ResultSet rset = null;
> // boolean result = false;
> //
> // for (int i = 0; i < keys.length; i++) {
> // final String parameter = keys[i].getAttribute("param");
> // Object value = request.getParameter(parameter);
> // if (StringUtils.isEmpty((String)value)) {
> // if (statement == null) {
> // final String query = this.getSelectQuery(conf);
> // System.out.println("[User.java | User] pre");
> // this.dbm = (DBManager) this.manager.lookup(DBManager.ROLE);
> // System.out.println("[User.java | User] middle");
> // datasource = this.dbm.getDsc();
> // conn = datasource.getConnection();
> //
> // statement = conn.prepareStatement(query);
> // currentIndex = 1;
> // for (int j = 0; j < keys.length; j++, currentIndex++) {
> // this.setColumn(statement, currentIndex, request, keys[j]);
> // }
> // rset = statement.executeQuery();
> // result = rset.next();
> // }
> // if (result) {
> // value = this.getColumn(rset, request, keys[i]);
> // }
> // }
> // if (value != null) {
> // request.setAttribute(parameter, value.toString());
> // }
> // }
> //
> // for (int i = 0; i < values.length; i++) {
> // final String parameter = values[i].getAttribute("param");
> // Object value = request.getParameter(parameter);
> // if (StringUtils.isEmpty((String)value)) {
> // if (statement == null) {
> // final String query = this.getSelectQuery(conf);
> // datasource = this.getDataSource(conf);
> // conn = datasource.getConnection();
> // statement = conn.prepareStatement(query);
> // currentIndex = 1;
> // for (int j = 0; j < keys.length; j++, currentIndex++) {
> // this.setColumn(statement, currentIndex, request, keys[j]);
> // }
> // rset = statement.executeQuery();
> // result = rset.next();
> // }
> // if (result) {
> // value = this.getColumn(rset, request, values[i]);
> // }
> // }
> // if (value != null) {
> // request.setAttribute(parameter, value.toString());
> // }
> // }
> // if(statement != null) {
> // statement.close();
> // }
> // return EMPTY_MAP;
> // } catch (Exception e) {
> // throw new ProcessingException("Could not prepare statement :position
> // = " + currentIndex, e);
> // } finally {
> // if (conn != null) {
> // try {
> // conn.close();
> // } catch (SQLException sqe) {
> // getLogger().warn("There was an error closing the datasource", sqe);
> // }
> // }
> // if (datasource != null) {
> // this.dbselector.release(datasource);
> // }
> // }
> //
> // // Result is empty map or exception. No null.
> String query = " select ID_Entity AS ID_Entity, ID_Field AS ID_Field, DataType AS DataType, Caption AS Caption , Mask AS Mask, DefaultValue AS DefaultValue, Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS Enabled, Visible AS Visible, Range_Lower AS Range_Lower, Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions";
>
> // AmeliSelect.selectStatements.put(conf, query);
>
> Request request = ObjectModelHelper.getRequest(objectModel);
> Map map = new HashMap();
> DataSourceComponent dataSource = getDataSource("ameli_para_dev_datasource");
> Connection connection = null;
> try {
> connection = dataSource.getConnection();
> Statement statement = connection.createStatement();
> String cmd = query;
>
> ResultSet rs = statement.executeQuery(cmd);
> List list = constructResultFromResultSet(rs);
> Iterator iterator = list.iterator();
> // Converter.
> map.putAll((Map) list);
> statement.close();
>
> } catch (Exception e) {
> // TODO: handle exception
> // getLogger().error("Query failed: ", e);
> } finally {
> try {
> if (connection != null) {
> connection.close();
> }
> } catch (SQLException sqe) {
> // TODO: handle exception
> // getLogger().error("Error closing the datasource", sqe);
> }
>
> }
>
> return (map);
> }
>
> public void dispose() {
> this.manager.release(dbselector);
> }
>
> protected String getSelectQuery(Configuration conf)
> throws ConfigurationException {
> String query = null;
>
> // synchronized (AmeliSelect.selectStatements) {
> // query = (String)AmeliSelect.selectStatements.get(conf);
>
> // if (query == null) {
> // Configuration table = conf.getChild("table");
> // Configuration[] keys = table.getChild("keys").getChildren("key");
> // Configuration[] values =
> // table.getChild("values").getChildren("value");
> //
> // StringBuffer queryBuffer = new StringBuffer("SELECT ");
> // queryBuffer.append(buildList(keys, 0));
> // queryBuffer.append(buildList(values, keys.length));
> // queryBuffer.append(" FROM ");
> // queryBuffer.append(table.getAttribute("name"));
> //
> // queryBuffer.append(" WHERE ");
> // queryBuffer.append(buildList(keys, " AND "));
> // query = queryBuffer.toString();
> query = " select ID_Entity AS ID_Entity, ID_Field AS ID_Field, DataType AS DataType, Caption AS Caption , Mask AS Mask, DefaultValue AS DefaultValue, Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS Enabled, Visible AS Visible, Range_Lower AS Range_Lower, Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions";
>
> // AmeliSelect.selectStatements.put(conf, query);
> // }
> // }
> // // return query;
> return null;
> }
>
> protected List constructResultFromResultSet(ResultSet rs)
> throws SQLException {
> ResultSetMetaData md = rs.getMetaData();
> int columnCount = md.getColumnCount();
> List results = new ArrayList();
> // save information in first row
> HashMap propInfo = new HashMap();
> for (int i = 0; i < columnCount; i++) {
> String columnName = md.getColumnName(i + 1);
> propInfo.put("column" + i, columnName);
> }
> Persistable pInfo = getNewPersistable();
> pInfo.setProperties(propInfo);
> results.add(pInfo);
> // get data from rs start from pos 1
> while ((rs != null) && (rs.next())) {
> HashMap props = new HashMap();
> for (int i = 0; i < columnCount; i++) {
> String columnName = md.getColumnName(i + 1);
> int type = md.getColumnType(i + 1);
> Object o = getValue(rs, type, i + 1);
> // if (debugSQL())
> // System.err.println(columnName + " = " + o);
> if (o != null) {
> props.put(columnName, o);
> } else {
> // props.put(columnName, "<null>");
> }
> }
> Persistable p = getNewPersistable();
> // if (debugSQL())
> // System.err.println("Setting properties with: " + props);
> // logger.debug("Setting properties with: " + props);
> p.setProperties(props);
> results.add(p);
> }
> return results;
> }
> protected Persistable getNewPersistable() {
> return new DefaultPersistable();
> }
> protected Object getValue(ResultSet rs, int type, int index) {
> // if (debugSQL())
> // System.err.println("COLUMN TYPE = " + type);
> // logger.debug("COLUMN TYPE = " + type);
>
> try {
>
> // handle the mysql TINYINT to Boolean Type
> if ((rs.toString().indexOf("mysql") > 0) && (type == Types.TINYINT))
> {
> // type for TinyBoolean in mysql !! not standard
> type = -1111;
> }
>
> if ((rs.toString().indexOf("microsoft") > 0) && (type == Types.FLOAT))
> {
> // type for Float in sqlserver !! not standard
> type = Types.DOUBLE;
> // System.out.println("type " + type);
> }
>
> Mapper m = getMapper(new Integer(type));
> if (m != null) {
> return m.getValue(rs, index);
> }
> } catch (Exception x) {
> // NULL values in the database cause most of the Mapper classes to
> // fail
> // a NULL value will result in the absence of this property from the
> // result.
> // if (debugSQL())
> // System.err.println(
> // "Warning: Unknown column type or NULL value for column " +
> // index);
> // logger.fatal(
> // "Warning: Unknown column type or NULL value for column "
> // + index, x);
> }
> return null;
> }
>
> protected Mapper getMapper(Object key) {
> if (mappers == null) {
> mappers = new HashMap();
> registerMapper(Byte.class, Types.TINYINT, new ByteMapper());
> DateMapper dm = new DateMapper();
> registerMapper(java.util.Date.class, Types.DATE, dm);
> // always convert sql Dates to util Dates from ResultSets
> registerMapper(java.sql.Date.class, 0, dm);
> registerMapper(Double.class, Types.DOUBLE, new DoubleMapper());
> registerMapper(Float.class, Types.FLOAT, new FloatMapper());
> registerMapper(Integer.class, Types.INTEGER, new IntMapper());
> registerMapper(java.math.BigDecimal.class, Types.NUMERIC,
> new NumericMapper());
> registerMapper(Long.class, Types.BIGINT, new LongMapper());
> registerMapper(Short.class, Types.SMALLINT, new ShortMapper());
> StringMapper strm = new StringMapper();
> registerMapper(String.class, Types.VARCHAR, strm);
> // mySQL return VARCHAR as CHAR
> registerMapper(String.class, Types.CHAR, strm);
> registerMapper(null, Types.LONGVARCHAR, strm);
> registerMapper(Time.class, Types.TIME, new TimeMapper());
> registerMapper(Timestamp.class, Types.TIMESTAMP,
> new TimestampMapper());
> // assume blob as string
> // mySQL return blob as LONGVARBINARY
> registerMapper(String.class, Types.BLOB, strm);
> registerMapper(String.class, Types.LONGVARBINARY, strm);
> // mySQL return tinyint as Boolean
> registerMapper(Boolean.class, -1111, new TinyBooleanMapper());
> // SQLServer return value
> registerMapper(Boolean.class, Types.BIT, new BooleanMapper());
> }
> return (Mapper) mappers.get(key);
> }
>
> public static void registerMapper(Class valueType, int sqlType,
> Mapper aMapper) {
> if (valueType != null)
> mappers.put(valueType, aMapper);
> if (sqlType != 0)
> mappers.put(new Integer(sqlType), aMapper);
> }
>
>
>
> public void actionPerformed(ActionEvent arg0) {
> // TODO Auto-generated method stub
>
> }
> }
>
>
> and my sitemap is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
>
> <map:components>
> <map:actions>
> <map:action name="select" logger="sitemap.action.select"
> src="dbmanager.AmeliSelect"/>
> </map:actions>
> </map:components>
>
> <map:pipelines >
> <map:pipeline>
> <map:match pattern="/select">
> <map:act type="select">
> <!--map:generate type="file" src="content/ObjectionHTML.xml"/>
> <map:transform src="stylesheets/objection04.xslt"/-->
> <map:serialize type="html" />
> </map:act>
> </map:match>
> </map:pipeline>
> </map:pipelines>
>
> </map:sitemap>
>
> by http://localhost:8080/cocoon/amelidb/select i get Error:
>
>
> An error has occured
> java.lang.ClassCastException: $Proxy22
>
> Cocoon stacktrace[hide]
>
> Error while creating node 'act' at file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31 file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap - 14:31
>
> Failed to load sitemap from file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap - 14:31 [ConfigurationException]
> file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap - 947:66 <map:mount>
>
>
> Java stacktrace[show]
>
> java.lang.ClassCastException: $Proxy22
> at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.compose(ActTypeNode.java:80)
> at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:359)
> at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:195)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.setupNode(DefaultTreeBuilder.java:455)
> at org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuilder.buildNode(ActNodeBuilder.java:69)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:121)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:136)
> at org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBuilder.buildNode(MatchNodeBuilder.java:77)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNodeBuilder.buildNode(PipelineNodeBuilder.java:110)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNodeBuilder.buildNode(PipelinesNodeBuilder.java:63)
> at org.apache.cocoon.components.treeprocessor.sitemap.SitemapNodeBuilder.buildNode(SitemapNodeBuilder.java:70)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.createTree(DefaultTreeBuilder.java:334)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:407)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:369)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:339)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:304)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:250)
> at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
> at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
> at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
> at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
> at org.apache.cocoon.Cocoon.process(Cocoon.java:686)
> at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Unknown Source)
>
> Java full stacktrace[show]
>
> org.apache.cocoon.ProcessingException: Failed to load sitemap from file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap
> at [ConfigurationException] - file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31
> at <map:mount> - file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap:947:66
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:373)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:339)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:304)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:250)
> at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
> at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
> at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
> at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
> at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
> at org.apache.cocoon.Cocoon.process(Cocoon.java:686)
> at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Unknown Source)
> Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Error while creating node 'act' at file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:128)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:136)
> at org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBuilder.buildNode(MatchNodeBuilder.java:77)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNodeBuilder.buildNode(PipelineNodeBuilder.java:110)
> at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNodeBuilder.buildNode(PipelinesNodeBuilder.java:63)
> at org.apache.cocoon.components.treeprocessor.sitemap.SitemapNodeBuilder.buildNode(SitemapNodeBuilder.java:70)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.createTree(DefaultTreeBuilder.java:334)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:407)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:369)
> ... 30 more
> Caused by: java.lang.ClassCastException: $Proxy22
> at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.compose(ActTypeNode.java:80)
> at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:359)
> at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:195)
> at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.setupNode(DefaultTreeBuilder.java:455)
> at org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuilder.buildNode(ActNodeBuilder.java:69)
> at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBuilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:121)
> ... 38 more
>
> The Apache Cocoon Project
>
> i need your help!!!!
>
--
F&F Computer Anwendungen Tel: +49 89 51727-312
und Unternehmensberatung GmbH Fax: +49 89 51727-111
Westendstr. 195 Mail: r.seidl@ff-muenchen.de
D-80686 Muenchen http://www.ff-muenchen.de
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org