[xwiki-devs] [Dynamic Custom Mapping] : query dosent work
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping* * *But when i try to execute this query * {{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}} *i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) ... 100 more *Any ideas ?* -- Farouk Korteby
----- Original Message ----- From: "farouk korteby"
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) (...) at com.xpn.xwiki.XWiki.search(XWiki.java:1569)
Yeah, that's a trap for novices, it was a little gotcha for me few days ago ;) The search parameter is called sql but in fact when you're using Hibernate store you're supposed to supply hql query, not the sql. And this is quite misleading since in Hibernate we can execute both hql and sql queries. I think you'd have to create Hibernate mapping for Employee entity to use XWiki.search method. I'm not sure how to pass sql query to the Hibernate store. Kind regards Lukasz
That tutorial is for creating a hibernate mapping for the Employee entity. There are numerous little mistakes which will make it fail rather silently, resulting in the "you haven't mapped employee" error. Caleb James DeLisle Lukasz Skowronski wrote:
----- Original Message ----- From: "farouk korteby"
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) (...) at com.xpn.xwiki.XWiki.search(XWiki.java:1569)
Yeah, that's a trap for novices, it was a little gotcha for me few days ago ;) The search parameter is called sql but in fact when you're using Hibernate store you're supposed to supply hql query, not the sql. And this is quite misleading since in Hibernate we can execute both hql and sql queries.
I think you'd have to create Hibernate mapping for Employee entity to use XWiki.search method. I'm not sure how to pass sql query to the Hibernate store.
Kind regards Lukasz
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee; Caleb James DeLisle farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) ... 100 more
*Any ideas ?*
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees. But i think the mastake is in the mapping. 2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 100 more
*Any ideas ?*
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Farouk Korteby
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted. If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine. Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) ) Caleb James DeLisle farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 100 more
*Any ideas ?*
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
* i find all configuration correct, u can verify also. (i use XE 2.0.3) can i get a API to list all mapped tables in hibernate ? 1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow *3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :* - XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2 *4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end Result : Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? <http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+e?parent=XWiki.QueryEmployee> at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more * 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 100 more
*Any ideas ?*
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Farouk Korteby
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e" Caleb James DeLisle farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? <http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+e?parent=XWiki.QueryEmployee> at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 100 more
*Any ideas ?*
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
------------------------------------------------------------------------
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
I tried with "select e.familyName from XWiki.EmployeeClass as e" but i get the some exception : Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from XWiki.EmployeeClass e Wrapped Exception: XWiki.EmployeeClass is not mapped family Name from XWiki.Employee Class e? <http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e.familyName+from+XWiki/EmployeeClass+e?parent=XWiki.QueryEmployee> at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more is there a way to get the list of mapped classes in XWiki or Hibernate APIs ? 2009/12/5 Caleb James DeLisle <[email protected]>
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e"
Caleb James DeLisle
farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+...
at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote:
*Hi,* * * *I try to implement this tutorial : * http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping*
* *But when i try to execute this query *
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc )); println(name); } {{/groovy}}
*i get this exception :* Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT familyName from Employee Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
... 100 more
*Any ideas ?*
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
------------------------------------------------------------------------
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Farouk Korteby
I'm running out of ideas, but it seems as if there are spaces being added to EmployeeClass and to familyName. These would definitly break the query. Maybe possibly it's velocity to blame, I only tested the tutorial in groovy so why not try: {{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)); println(name); } {{/groovy}} I also have it going directally to XWikiHibernateStore to run the query. Caleb James DeLisle farouk korteby wrote:
I tried with "select e.familyName from XWiki.EmployeeClass as e" but i get the some exception :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from XWiki.EmployeeClass e Wrapped Exception: XWiki.EmployeeClass is not mapped family Name from XWiki.Employee Class e? <http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e.familyName+from+XWiki/EmployeeClass+e?parent=XWiki.QueryEmployee> at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
is there a way to get the list of mapped classes in XWiki or Hibernate APIs ?
2009/12/5 Caleb James DeLisle <[email protected]>
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e"
Caleb James DeLisle
farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+... at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
Can you get a list of tables in your database? There should be a table called xwikicustom_xwiki_employee
Did you run the test command from the sql console? SELECT * FROM xwikicustom_xwiki_employee;
Caleb James DeLisle
farouk korteby wrote: > *Hi,* > * > * > *I try to implement this tutorial : * > http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping* > > * > *But when i try to execute this query * > > {{groovy}} > xc = xcontext.getContext(); > for(String name : xc.getWiki().search("SELECT e.familyName from Employee e",xc > )); > println(name); > } > {{/groovy}} > > > *i get this exception :* > Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception > while searching documents with sql SELECT familyName from Employee > Wrapped Exception: Employee is not mapped [SELECT familyName from Employee] > at > com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) > at > com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) > at > com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) > at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) > at com.xpn.xwiki.XWiki.search(XWiki.java:1569) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) > at > org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) > at > org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) > ... 100 more > > *Any ideas ?* > > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
------------------------------------------------------------------------
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
the some result : *code *: {{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)){ println(name); } {{/groovy}} *exception result* : Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass as e Wrapped Exception: EmployeeClass is not mapped [SELECT e.familyName from EmployeeClass as e] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:137) at Script3.run(Script3.groovy:2) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:305) ... 97 more I use another way to do successfully qeries with this plugin http://xwikisql.gradsoft.ua/docs/XWikiSqlPluginGuide.html I think there are a bug "Dynamic Custom Mapping" in XE 2.0.3, I'll try to add him in JIRA. Thank you. 2009/12/5 Caleb James DeLisle <[email protected]>
I'm running out of ideas, but it seems as if there are spaces being added to EmployeeClass and to familyName. These would definitly break the query.
Maybe possibly it's velocity to blame, I only tested the tutorial in groovy so why not try:
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)); println(name); } {{/groovy}}
I also have it going directally to XWikiHibernateStore to run the query.
Caleb James DeLisle
farouk korteby wrote:
I tried with "select e.familyName from XWiki.EmployeeClass as e" but i get the some exception :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from XWiki.EmployeeClass e Wrapped Exception: XWiki.EmployeeClass is not mapped family Name from XWiki.Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e.familyName+from+XWiki/Employee...
at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
is there a way to get the list of mapped classes in XWiki or Hibernate APIs ?
2009/12/5 Caleb James DeLisle <[email protected]>
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e"
Caleb James DeLisle
farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? <
http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+...
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
at
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
at
com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581)
at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source) at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
… 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an
error
rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote:
Yes, i get xwikicustom_xwiki_employee table and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of my employees.
But i think the mastake is in the mapping.
2009/12/5 Caleb James DeLisle <[email protected]>
> Can you get a list of tables in your database? There should be a table > called > xwikicustom_xwiki_employee > > Did you run the test command from the sql console? > SELECT * FROM xwikicustom_xwiki_employee; > > > Caleb James DeLisle > > > farouk korteby wrote: >> *Hi,* >> * >> * >> *I try to implement this tutorial : * >> http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping* >> >> * >> *But when i try to execute this query * >> >> {{groovy}} >> xc = xcontext.getContext(); >> for(String name : xc.getWiki().search("SELECT e.familyName from Employee > e",xc >> )); >> println(name); >> } >> {{/groovy}} >> >> >> *i get this exception :* >> Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: > Exception >> while searching documents with sql SELECT familyName from Employee >> Wrapped Exception: Employee is not mapped [SELECT familyName from > Employee] >> at >>
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142)
>> at >>
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072)
>> at >>
com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061)
>> at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) >> at com.xpn.xwiki.XWiki.search(XWiki.java:1569) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >> at java.lang.reflect.Method.invoke(Unknown Source) >> at >>
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
>> at >>
org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
>> at >>
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
>> ... 100 more >> >> *Any ideas ?* >> >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs >
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Farouk Korteby
Hibernate might have been updated since I wrote the tutorial, I'll try the tutorial myself. Caleb James DeLisle farouk korteby wrote:
the some result : *code *: {{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)){ println(name); } {{/groovy}}
*exception result* :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass as e Wrapped Exception: EmployeeClass is not mapped [SELECT e.familyName from EmployeeClass as e] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:137) at Script3.run(Script3.groovy:2) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:305) ... 97 more
I use another way to do successfully qeries with this plugin http://xwikisql.gradsoft.ua/docs/XWikiSqlPluginGuide.html
I think there are a bug "Dynamic Custom Mapping" in XE 2.0.3, I'll try to add him in JIRA.
Thank you.
2009/12/5 Caleb James DeLisle <[email protected]>
I'm running out of ideas, but it seems as if there are spaces being added to EmployeeClass and to familyName. These would definitly break the query.
Maybe possibly it's velocity to blame, I only tested the tutorial in groovy so why not try:
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)); println(name); } {{/groovy}}
I also have it going directally to XWikiHibernateStore to run the query.
Caleb James DeLisle
farouk korteby wrote:
I tried with "select e.familyName from XWiki.EmployeeClass as e" but i get the some exception :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from XWiki.EmployeeClass e Wrapped Exception: XWiki.EmployeeClass is not mapped family Name from XWiki.Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e.familyName+from+XWiki/Employee... at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
is there a way to get the list of mapped classes in XWiki or Hibernate APIs ?
2009/12/5 Caleb James DeLisle <[email protected]>
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e"
Caleb James DeLisle
farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+... at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
Try looking at an employee object, with the object editor if there is something wrong with the mapping, it will likely throw an error rather than give you the information you inputted.
If you used exactly the same fields in the class as the tutorial and you ran the groovy script and clicked "To inject custom mapping for this class, click here" here. (an I assume you did since you have xwikicustom_xwiki_employee table) then your mapping should be fine.
Are you sure you stopped the server and changed # xwiki.store.hibernate.custommapping.dynamic=0 to =1 then restarted it. (this mistake busted me a few times ;) )
Caleb James DeLisle
farouk korteby wrote: > Yes, i get xwikicustom_xwiki_employee table > and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of > my employees. > > But i think the mastake is in the mapping. > > 2009/12/5 Caleb James DeLisle <[email protected]> > >> Can you get a list of tables in your database? There should be a table >> called >> xwikicustom_xwiki_employee >> >> Did you run the test command from the sql console? >> SELECT * FROM xwikicustom_xwiki_employee; >> >> >> Caleb James DeLisle >> >> >> farouk korteby wrote: >>> *Hi,* >>> * >>> * >>> *I try to implement this tutorial : * >>> http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping* >>> >>> * >>> *But when i try to execute this query * >>> >>> {{groovy}} >>> xc = xcontext.getContext(); >>> for(String name : xc.getWiki().search("SELECT e.familyName from Employee >> e",xc >>> )); >>> println(name); >>> } >>> {{/groovy}} >>> >>> >>> *i get this exception :* >>> Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: >> Exception >>> while searching documents with sql SELECT familyName from Employee >>> Wrapped Exception: Employee is not mapped [SELECT familyName from >> Employee] >>> at >>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) >>> at >>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) >>> at >>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) >>> at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) >>> at com.xpn.xwiki.XWiki.search(XWiki.java:1569) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> at java.lang.reflect.Method.invoke(Unknown Source) >>> at >>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) >>> at >>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) >>> at >>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) >>> ... 100 more >>> >>> *Any ideas ?* >>> >>> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
I have repeated the problem, What is happening is that the mapping is not staying after the server is reset. It can be made to work by running: {{groovy}} xc = xcontext.getContext(); xc.getWiki().getHibernateStore().injectCustomMappings(xc); {{/groovy}} every time the server is reset before running the query, but that is far from an optimal solution. This problem is particularly confusing because I am sure I tested the tutorial, but there was no change made to the storage mechanism since I wrote it. Thank you for bringing this to my attention, I will adjust the tutorial to reflect it. Caleb James DeLisle Caleb James DeLisle wrote:
Hibernate might have been updated since I wrote the tutorial, I'll try the tutorial myself.
Caleb James DeLisle
farouk korteby wrote:
the some result : *code *: {{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)){ println(name); } {{/groovy}}
*exception result* :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass as e Wrapped Exception: EmployeeClass is not mapped [SELECT e.familyName from EmployeeClass as e] at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:137) at Script3.run(Script3.groovy:2) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:305) ... 97 more
I use another way to do successfully qeries with this plugin http://xwikisql.gradsoft.ua/docs/XWikiSqlPluginGuide.html
I think there are a bug "Dynamic Custom Mapping" in XE 2.0.3, I'll try to add him in JIRA.
Thank you.
2009/12/5 Caleb James DeLisle <[email protected]>
I'm running out of ideas, but it seems as if there are spaces being added to EmployeeClass and to familyName. These would definitly break the query.
Maybe possibly it's velocity to blame, I only tested the tutorial in groovy so why not try:
{{groovy}} xc = xcontext.getContext(); for(String name : xc.getWiki().getHibernateStore().search("SELECT e.familyName from EmployeeClass as e", 0,0, xc)); println(name); } {{/groovy}}
I also have it going directally to XWikiHibernateStore to run the query.
Caleb James DeLisle
farouk korteby wrote:
I tried with "select e.familyName from XWiki.EmployeeClass as e" but i get the some exception :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from XWiki.EmployeeClass e Wrapped Exception: XWiki.EmployeeClass is not mapped family Name from XWiki.Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e.familyName+from+XWiki/Employee... at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
is there a way to get the list of mapped classes in XWiki or Hibernate APIs ?
2009/12/5 Caleb James DeLisle <[email protected]>
You are so close, it is successfully putting data into the custom mapped table and presumably taking it out. The entire problem has to be in the query. Can you confirm that the EmployeeClass document is in the space XWiki? You might try "select e.familyName from XWiki.EmployeeClass as e"
Caleb James DeLisle
farouk korteby wrote:
* i find all configuration correct, u can verify also. (i use XE 2.0.3)
can i get a API to list all mapped tables in hibernate ?
1- My xwiki.cfg* #-# Allow or disable custom mapping for particular XClasses. Custom mapping may increase the performance of certain #-# queries when large number of objects from particular classes are used in the wiki. *xwiki.store.hibernate.custommapping=1* #-# Dynamic custom mapping. *xwiki.store.hibernate.custommapping.dynamic=1* * * *2- My data in custom mapping table* see the image attached bellow
*3- Simple Query without custom mapping* * * *code *: *#set($sql = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.EmployeeClass' ")* * * *#foreach($EmployeeDoc in $xwiki.search($sql))* ** $familyName* *#end* * * *Result :*
- XWiki.EmployeeTemplate - Main.Employee1 - Main.Employee2
*4- Query with custom mapping* * * * code : #set($xc = $context.getContext()) #set($sql = "SELECT e.familyName from EmployeeClass e") #set($familyNames = $xc.getWiki().search($sql , $xc)) #foreach($familyName in $familyNames) * $familyName #end
Result :
Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: Exception while searching documents with sql SELECT e.familyName from EmployeeClass e Wrapped Exception: EmployeeClass is not mapped family Name from Employee Class e? < http://127.0.0.1:8080/xwiki/bin/edit/SELECT+e/familyName+from+EmployeeClass+... at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) at com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) at com.xpn.xwiki.XWiki.search(XWiki.java:1569) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) … 97 more
* 2009/12/5 Caleb James DeLisle <[email protected]>
> Try looking at an employee object, with the object editor > if there is something wrong with the mapping, it will likely throw an error > rather than > give you the information you inputted. > > If you used exactly the same fields in the class as the tutorial > and you ran the groovy script > and clicked "To inject custom mapping for this class, click here" here. > (an I assume you did since you have xwikicustom_xwiki_employee table) > then your mapping should be fine. > > Are you sure you stopped the server and changed > # xwiki.store.hibernate.custommapping.dynamic=0 > to =1 > then restarted it. > (this mistake busted me a few times ;) ) > > Caleb James DeLisle > > farouk korteby wrote: >> Yes, i get xwikicustom_xwiki_employee table >> and SELECT * FROM xwikicustom_xwiki_employee; query show me a liste of >> my employees. >> >> But i think the mastake is in the mapping. >> >> 2009/12/5 Caleb James DeLisle <[email protected]> >> >>> Can you get a list of tables in your database? There should be a table >>> called >>> xwikicustom_xwiki_employee >>> >>> Did you run the test command from the sql console? >>> SELECT * FROM xwikicustom_xwiki_employee; >>> >>> >>> Caleb James DeLisle >>> >>> >>> farouk korteby wrote: >>>> *Hi,* >>>> * >>>> * >>>> *I try to implement this tutorial : * >>>> http://dev.xwiki.org/xwiki/bin/view/Drafts/DynamicCustomMapping* >>>> >>>> * >>>> *But when i try to execute this query * >>>> >>>> {{groovy}} >>>> xc = xcontext.getContext(); >>>> for(String name : xc.getWiki().search("SELECT e.familyName from > Employee >>> e",xc >>>> )); >>>> println(name); >>>> } >>>> {{/groovy}} >>>> >>>> >>>> *i get this exception :* >>>> Caused by: com.xpn.xwiki.XWikiException: Error number 3223 in 3: >>> Exception >>>> while searching documents with sql SELECT familyName from Employee >>>> Wrapped Exception: Employee is not mapped [SELECT familyName from >>> Employee] >>>> at >>>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2142) >>>> at >>>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2072) >>>> at >>>> com.xpn.xwiki.store.XWikiHibernateStore.search(XWikiHibernateStore.java:2061) >>>> at com.xpn.xwiki.store.XWikiCacheStore.search(XWikiCacheStore.java:581) >>>> at com.xpn.xwiki.XWiki.search(XWiki.java:1569) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>> at java.lang.reflect.Method.invoke(Unknown Source) >>>> at >>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389) >>>> at >>>> org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378) >>>> at >>>> org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270) >>>> ... 100 more >>>> >>>> *Any ideas ?* >>>> >>>> >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >>> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs >
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
participants (3)
-
Caleb James DeLisle -
farouk korteby -
Lukasz Skowronski