Antonio Gallardo Rivera wrote:
>I am trying to start the example of mod-db using PostgreSQL.
>
>Currently, I have the autoincr, working, but the problem now is inserting a
>new row in the table "groups" - the easier one ;).
>
>In the database.xml there is defined as:
>
><table name="groups">
> <keys>
> <key name="gid" type="int" autoincrement="true">
> <mode name="auto" type="autoincr"/>
> </key>
> </keys>
> <values>
> <value name="gname" type="string"/>
> </values>
></table>
>
>Also....
>
><table-set name="groups">
> <table name="groups"/>
></table-set>
>
>In the userlist.xsp there is a form that handle the new-group action:
>
><sqltblrow>
> <gname>
> <form>
> <input type="text" name="groups.gname" size="20" maxsize="20"/>
> <input type="submit" name="add-group" value="new group"/>
> </form>
> </gname>
></sqltblrow>
>
>But when I try to Add a new group, It cannot get the groups.gname parameter.
>It store a null. In the sitemap.log I found the following:
>
>Current Sitemap Parameters:
>LEVEL 2
>PARAM: 'add-group' VALUE: 'new group'
>PARAM: 'groups.gname' VALUE: 'wsqa'
>LEVEL 1
>PARAM: '../0' VALUE: 'user-list'
>PARAM: '../1' VALUE: 'user-list'
>
>Thread-9/DefaultComponentFactory: ComponentFactory creating new instance of
>org.apache.cocoon.acting.modular.DatabaseAddAction.
>Thread-9/DefaultComponentFactory: no logger attribute available, using
>standard logger
>
>Thread-9/AbstractComplementaryConfigurableAction: (Re)Loading database.xml
>Thread-9/DatabaseAction: modeTypes : {1=others, 2=attribute, 0=autoincr}
>Thread-9/DatabaseAction: i=0
>Thread-9/DatabaseAction: requested mode was "autoincr" returning "autoincr"
>Thread-9/DatabaseAction: i=1
>Thread-9/DatabaseAction: requested mode was "others" returning "others"
>Thread-9/DatabaseAction: query: INSERT INTO groups (gname) VALUES (?)
>Thread-9/DatabaseAction: Trying to set column groups.gname from request using
>getAttribute method
>Thread-9/DatabaseAction: Setting column groups.gname [0] null
>Thread-9/DatabaseAction: ====> row no. 0
>Thread-9/DatabaseAddAction: Automatically setting key
>Thread-9/DatabaseAction: Setting column groups.gname[0] to null
>Thread-9/DatabaseAction: Could not select output mode attribute:null
>Thread-9/DatabaseAction: Setting column groups.gid[0] to 10
>Thread-9/DatabaseAction: Could not select output mode attribute:null
>Thread-9/DatabaseAction: Could not select output mode attribute:null
>Thread-9/DefaultComponentFactory: ComponentFactory decommissioning instance of
>org.apache.cocoon.acting.modular.DatabaseAddAction.
>
>Also, the sitemap is:
>
> <!-- add own new group -->
> <map:act type="req-params">
> <map:parameter name="parameters" value="add-group groups.gname"/>
> <map:act type="mod-db-add">
> <map:parameter name="table-set" value="groups"/>
> </map:act>
> </map:act>
>
>
>Please help,
>
>
Check the documentation at User Documentation/Actions/Database. Read
closely the sections "How to obtain Values" and "How to store Values
e.g. in your Session".
It's not completely clear, but it helps. Here are some examples from
what I have done so far. I hope they are right.
1. Declaration of the modular action in the sitemap:
<map:action name="mod-db-add"
src="org.apache.cocoon.acting.modular.DatabaseAddAction">
<!-- <throw-exception>true</throw-exception> -->
<!-- If this is set false, when the action fails it does not
produce an error
<input>request-parameter</input>
<!--This input module has to be described in
cocoon.xconf. -->
<output>session-attribute</output>
<!--Ditto for the output module-->
</map:action>
2. Define <map:act/> in the sitemap:
<map:act type="mod-db-add" src="optional src" >
<map:parameter name="descriptor" value="database.xml"/>
<map:parameter name="table-set" value="<"table-set value"/>
<!-- You can also map parameters for the action, such
as <map:parameter name="throw-exception" value="true"/> -->
</map:act>
Hope this helps.
>Regards,
>
>Antonio Gallardo.
>
>---------------------------------------------------------------------
>Please check that your question has not already been answered in the
>FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
>
>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
>For additional commands, e-mail: <[EMAIL PROTECTED]>
>
>
--
Robert J. (Bobby) Mitchell
Systems Administrator
NASA Institute for Advanced Concepts
555A 14th St Atlanta, Ga. 30318
Phone: (404)347-9633 Fax: (404)347-9638
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>