Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    #16
    Hi,

    same problem here but with spring classes (not hibernate):
    Note: Only first line of stacktraces shown.
    Code:
    2012-10-26 16:00:45,442 [ec-4] BeanClass() while trying to obtain property 'beanClass' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public"
    2012-10-26 16:00:45,442 [ec-4] PropertyEditorClass() while trying to obtain property 'propertyEditorClass' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public"
    2012-10-26 16:00:45,442 [ec-4] PropertyType() while trying to obtain property 'propertyType' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public synchronized"
    2012-10-26 16:00:45,442 [ec-4] ReadMethod() while trying to obtain property 'readMethod' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public"
    2012-10-26 16:00:45,442 [ec-4] WriteMethod() while trying to obtain property 'writeMethod' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public"
    2012-10-26 16:00:45,458 [ec-4] WriteMethodForActualAccess() while trying to obtain property 'writeMethodForActualAccess' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public"
    2012-10-26 16:00:45,458 [ec-4] WriteMethodParameter() while trying to obtain property 'writeMethodParameter' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public synchronized"
    SmartClient Version: v8.3d_2012-10-24/PowerEdition Deployment (built 2012-10-24)

    Comment


      #17
      Hi,

      I've spent quite a lot of time trying to reproduce this exception:
      first I was trying my own test environment
      then
      started empty project
      created exactly the same entities, data sources, DMI, client side (as specified in the first post)
      tested with these builds (2012-10-24 and 2012-10-25)
      tested with Hibernate 3.6.1, 4.1.7, with both in the class path

      Here is server log:
      Code:
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: host:localhost:8080
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: connection:keep-alive
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: content-length:1416
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: origin:http://localhost:8080
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Ubuntu/12.04 Chromium/20.0.1132.47 Chrome/20.0.1132.47 Safari/536.11
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: content-type:application/x-www-form-urlencoded; charset=UTF-8
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: accept:*/*
      === 2012-10-27 01:47:09,368 [c-63] DEBUG IDACall - Header Name:Value pair: referer:http://localhost:8080/gwt_hello_world/
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - Header Name:Value pair: accept-encoding:gzip,deflate,sdch
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - Header Name:Value pair: accept-language:en-US,en;q=0.8
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - Header Name:Value pair: accept-charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=E4C3E2236DF3A54A7318AC57894E91D9
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - session exists: E4C3E2236DF3A54A7318AC57894E91D9
      === 2012-10-27 01:47:09,369 [c-63] DEBUG IDACall - remote user: null
      === 2012-10-27 01:47:09,369 [c-63] INFO  RequestContext - URL: '/gwt_hello_world/JPADS_js/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Ubuntu/12.04 Chromium/20.0.1132.47 Chrome/20.0.1132.47 Safari/536.11': Safari with Accept-Encoding header
      === 2012-10-27 01:47:09,372 [c-63] DEBUG XML - Parsed XML from (in memory stream): 2ms
      === 2012-10-27 01:47:09,374 [c-63] DEBUG RPCManager - Processing 1 requests.
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Generating data source 'OrderEntity' for class com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Generating field 'orderNumber' of type long
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {primaryKey=true, name=orderNumber, type=integer}
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Generating field 'total' of type double
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=total, type=float}
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Generating field 'items' of type java.util.Collection
      === 2012-10-27 01:47:09,375 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=items, type=any}
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating data source 'ItemEntity' for class com.smartgwt.sample.server.ItemEntity
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating field 'id' of type java.lang.String
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {hidden=true, primaryKey=true, name=id, required=false, canEdit=false, type=text, autoGenerated=true}
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating field 'name' of type java.lang.String
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=name, type=text}
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating field 'quantity' of type int
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=quantity, type=integer}
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating field 'price' of type double
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=price, type=float}
      === 2012-10-27 01:47:09,376 [c-63] DEBUG DataSourceAnnotations - Generating field 'theOrder' of type com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,377 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=theOrder, type=any}
      === 2012-10-27 01:47:09,377 [c-63] DEBUG RPCManager - Request #1 (DSRequest) payload: {
          criteria:{
              id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd"
          },
          values:{
              id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd",
              name:"i23",
              quantity:4,
              price:5
          },
          operationConfig:{
              dataSource:"item",
              operationType:"update"
          },
          componentId:"isc_ListGrid_1",
          appID:"builtinApplication",
          operation:"item_update",
          oldValues:{
              theOrder:123,
              id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd",
              name:"i2",
              price:4,
              quantity:3
          }
      }
      === 2012-10-27 01:47:09,377 [c-63] INFO  IDACall - Performing 1 operation(s)
      === 2012-10-27 01:47:09,377 [c-63] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
      === 2012-10-27 01:47:09,377 [c-63] DEBUG DeclarativeSecurity - DataSource item is not in the pre-checked list, processing...
      === 2012-10-27 01:47:09,377 [c-63] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
      === 2012-10-27 01:47:09,377 [c-63] DEBUG DeclarativeSecurity - DataSource item is not in the pre-checked list, processing...
      === 2012-10-27 01:47:09,378 [c-63] DEBUG AppBase - [builtinApplication.item_update] No userTypes defined, allowing anyone access to all operations for this application
      === 2012-10-27 01:47:09,378 [c-63] DEBUG AppBase - [builtinApplication.item_update] No public zero-argument method named '_item_update' found, performing generic datasource operation
      === 2012-10-27 01:47:09,378 [c-63] INFO  HibernateDataSource - [builtinApplication.item_update] Performing update operation with
      	criteria: {id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd"}	values: {id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd",name:"i23",quantity:4,price:5.0}
      === 2012-10-27 01:47:09,380 [c-63] DEBUG HibernateTransaction - [builtinApplication.item_update] Started new transaction "1594616815"
      === 2012-10-27 01:47:09,391 [c-63] DEBUG DataSourceAnnotations - Generating data source 'OrderEntity' for class com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,391 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Generating field 'orderNumber' of type long
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {primaryKey=true, name=orderNumber, type=integer}
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Generating field 'total' of type double
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=total, type=float}
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Generating field 'items' of type java.util.Collection
      === 2012-10-27 01:47:09,392 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=items, type=any}
      === 2012-10-27 01:47:09,392 [c-63] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
      === 2012-10-27 01:47:09,392 [c-63] INFO  HibernateTransaction - Attempting to commit 0 database update(s)
      === 2012-10-27 01:47:09,392 [c-63] DEBUG HibernateTransaction - Committing transaction "1594616815"
      === 2012-10-27 01:47:09,396 [c-63] DEBUG DataSourceAnnotations - Generating data source 'OrderEntity' for class com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,396 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Generating field 'orderNumber' of type long
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {primaryKey=true, name=orderNumber, type=integer}
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Generating field 'total' of type double
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=total, type=float}
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Generating field 'items' of type java.util.Collection
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=items, type=any}
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Generating data source 'ItemEntity' for class com.smartgwt.sample.server.ItemEntity
      === 2012-10-27 01:47:09,397 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Generating field 'id' of type java.lang.String
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {hidden=true, primaryKey=true, name=id, required=false, canEdit=false, type=text, autoGenerated=true}
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Generating field 'name' of type java.lang.String
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=name, type=text}
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Generating field 'quantity' of type int
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=quantity, type=integer}
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Generating field 'price' of type double
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=price, type=float}
      === 2012-10-27 01:47:09,398 [c-63] DEBUG DataSourceAnnotations - Generating field 'theOrder' of type com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,399 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=theOrder, type=any}
      === 2012-10-27 01:47:09,399 [c-63] DEBUG RPCManager - DMI response, dropExtraFields: true
      === 2012-10-27 01:47:09,399 [c-63] DEBUG DataSourceAnnotations - Generating data source 'OrderEntity' for class com.smartgwt.sample.server.OrderEntity
      === 2012-10-27 01:47:09,399 [c-63] DEBUG DataSourceAnnotations - Generating data source 'Object' for class java.lang.Object
      === 2012-10-27 01:47:09,399 [c-63] DEBUG DataSourceAnnotations - Fields are annotated.
      === 2012-10-27 01:47:09,399 [c-63] DEBUG DataSourceAnnotations - Generating field 'orderNumber' of type long
      === 2012-10-27 01:47:09,400 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {primaryKey=true, name=orderNumber, type=integer}
      === 2012-10-27 01:47:09,400 [c-63] DEBUG DataSourceAnnotations - Generating field 'total' of type double
      === 2012-10-27 01:47:09,400 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=total, type=float}
      === 2012-10-27 01:47:09,400 [c-63] DEBUG DataSourceAnnotations - Generating field 'items' of type java.util.Collection
      === 2012-10-27 01:47:09,400 [c-63] DEBUG DataSourceAnnotations - Field configuration generated: {name=items, type=any}
      === 2012-10-27 01:47:09,400 [c-63] WARN  JSTranslater - com.smartgwt.sample.server.OrderEntity_$$_javassist_0 contains a (potentially indirect) looping reference to itself.  Returning null for recursed value.
      === 2012-10-27 01:47:09,401 [c-63] WARN  JSTranslater - com.smartgwt.sample.server.OrderEntity_$$_javassist_0 contains a (potentially indirect) looping reference to itself.  Returning null for recursed value.
      === 2012-10-27 01:47:09,401 [c-63] DEBUG RPCManager - Uncompressed result size: 727 bytes
      === 2012-10-27 01:47:09,401 [c-63] DEBUG RPCManager - Output to client: //isc_RPCResponseStart-->[{data:{theOrder:123,id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd",name:"i23",price:5.0,quantity:4},invalidateCache:false,isDSResponse:true,operationType:"update",queueStatus:0,relatedUpdates:[{dataSource:"order",isDSResponse:true,invalidateCache:false,status:0,operationType:"update",data:{items:[{id:"c7938b87-15c4-4140-9531-a187ff1e4a59",name:"i1",price:3.0,quantity:2,theOrder:null /* loop to object of type: com.smartgwt.sample.server.OrderEntity_$$_javassist_0 */},{id:"f295fbb2-e94f-46f4-94a5-3e5e2c9142dd",name:"i23",price:5.0,quantity:4,theOrder:null /* loop to object of type: com.smartgwt.sample.server.OrderEntity_$$_javassist_0 */}],orderNumber:123,total:26.0}}],status:0}]//isc_RPCResponseEnd
      === 2012-10-27 01:47:09,401 [c-63] DEBUG HibernateTransaction - Closing session "1594616815"
      === 2012-10-27 01:47:09,401 [c-63] DEBUG HibernateTransaction - Removed transaction "1594616815"
      There are two warnings from JSTranslater: they are correct - there is bidirectional association and loop reference is correctly detected.

      How can I reproduce this exception?

      Regards,
      Alius

      Comment


        #18
        there are two possibilities to reproduce the behaviour:

        1st:

        use the hibernate InstrumentTask to enhance the entities. I use Maven so this pom will do the work:
        Code:
        <?xml version="1.0" encoding="UTF-8"?>
        <project xmlns="http://maven.apache.org/POM/4.0.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        
            <modelVersion>4.0.0</modelVersion>
        
            <artifactId>smartgwt-test</artifactId>
            <groupId>de.poison.test</groupId>
            <version>1-SNAPSHOT</version>
            <packaging>war</packaging>
        
            <properties>
                <hibernate-core-version>4.1.7.Final</hibernate-core-version>
                <smartgwt.version>3.1.d20121025</smartgwt.version>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            </properties>
        
            <dependencies>
                <dependency>
                    <groupId>com.isomorphic</groupId>
                    <artifactId>smartgwt-lgpl</artifactId>
                    <version>${smartgwt.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.isomorphic</groupId>
                    <artifactId>smartgwt-eval</artifactId>
                    <version>${smartgwt.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.isomorphic</groupId>
                    <artifactId>isomorphic-hibernate</artifactId>
                    <version>${smartgwt.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                    <version>${hibernate-core-version}</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.21</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-entitymanager</artifactId>
                    <version>${hibernate-core-version}</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate.javax.persistence</groupId>
                    <artifactId>hibernate-jpa-2.0-api</artifactId>
                    <version>1.0.1.Final</version>
                </dependency>
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-validator</artifactId>
                    <version>4.3.0.Final</version>
                </dependency>
                <dependency>
                    <groupId>com.google.gwt</groupId>
                    <artifactId>gwt-servlet</artifactId>
                    <version>2.5.0-rc1</version>
                </dependency>
                <dependency>
                    <groupId>com.google.gwt</groupId>
                    <artifactId>gwt-user</artifactId>
                    <scope>provided</scope>
                    <version>2.5.0-rc1</version>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>gwt-maven-plugin</artifactId>
                        <version>2.5.0-rc1</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>compile</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <module>test.test</module>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <tasks>
                                <taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
                                    <classpath>
                                        <path refid="maven.runtime.classpath"/>
                                        <path refid="maven.plugin.classpath"/>
                                    </classpath>
                                </taskdef>
                                <instrument verbose="false">
                                    <fileset dir="${project.build.outputDirectory}">
                                        <include name="test/server/**/*.class"/>
                                    </fileset>
                                </instrument>
                            </tasks>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </project>
        or the 2nd way is to manuallly enhance the order entity the same way as hibernates InstrumentTask will do. I have already postet this enhanced class in post #5
        Last edited by andy.2003; 28 Oct 2012, 12:48.

        Comment


          #19
          Hi,

          I've committed fix for handling Hibernate instrumented classes (cglib and javassist).

          You can test it with next nightly build.

          Regards,
          Alius

          Comment


            #20
            Hi,

            I created a small grails app that reproduces the issue. It still occurs using the latest nightlies.
            To try, download Grails 2.1.1 from here: http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/grails-2.1.1.zip
            Installation instructions are here: http://grails.org/Installation
            Extract the test project (https://dl.dropbox.com/u/18305668/SGWTIntegrationTest.zip) and copy the following jars from a SGWT Power Distribution into the respective folders:
            lib/commons-discovery-0.2.jar
            lib/commons-jxpath-1.3.jar
            lib/isc-jakarta-oro-2.0.6.jar
            lib/isomorphic_assembly.jar
            lib/isomorphic_compression.jar
            lib/isomorphic_contentexport.jar
            lib/isomorphic_core_rpc.jar
            lib/isomorphic_hibernate.jar
            lib/isomorphic_jpa.jar
            lib/isomorphic_js_parser.jar
            lib/isomorphic_spring.jar
            lib/isomorphic_sql.jar
            lib/isomorphic_struts.jar
            lib/isomorphic_tools.jar
            lib/isomorphic_web_services.jar
            lib/gwt/smartgwt.jar
            lib/gwt/smartgwtpower.jar
            lib/gwt/smartgwt-skins.jar

            Open a shell and change into the project’s root folder. Type ‘grails war’ to build and package the app (including GWT compilation). After this is finished, type ‘grails run-app’ to start the app.
            After it is completely started, browse to http://localhost:8080/SGWTIntegrationTest/sgwt to start the SGWT component of the application, which consists of a simple layout and a Datasource backed Listgrid.
            Create a new record (‘New Record’-Button) and enter some value.
            The value is persisted correctly on the server, but exceptions as described in previous posts are raised.

            Comment


              #21
              Hi,

              I'm not sure which version you use therefore please download next nightly build (2012-11-06) for testing.

              Now going to your app:
              Yes - initially it shows exceptions. After change "inapplicable" to "ignore" it works fine.
              Moreover it works with following data source (all fields with "ignore" commented out):
              Code:
              <DataSource
                  ID="SomeBean"
              	serverType="hibernate"
              	autoDeriveSchema="true"
              	dropExtraFields="true"
                  schemaBean="com.aCompany.SomeBean"
              >
                  <fields>
                      <field name="id"/>  
              <!--
                      <field name="version" hidden="true" ignore="true"/>  
                      <field name="attached" hidden="true" ignore="true"/>  
                      <field name="errors" hidden="true" ignore="true"/>  
                      <field name="properties" hidden="true" ignore="true"/> 
                      <field name="propertyEditorClass" hidden="true" ignore="true"/>
                      <field name="propertyType" hidden="true" ignore="true"/>
                      <field name="readMethod" hidden="true" ignore="true"/>
                      <field name="writeMethod" hidden="true" ignore="true"/>
                      <field name="writeMethodForActualAccess" hidden="true" ignore="true"/>
                      <field name="writeMethodParameter" hidden="true" ignore="true"/> 
              -->
                  </fields> 
              </DataSource>
              I have entered 1 to ID and "some prop" to aProperty. Here is a log:
              Code:
              === 2012-11-06 03:45:26,183 [ec-7] INFO  IDACall - Performing 1 operation(s)
              === 2012-11-06 03:45:26,183 [ec-7] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
              === 2012-11-06 03:45:26,183 [ec-7] DEBUG DeclarativeSecurity - DataSource SomeBean is not in the pre-checked list, processing...
              === 2012-11-06 03:45:26,188 [ec-7] DEBUG AppBase - [builtinApplication.SomeBean_add] No userTypes defined, allowing anyone access to all operations for this application
              === 2012-11-06 03:45:26,188 [ec-7] DEBUG AppBase - [builtinApplication.SomeBean_add] No public zero-argument method named '_SomeBean_add' found, performing generic datasource operation
              === 2012-11-06 03:45:26,189 [ec-7] INFO  HibernateDataSource - [builtinApplication.SomeBean_add] Performing add operation with
              	criteria: {id:1,aProperty:"some prop"}	values: {id:1,aProperty:"some prop"}
              === 2012-11-06 03:45:26,194 [ec-7] DEBUG HibernateTransaction - [builtinApplication.SomeBean_add] Started new transaction "881066892"
              === 2012-11-06 03:45:26,240 [ec-7] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
              === 2012-11-06 03:45:26,240 [ec-7] INFO  HibernateTransaction - Attempting to commit 1 database update(s)
              === 2012-11-06 03:45:26,240 [ec-7] DEBUG HibernateTransaction - Committing transaction "881066892"
              === 2012-11-06 03:45:26,243 [ec-7] WARN  BasicDataSource - Can not load related data source 'groovy.lang.MetaClass' for field 'metaClass'. Treating as simple field.
              === 2012-11-06 03:45:26,244 [ec-7] WARN  BasicDataSource - Can not load related data source 'org.springframework.validation.Errors' for field 'errors'. Treating as simple field.
              === 2012-11-06 03:45:26,244 [ec-7] WARN  BasicDataSource - Can not load related data source 'java.util.Map' for field 'properties'. Treating as simple field.
              === 2012-11-06 03:45:26,244 [ec-7] DEBUG DataSourceAnnotations - Generating data source 'SomeBean' for class com.aCompany.SomeBean
              === 2012-11-06 03:45:26,245 [ec-7] DEBUG RPCManager - non-DMI response, dropExtraFields: true
              === 2012-11-06 03:45:26,248 [ec-7] DEBUG HibernateTransaction - Closing session "881066892"
              === 2012-11-06 03:45:26,248 [ec-7] DEBUG HibernateTransaction - Removed transaction "881066892"

              Regards,
              Alius

              Comment


                #22
                Hi Alius,

                thanks, it works now without errors :)
                The ignore option is not specified here:
                http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/data/DataSource.html
                Maybe it should be added?

                Regards,
                fatzopilot

                Comment


                  #23
                  It applies only on the server, so it's (correctly) doc'd only for server reference - here.

                  Comment


                    #24
                    Woh, I googled for 'Smartgwt datasource server' and this never popped up on the first pages (but instead the client docs) so I thought these are the relevant ones....
                    Thanks for the clarification.

                    Comment

                    Working...
                    X