Return-Path: Delivered-To: apmail-cocoon-users-archive@www.apache.org Received: (qmail 95549 invoked from network); 31 Aug 2006 11:03:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 31 Aug 2006 11:03:31 -0000 Received: (qmail 42184 invoked by uid 500); 31 Aug 2006 11:03:24 -0000 Delivered-To: apmail-cocoon-users-archive@cocoon.apache.org Received: (qmail 42141 invoked by uid 500); 31 Aug 2006 11:03:24 -0000 Mailing-List: contact users-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: users@cocoon.apache.org List-Id: Delivered-To: mailing list users@cocoon.apache.org Received: (qmail 42123 invoked by uid 99); 31 Aug 2006 11:03:24 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Aug 2006 04:03:23 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=RCVD_IN_BL_SPAMCOP_NET X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [213.133.33.30] (HELO mailrelay.is.nl) (213.133.33.30) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Aug 2006 04:03:21 -0700 Received: from [213.133.51.241] (HELO hai01.hippo.local) by mailrelay.is.nl (CommuniGate Pro SMTP 4.3.5) with ESMTP id 22936111 for users@cocoon.apache.org; Thu, 31 Aug 2006 13:02:59 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Action Database Problem Date: Thu, 31 Aug 2006 13:01:27 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Action Database Problem Thread-Index: AcbM4/RaZb9i8guJTlafXJAtqV3+iAACFiYg From: "Ard Schrijvers" To: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N > Hi, >=20 > your class AmeliSelect extends javax.swing.AbstractAction > Try extending from org.apache.cocoon.acting.AbstractAction . Beside this possible solution, you are heading for problems in my = opinion. I strongly advice not to use actions for database persistence. = You will end up with an enormeous amount of unmanageable code. Use flow = and a jdo implementation. look for brickscms for a hands on example, Regards Ard >=20 > Maybe this will solve your problem. >=20 > Ralph >=20 > rachid harradi wrote: > > Hello, > >=20 > > my AmeliSele "class" is: > >=20 > >=20 > > package dbmanager; > >=20 > > 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; > >=20 > > import javax.swing.AbstractAction; > >=20 > > 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=20 > 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; > >=20 > > 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; > >=20 > > import cuba.ComponentException; > >=20 > > public class AmeliSelect extends AbstractAction implements=20 > ThreadSafe, Composable, Disposable { > >=20 > > // private static final Map selectStatements =3D new HashMap(); > > // private DBManager dbm =3D null; > > // private ServiceManager manager =3D null; > > // private InputSource inputSource =3D null; > > // DataSourceComponent datasource =3D null; > > protected ComponentSelector dbselector; > >=20 > > protected ComponentManager manager; > > private static HashMap mappers =3D null; > >=20 > > // public void service(ServiceManager serviceManager) throws > > // ServiceException { > > // System.out.println("[User.java | service] beginn"); > > // this.manager =3D serviceManager; > > // > > // } > > public void compose(ComponentManager manager) throws=20 > org.apache.avalon.framework.component.ComponentException { > > // TODO Auto-generated method stub > > this.dbselector =3D (ComponentSelector) manager > > .lookup(DataSourceComponent.ROLE + "Selector"); > > } > >=20 > >=20 > > // public void compose() > > // throws=20 > org.apache.avalon.framework.component.ComponentException { > > // this.dbselector =3D (ComponentSelector) manager > > // =09 > .lookup(DataSourceComponent.ROLE + "Selector"); > > // } > >=20 > > protected final DataSourceComponent getDataSource(String pool) > > throws=20 > org.apache.avalon.framework.component.ComponentException { > > return (DataSourceComponent)=20 > this.dbselector.select(pool); > > } > >=20 > > public Map act(Redirector redirector, SourceResolver resolver, > > Map objectModel, String source,=20 > Parameters param) throws Exception { > > // DataSourceComponent datasource =3D null; > > // Connection conn =3D null; > > // int currentIndex =3D 0; > > // > > // // read global parameter settings > > // boolean reloadable =3D=20 > Constants.DESCRIPTOR_RELOADABLE_DEFAULT; > > // if (this.settings.containsKey("reloadable")) > > // reloadable =3D Boolean.valueOf((String) > > // this.settings.get("reloadable")).booleanValue(); > > // // read local parameter settings > > // try { > > // Configuration conf =3D > > //=20 > this.getConfiguration(param.getParameter("descriptor", (String) > > // this.settings.get("descriptor")), > > // resolver, > > //=20 > param.getParameterAsBoolean("reloadable",reloadable)); > > // > > // Request request =3D=20 > ObjectModelHelper.getRequest(objectModel); > > // > > // Configuration[] keys =3D > > //=20 > conf.getChild("table").getChild("keys").getChildren("key"); > > // Configuration[] values =3D > > //=20 > conf.getChild("table").getChild("values").getChildren("value"); > > // > > // PreparedStatement statement =3D null; > > // ResultSet rset =3D null; > > // boolean result =3D false; > > // > > // for (int i =3D 0; i < keys.length; i++) { > > // final String parameter =3D=20 > keys[i].getAttribute("param"); > > // Object value =3D request.getParameter(parameter); > > // if (StringUtils.isEmpty((String)value)) { > > // if (statement =3D=3D null) { > > // final String query =3D this.getSelectQuery(conf); > > // System.out.println("[User.java | User] pre"); > > // this.dbm =3D (DBManager)=20 > this.manager.lookup(DBManager.ROLE); > > // System.out.println("[User.java | User] middle"); > > // datasource =3D this.dbm.getDsc(); > > // conn =3D datasource.getConnection(); > > // =20 > > // statement =3D conn.prepareStatement(query); > > // currentIndex =3D 1; > > // for (int j =3D 0; j < keys.length; j++,=20 > currentIndex++) { > > // this.setColumn(statement, currentIndex,=20 > request, keys[j]); > > // } > > // rset =3D statement.executeQuery(); > > // result =3D rset.next(); > > // } > > // if (result) { > > // value =3D this.getColumn(rset, request, keys[i]); > > // } > > // } > > // if (value !=3D null) { > > // request.setAttribute(parameter, value.toString()); > > // } > > // } > > // > > // for (int i =3D 0; i < values.length; i++) { > > // final String parameter =3D=20 > values[i].getAttribute("param"); > > // Object value =3D request.getParameter(parameter); > > // if (StringUtils.isEmpty((String)value)) { > > // if (statement =3D=3D null) { > > // final String query =3D this.getSelectQuery(conf); > > // datasource =3D this.getDataSource(conf); > > // conn =3D datasource.getConnection(); > > // statement =3D conn.prepareStatement(query); > > // currentIndex =3D 1; > > // for (int j =3D 0; j < keys.length; j++,=20 > currentIndex++) { > > // this.setColumn(statement, currentIndex,=20 > request, keys[j]); > > // } > > // rset =3D statement.executeQuery(); > > // result =3D rset.next(); > > // } > > // if (result) { > > // value =3D this.getColumn(rset, request, values[i]); > > // } > > // } > > // if (value !=3D null) { > > // request.setAttribute(parameter, value.toString()); > > // } > > // } > > // if(statement !=3D null) { > > // statement.close(); > > // } > > // return EMPTY_MAP; > > // } catch (Exception e) { > > // throw new ProcessingException("Could not=20 > prepare statement :position > > // =3D " + currentIndex, e); > > // } finally { > > // if (conn !=3D null) { > > // try { > > // conn.close(); > > // } catch (SQLException sqe) { > > // getLogger().warn("There was an error closing=20 > the datasource", sqe); > > // } > > // } > > // if (datasource !=3D null) { > > // this.dbselector.release(datasource); > > // } > > // } > > // > > // // Result is empty map or exception. No null. > > String query =3D " select ID_Entity AS ID_Entity,=20 > ID_Field AS ID_Field, DataType AS DataType, Caption AS=20 > Caption , Mask AS Mask, DefaultValue AS DefaultValue,=20 > Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS=20 > Enabled, Visible AS Visible, Range_Lower AS Range_Lower,=20 > Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size=20 > AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions"; > >=20 > > // AmeliSelect.selectStatements.put(conf, query); > >=20 > > Request request =3D=20 > ObjectModelHelper.getRequest(objectModel); > > Map map =3D new HashMap(); > > DataSourceComponent dataSource =3D=20 > getDataSource("ameli_para_dev_datasource"); > > Connection connection =3D null; > > try { > > connection =3D dataSource.getConnection(); > > Statement statement =3D=20 > connection.createStatement(); > > String cmd =3D query; > >=20 > > ResultSet rs =3D statement.executeQuery(cmd); > > List list =3D constructResultFromResultSet(rs); > > Iterator iterator =3D list.iterator(); > > // Converter. > > map.putAll((Map) list); > > statement.close(); > >=20 > > } catch (Exception e) { > > // TODO: handle exception > > // getLogger().error("Query failed: ", e); > > } finally { > > try { > > if (connection !=3D null) { > > connection.close(); > > } > > } catch (SQLException sqe) { > > // TODO: handle exception > > // getLogger().error("Error=20 > closing the datasource", sqe); > > } > >=20 > > } > >=20 > > return (map); > > } > >=20 > > public void dispose() { > > this.manager.release(dbselector); > > } > >=20 > > protected String getSelectQuery(Configuration conf) > > throws ConfigurationException { > > String query =3D null; > >=20 > > // synchronized (AmeliSelect.selectStatements) { > > // query =3D=20 > (String)AmeliSelect.selectStatements.get(conf); > >=20 > > // if (query =3D=3D null) { > > // Configuration table =3D conf.getChild("table"); > > // Configuration[] keys =3D=20 > table.getChild("keys").getChildren("key"); > > // Configuration[] values =3D > > // table.getChild("values").getChildren("value"); > > // > > // StringBuffer queryBuffer =3D new=20 > 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 =3D queryBuffer.toString(); > > query =3D " select ID_Entity AS ID_Entity,=20 > ID_Field AS ID_Field, DataType AS DataType, Caption AS=20 > Caption , Mask AS Mask, DefaultValue AS DefaultValue,=20 > Mandatory AS Mandatory, ValueCheck AS ValueCheck , Enabled AS=20 > Enabled, Visible AS Visible, Range_Lower AS Range_Lower,=20 > Range_Upper AS Range_Upper , ValueCheck AS ValueCheck, Size=20 > AS Size , Icon AS Icon, Language AS Language FROM Field_Descriptions"; > >=20 > > // AmeliSelect.selectStatements.put(conf, query); > > // } > > // } > > // // return query; > > return null; > > } > >=20 > > protected List constructResultFromResultSet(ResultSet rs) > > throws SQLException { > > ResultSetMetaData md =3D rs.getMetaData(); > > int columnCount =3D md.getColumnCount(); > > List results =3D new ArrayList(); > > // save information in first row > > HashMap propInfo =3D new HashMap(); > > for (int i =3D 0; i < columnCount; i++) { > > String columnName =3D md.getColumnName(i + 1); > > propInfo.put("column" + i, columnName); > > } > > Persistable pInfo =3D getNewPersistable(); > > pInfo.setProperties(propInfo); > > results.add(pInfo); > > // get data from rs start from pos 1 > > while ((rs !=3D null) && (rs.next())) { > > HashMap props =3D new HashMap(); > > for (int i =3D 0; i < columnCount; i++) { > > String columnName =3D=20 > md.getColumnName(i + 1); > > int type =3D md.getColumnType(i + 1); > > Object o =3D getValue(rs, type, i + 1); > > // if (debugSQL()) > > // =09 > System.err.println(columnName + " =3D " + o); > > if (o !=3D null) { > > props.put(columnName, o); > > } else { > > //=20 > props.put(columnName, ""); > > } > > } > > Persistable p =3D getNewPersistable(); > > // if (debugSQL()) > > // System.err.println("Setting=20 > properties with: " + props); > > // logger.debug("Setting properties with:=20 > " + 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 =3D " + type); > > // logger.debug("COLUMN TYPE =3D " + type); > >=20 > > try { > > =20 > > // handle the mysql TINYINT to Boolean Type > > if ((rs.toString().indexOf("mysql") >=20 > 0) && (type =3D=3D Types.TINYINT))=20 > > { > > // type for TinyBoolean in mysql !!=20 > not standard > > type =3D -1111; > > } > > =09 > > if ((rs.toString().indexOf("microsoft")=20 > > 0) && (type =3D=3D Types.FLOAT))=20 > > { > > // type for Float in sqlserver !!=20 > not standard > > type =3D Types.DOUBLE; > > // System.out.println("type " +=20 > type); =09 > > } > > =09 > > Mapper m =3D getMapper(new Integer(type)); > > if (m !=3D null) { > > return m.getValue(rs, index); > > } > > } catch (Exception x) { > > // NULL values in the database cause=20 > most of the Mapper classes to > > // fail > > // a NULL value will result in the=20 > absence of this property from the > > // result. > > // if (debugSQL()) > > // System.err.println( > > // "Warning: Unknown column type or=20 > NULL value for column " + > > // index); > > // logger.fatal( > > // "Warning: Unknown=20 > column type or NULL value for column " > > // + index, x); > > } > > return null; > > } > > =09 > > protected Mapper getMapper(Object key) { > > if (mappers =3D=3D null) { > > mappers =3D new HashMap(); > > registerMapper(Byte.class,=20 > Types.TINYINT, new ByteMapper()); > > DateMapper dm =3D new DateMapper(); > > registerMapper(java.util.Date.class,=20 > Types.DATE, dm); > > // always convert sql Dates to util=20 > Dates from ResultSets > > registerMapper(java.sql.Date.class, 0, dm); > > registerMapper(Double.class,=20 > Types.DOUBLE, new DoubleMapper()); > > registerMapper(Float.class,=20 > Types.FLOAT, new FloatMapper()); > > registerMapper(Integer.class,=20 > Types.INTEGER, new IntMapper()); > > =09 > registerMapper(java.math.BigDecimal.class, Types.NUMERIC, > > new NumericMapper()); > > registerMapper(Long.class,=20 > Types.BIGINT, new LongMapper()); > > registerMapper(Short.class,=20 > Types.SMALLINT, new ShortMapper()); > > StringMapper strm =3D new StringMapper(); > > registerMapper(String.class,=20 > Types.VARCHAR, strm); > > // mySQL return VARCHAR as CHAR > > registerMapper(String.class, Types.CHAR, strm); > > registerMapper(null, Types.LONGVARCHAR, strm); > > registerMapper(Time.class, Types.TIME,=20 > 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,=20 > Types.LONGVARBINARY, strm); > > // mySQL return tinyint as Boolean > > registerMapper(Boolean.class, -1111,=20 > new TinyBooleanMapper()); > > // SQLServer return value > > registerMapper(Boolean.class,=20 > Types.BIT, new BooleanMapper()); > > } > > return (Mapper) mappers.get(key); > > } > > =09 > > public static void registerMapper(Class valueType, int sqlType, > > Mapper aMapper) { > > if (valueType !=3D null) > > mappers.put(valueType, aMapper); > > if (sqlType !=3D 0) > > mappers.put(new Integer(sqlType), aMapper); > > } > >=20 > > =09 > >=20 > > public void actionPerformed(ActionEvent arg0) { > > // TODO Auto-generated method stub > > =09 > > } > > } > >=20 > >=20 > > and my sitemap is: > >=20 > > > > > >=20 > > > > > > > src=3D"dbmanager.AmeliSelect"/> > > > > > >=20 > > > > > > > > > > > > > > > > > > > > > >=20 > > > >=20 > > by http://localhost:8080/cocoon/amelidb/select i get Error: > >=20 > >=20 > > An error has occured > > java.lang.ClassCastException: $Proxy22 > >=20 > > Cocoon stacktrace[hide]=20 > >=20 > > Error while creating node 'act' at=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap. > xmap:14:31=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap. > xmap - 14:31 =20 > >=20 > > Failed to load sitemap from=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap. > xmap=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap. > xmap - 14:31 [ConfigurationException]=20 > > file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap=20 > - 947:66 =20 > >=20 > >=20 > > Java stacktrace[show]=20 > >=20 > > java.lang.ClassCastException: $Proxy22 > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode > .compose(ActTypeNode.java:80) > > at=20 > org.apache.cocoon.components.LifecycleHelper.setupComponent(Li > fecycleHelper.java:359) > > at=20 > org.apache.cocoon.components.LifecycleHelper.setupComponent(Li > fecycleHelper.java:195) > > at=20 > org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder. > setupNode(DefaultTreeBuilder.java:455) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuil > der.buildNode(ActNodeBuilder.java:69) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNodeBuilder.buildChildNodesList(AbstractParentProcessingN > odeBuilder.java:121) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNodeBuilder.buildChildNodes(AbstractParentProcessingNodeB > uilder.java:136) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBu > ilder.buildNode(MatchNodeBuilder.java:77) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNod > eBuilder.buildNode(PipelineNodeBuilder.java:110) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNo > deBuilder.buildNode(PipelinesNodeBuilder.java:63) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.SitemapNode > Builder.buildNode(SitemapNodeBuilder.java:70) > > at=20 > org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder. > createTree(DefaultTreeBuilder.java:334) > > at=20 > org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder. > build(DefaultTreeBuilder.java:407) > > at=20 > org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder. > build(DefaultTreeBuilder.java:369) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.build > ConcreteProcessor(TreeProcessor.java:339) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.setup > ConcreteProcessor(TreeProcessor.java:304) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreeProcessor.java:250) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.MountNode.i > nvoke(MountNode.java:117) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:46) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PreparableM > atchNode.invoke(PreparableMatchNode.java:130) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:68) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNod > e.invoke(PipelineNode.java:142) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:68) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNo > de.invoke(PipelinesNode.java:92) > > at=20 > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcess > or.process(ConcreteTreeProcessor.java:234) > > at=20 > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcess > or.process(ConcreteTreeProcessor.java:176) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreeProcessor.java:252) > > at org.apache.cocoon.Cocoon.process(Cocoon.java:686) > > at=20 > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet. > java:1153) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at=20 > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(ApplicationFilterChain.java:252) > > at=20 > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli > cationFilterChain.java:173) > > at=20 > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValve.java:213) > > at=20 > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValve.java:178) > > at=20 > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:126) > > at=20 > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:105) > > at=20 > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve.java:107) > > at=20 > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap > ter.java:148) > > at=20 > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:869) > > at=20 > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa > ndler.processConnection(Http11BaseProtocol.java:664) > > at=20 > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT > cpEndpoint.java:527) > > at=20 > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le > aderFollowerWorkerThread.java:80) > > at=20 > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:684) > > at java.lang.Thread.run(Unknown Source) > >=20 > > Java full stacktrace[show]=20 > >=20 > > org.apache.cocoon.ProcessingException: Failed to load=20 > sitemap from=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap > > at [ConfigurationException] -=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap. > xmap:14:31 > > at -=20 > file:/E:/workspace3/cocoon-2.1.9/build/webapp/sitemap.xmap:947:66 > > at=20 > org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder. > build(DefaultTreeBuilder.java:373) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.build > ConcreteProcessor(TreeProcessor.java:339) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.setup > ConcreteProcessor(TreeProcessor.java:304) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreeProcessor.java:250) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.MountNode.i > nvoke(MountNode.java:117) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:46) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PreparableM > atchNode.invoke(PreparableMatchNode.java:130) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:68) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNod > e.invoke(PipelineNode.java:142) > > at=20 > org.apache.cocoon.components.treeprocessor.AbstractParentProce > ssingNode.invokeNodes(AbstractParentProcessingNode.java:68) > > at=20 > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNo > de.invoke(PipelinesNode.java:92) > > at=20 > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcess > or.process(ConcreteTreeProcessor.java:234) > > at=20 > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcess > or.process(ConcreteTreeProcessor.java:176) > > at=20 > org.apache.cocoon.components.treeprocessor.TreeProcessor.proce > ss(TreeProcessor.java:252) > > at org.apache.cocoon.Cocoon.process(Cocoon.java:686) > > at=20 > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet. > java:1153) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at=20 > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(ApplicationFilterChain.java:252) > > at=20 > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli > cationFilterChain.java:173) > > at=20 > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValve.java:213) > > at=20 > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValve.java:178) > > at=20 > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:126) > > at=20 > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:105) > > at=20 > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve.java:107) > > at=20 > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap > ter.java:148) > > at=20 > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:869) > > at=20 > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa > ndler.processConnection(Http11BaseProtocol.java:664) > > at=20 > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT > cpEndpoint.java:527) > > at=20 > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le > aderFollowerWorkerThread.java:80) > > at=20 > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:684) > > at java.lang.Thread.run(Unknown Source) > > Caused by:=20 > org.apache.avalon.framework.configuration.ConfigurationExcepti > on: Error while creating node 'act' at=20 file:/E:/workspace3/cocoon-2.1.9/build/webapp/amelidb/sitemap.xmap:14:31 > at = org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBu= ilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:128) > at = org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBu= ilder.buildChildNodes(AbstractParentProcessingNodeBuilder.java:136) > at = org.apache.cocoon.components.treeprocessor.sitemap.MatchNodeBuilder.build= Node(MatchNodeBuilder.java:77) > at = org.apache.cocoon.components.treeprocessor.sitemap.PipelineNodeBuilder.bu= ildNode(PipelineNodeBuilder.java:110) > at = org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNodeBuilder.b= uildNode(PipelinesNodeBuilder.java:63) > at = org.apache.cocoon.components.treeprocessor.sitemap.SitemapNodeBuilder.bui= ldNode(SitemapNodeBuilder.java:70) > at = org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.createTree(= DefaultTreeBuilder.java:334) > at = org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(Defau= ltTreeBuilder.java:407) > at = org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(Defau= ltTreeBuilder.java:369) > ... 30 more > Caused by: java.lang.ClassCastException: $Proxy22 > at = org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.compose(Ac= tTypeNode.java:80) > at = org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelp= er.java:359) > at = org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelp= er.java:195) > at = org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.setupNode(D= efaultTreeBuilder.java:455) > at = org.apache.cocoon.components.treeprocessor.sitemap.ActNodeBuilder.buildNo= de(ActNodeBuilder.java:69) > at = org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNodeBu= ilder.buildChildNodesList(AbstractParentProcessingNodeBuilder.java:121) > ... 38 more >=20 > The Apache Cocoon Project=20 >=20 > i need your help!!!! >=20 --=20 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 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For additional commands, e-mail: users-help@cocoon.apache.org