Announcement

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

    MutliUpdate Flag Set. 1 Record Updating

    I have a custom operation that is called when a user closes a Window. It is meant to clean up after a user by marking several items in the database that belong to them for deletion with a soft-delete flag.

    The way the call works, is that when a user closes a window, a custom operation on a datasource is called and in the DSRequest is passed an IP Address.

    Code:
    <operationBinding operationType="custom" allowMultiUpdate="true" operationId="deleteUserDestinationsByIPAddress" serverMethod="deleteUserDestinationsByIPAddress"/>
    Once the request makes it to the server, all records for a certain table are looked up via a fetch:

    Code:
    DataSource vsd = DataSourceManager.get("videoStreamDestination");
                List<VideoStreamDestination> records = vsd.fetch("ipAddress",dsRequest.getFieldValue("ipAddress").toString());
    Once the List of records matching the IP Address criteria are fetched, they are looped over and new maps are created with the proper values set, so that a setValues(newVals) call can be made on the DSRequest.

    Code:
    ArrayList<Map<String,Object>> updatedDestinations = new ArrayList<Map<String, Object>>();
    
                //iterate the entity list and make maps out of the objects
                for(VideoStreamDestination destination : records)
                {
                    destination.setDeletedFlag(true);
                    Map<String, Object> destinationMap = new HashMap<String, Object>();
                    destinationMap.put("id",destination.getId());
                    destinationMap.put("ipAddress",destination.getIpAddress());
                    destinationMap.put("portNumber",destination.getPortNumber());
                    destinationMap.put("creator",destination.getCreatorName());
                    destinationMap.put("deletedFlag",true);
                    updatedDestinations.add(destinationMap);
                }
    Once all the maps are created and values set, the call to setValues is made and the a call to the execute method is made on the DataSource

    Code:
     dsRequest.setValues(updatedDestinations);
                dsRequest.setOperationType(DSOperationType.UPDATE.toString().toLowerCase());
                //dsRequest.setAllowMultiUpdate(true);
                vsd.execute(dsRequest);
    note: the allowMultiUpdate property is set in the ds.xml for this data source, and reading the documentation it seemed like that was the flag to set for allowing multiple updates.

    The problem is that when this request is executed, only one record is updated, and the following is seen in the logs, notice: WARN DSRequest - getValues() called on dsRequest containing multiple sets of values, returning first in list.....

    12:51:13,367 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,367 [80-4] INFO IDACall - Performing 1 operation(s)
    12:51:13,369 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,369 [80-4] DEBUG ServerObject - Couldn't find a public method named: fetch on class: com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI
    12:51:13,370 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,370 [80-4] DEBUG DataSourceDMI - DataSourceDMI: no public method name: fetch available on class: com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI - defaulting to builtin operations.
    12:51:13,371 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,371 [80-4] DEBUG AppBase - [builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application
    12:51:13,371 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,371 [80-4] DEBUG AppBase - [builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation
    12:51:13,372 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,372 [80-4] DEBUG JPADataSource - [builtinApplication.null] Creating EntityManager and starting transaction.
    12:51:13,378 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,378 [80-4] DEBUG JPADataSource - [builtinApplication.null] Executing fetch.
    12:51:13,378 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,378 [80-4] DEBUG JPADataSource - [builtinApplication.null] Query string: select _VideoStreamDestination from VideoStreamDestination _VideoStreamDestination where (lower(_VideoStreamDestination.ipAddress) = lower(:p0))
    12:51:13,380 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,380 [80-4] DEBUG JPADataSource - [builtinApplication.null] Parameter p0: 127.0.0.1
    12:51:13,391 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,391 [80-4] INFO DSResponse - [builtinApplication.null] DSResponse: List with 3 items
    12:51:13,391 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,391 [80-4] DEBUG JPADataSource - [builtinApplication.null] Committing current transaction.
    12:51:13,397 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,397 [80-4] DEBUG JPADataSource - [builtinApplication.null] Releasing entity manager.
    12:51:13,398 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,398 [80-4] DEBUG JPADataSource - Releasing entity manager.
    12:51:13,399 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,399 [80-4] DEBUG JPADataSource - Auto-joining transactions.
    12:51:13,399 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,399 [80-4] DEBUG JPADataSource - Creating EntityManager, starting transaction and setting it to RPCManager.
    12:51:13,405 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,405 [80-4] DEBUG DSRequest - Clobbering existing FreeResourcesHandler of type 'com.sncorp.gs2.ui.server.datasource.RTMDataSource' with a 'com.sncorp.gs2.ui.server.datasource.RTMDataSource'
    12:51:13,406 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,406 [80-4] DEBUG JPADataSource - Executing update.
    12:51:13,406 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,406 [80-4] WARN DSRequest - getValues() called on dsRequest containing multiple sets of values, returning first in list.
    12:51:13,416 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,416 [80-4] WARN DSRequest - getValues() called on dsRequest containing multiple sets of values, returning first in list.
    12:51:13,419 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,419 [80-4] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
    12:51:13,419 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,419 [80-4] DEBUG JPADataSource - Committing transaction for 1 queued operation(s).
    12:51:13,424 INFO [stdout] (pool-12-thread-1) === 2012-06-09 12:51:13,424 [ad-1] DEBUG ISCMessageDispatcher - sending message to channel: DATASOURCE_CHANNEL
    12:51:13,425 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,425 [80-4] DEBUG RPCManager - DMI response, dropExtraFields: false
    12:51:13,427 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-4) === 2012-06-09 12:51:13,427 [80-4] DEBUG JPADataSource - Releasing entity manager.

    What can I do to have all of the updates take place?

    #2
    Assuming the same soft delete flag is being applied to all Records, you should provide one set of values and then Criteria or AdvancedCriteria that will select all Records. Then it's all one SQL operation.

    Alternatively, create on DSRequest per update operation.

    Comment


      #3
      So setting the values on the DSRequest as a map doesn't mark them all for update?

      Code:
      dsRequest.setValues(updatedDestinations);
      The documentation for that method on DSRequest reads:
      Sets the values for this DSRequest. You may pass either a Map or a List of Maps. The List type is typically used for a DataSource.OP_ADD operation with multiple records.
      I'm not quite following.
      Last edited by ls3674; 11 Jun 2012, 09:18.

      Comment


        #4
        The format of multiple Maps is for certain unusual operations which aren't supported by JPA DataSource. Also this is for "add" not "update".

        So again you'll want either Criteria/AdvancedCriteria that target all records with the same values, or one DSRequest per record you want to update.

        Comment


          #5
          So there is no such thing as a true multi-update? Instead I need to loop over the records obtained by my criteria:
          Code:
          DataSource vsd = DataSourceManager.get("videoStreamDestination");
                      List<VideoStreamDestination> records = vsd.fetch("ipAddress",dsRequest.getFieldValue("ipAddress").toString());
          , update it, put the values in a map, create a new DSRequest instance, assign the value of the updated map, and then call execute?

          Small nag here, but the documentation says that setValues() is generally used for adds. It doesn't say that it's not used for other operations.

          Comment


            #6
            What do you mean by "a true multi-update"?

            Leaving aside some weird possibilities in JPA/Hibernate, one DSRequest results in one SQL operation. If you put together criteria that affect all records, you'll have one SQL UPDATE affecting multiple records. If for some reason you can't form a single criteria, then you'll have several SQL UPDATE operations.

            Is there some third possibility you're looking for?

            Comment


              #7
              I've obviously missed something here. I'm trying to set the values in a bunch of maps in a loop. That loop is being performed on a List<Entity> gotten from a server-side fetch. Once through the loop and the map is updated, I set the values on the dataSource via setValues(). I then called execute on the dataSource passing it the dsRequest.

              I also broke it up to execute a new update dsRequest each time through the loop with no success.

              I gather from our back-and-forth that this is not at all the way to do it. You recommend setting a criteria on the dsRequest. How is that accomplished to perform an update? Do you have an example?

              Specifically, how does one set a criteria to say, "Update the deleted_flag field to true for every record with ipAddress = "127.0.0.1"?

              Comment


                #8
                You set the criteria for a DSRequest with dsRequest.setCriteria(). Criteria that would select/update all records with ipAddress 127.0.0.1 is just:

                Code:
                Map criteria = new HashMap();
                criteria.put("ipAddress", "127.0.0.1");
                If you want to affect multiple IP addresses with the same values, you can pass an Array or List to put().

                There is also setAdvancedCriteria() and the AdvancedCriteria APIs if you need to do something more sophisticated (like ipAddress = "something" AND hostName is null) OR (..)).

                Comment


                  #9
                  So I'm trying to do all of this on the server, not the client, a criteria doesn't do any good there.

                  My use-case is this, send ip to server and then perform all updates there. I think we've been talking apples and oranges.

                  Comment


                    #10
                    ds.setCriteria() and AdvancedCriteria are server APIs.

                    To take a guess at what's confusing you - you may think criteria means "search"/"fetch". It doesn't. "update" and "remove" DSRequests have criteria, and, like the WHERE clause in a SQL UPDATE or DELETE, it specifies what records are updated or deleted.

                    Comment


                      #11
                      Thanks, that clears it up a little.

                      So taking your advice, I've updated the DMI Call to look like this:

                      Code:
                      public DSResponse deleteUserDestinationsByIPAddress(DSRequest dsRequest)
                          {
                              DSResponse dsResponse = new DSResponse();
                              try
                              {
                                  DataSource vsd = DataSourceManager.get("videoStreamDestination");
                                  List<VideoStreamDestination> records = vsd.fetch("ipAddress",dsRequest.getFieldValue("ipAddress").toString());
                      
                                  Map criteria = new HashMap();
                                  criteria.put("ipAddress", dsRequest.getFieldValue("ipAddress").toString());
                                  dsRequest.setCriteria(criteria);
                                  dsRequest.setFieldValue("deletedFlag",false);
                      
                      dsRequest.setOperationType(DSOperationType.UPDATE.toString().toLowerCase());
                                  dsRequest.execute();
                              }
                              catch (Exception e)
                              {
                                  e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                              }
                              return dsResponse;
                      I have two questions:
                      1. Is that the proper way to set the field that I want to be updated (deletedFlag)?
                      2. When calling execute, an exception occurs with regard to the primary key field not being set on the criteria. So I updated the code to have:

                      Code:
                      criteria.put("id","id");
                      //note dsRequest.setAllowMultiUpdate(true) does not work either;
                      for this particular table the primary key column is named "id".


                      Doing this did not help, and another exception was thrown:

                      15:28:03,440 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,440 [0-21] INFO IDACall - Performing 1 operation(s)
                      15:28:03,448 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,448 [0-21] DEBUG ServerObject - Couldn't find a public method named: fetch on class: com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI
                      15:28:03,449 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,449 [0-21] DEBUG DataSourceDMI - DataSourceDMI: no public method name: fetch available on class: com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI - defaulting to builtin operations.
                      15:28:03,450 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,450 [0-21] DEBUG AppBase - [builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application
                      15:28:03,451 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,451 [0-21] DEBUG AppBase - [builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation
                      15:28:03,452 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,452 [0-21] DEBUG JPADataSource - [builtinApplication.null] Creating EntityManager and starting transaction.
                      15:28:03,457 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,457 [0-21] DEBUG JPADataSource - [builtinApplication.null] Executing fetch.
                      15:28:03,458 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,458 [0-21] DEBUG JPADataSource - [builtinApplication.null] Query string: select _VideoStreamDestination from VideoStreamDestination _VideoStreamDestination where (lower(_VideoStreamDestination.ipAddres

                      15:28:03,460 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,460 [0-21] DEBUG JPADataSource - [builtinApplication.null] Parameter p0: 127.0.0.1
                      15:28:03,469 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,469 [0-21] INFO DSResponse - [builtinApplication.null] DSResponse: List with 2 items
                      15:28:03,470 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,470 [0-21] DEBUG JPADataSource - [builtinApplication.null] Committing current transaction.
                      15:28:03,475 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,475 [0-21] DEBUG JPADataSource - [builtinApplication.null] Releasing entity manager.
                      15:28:03,476 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:03,476 [0-21] DEBUG JPADataSource - Releasing entity manager.
                      15:28:07,142 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,142 [0-21] DEBUG AppBase - [builtinApplication.deleteUserDestinationsByIPAddress] No userTypes defined, allowing anyone access to all operations for this application
                      15:28:07,146 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,146 [0-21] DEBUG AppBase - [builtinApplication.deleteUserDestinationsByIPAddress] No public zero-argument method named '_deleteUserDestinationsByIPAddress' found, performing generic datasource operatio
                      15:28:07,150 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,150 [0-21] DEBUG JPADataSource - [builtinApplication.deleteUserDestinationsByIPAddress] Auto-joining transactions.
                      15:28:07,151 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,151 [0-21] DEBUG JPADataSource - [builtinApplication.deleteUserDestinationsByIPAddress] Creating EntityManager, starting transaction and setting it to RPCManager.
                      15:28:07,188 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,188 [0-21] DEBUG DSRequest - [builtinApplication.deleteUserDestinationsByIPAddress] Clobbering existing FreeResourcesHandler of type 'com.sncorp.gs2.ui.server.datasource.RTMDataSource' with a 'com.snco
                      .datasource.RTMDataSource'
                      15:28:07,195 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,195 [0-21] DEBUG JPADataSource - [builtinApplication.deleteUserDestinationsByIPAddress] Executing update.
                      15:28:07,201 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-19) === 2012-06-11 15:28:07,201 [0-19] INFO RequestContext - URL: '/gsui/gsui/sc/messaging', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0': Moz (Gecko) with Accept-Encoding header
                      15:28:07,200 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) java.lang.ClassCastException: Value 'id' of type 'class java.lang.String' can not be casted to type 'class java.lang.Long'.
                      15:28:07,205 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.util.DataTools.castValue(DataTools.java:3985)
                      15:28:07,207 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.jpa.JPADataSource.executeUpdate(JPADataSource.java:904)
                      15:28:07,208 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.sncorp.gs2.ui.server.datasource.RTMDataSource.executeUpdate(RTMDataSource.java:83)
                      15:28:07,210 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DataSource.execute(DataSource.java:1295)
                      15:28:07,211 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.jpa.JPADataSource.execute(JPADataSource.java:440)
                      15:28:07,212 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:725)
                      15:28:07,213 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
                      15:28:07,214 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.application.AppBase.execute(AppBase.java:491)
                      15:28:07,215 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1954)
                      15:28:07,217 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI.deleteUserDestinationsByIPAddress(VideoStreamDestinationDMI.java:116)
                      15:28:07,217 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      15:28:07,222 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      15:28:07,225 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      15:28:07,228 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at java.lang.reflect.Method.invoke(Method.java:601)
                      15:28:07,231 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:950)
                      15:28:07,231 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:386)
                      15:28:07,232 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
                      15:28:07,233 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1951)
                      15:28:07,234 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
                      15:28:07,235 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
                      15:28:07,235 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
                      15:28:07,236 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                      15:28:07,237 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
                      15:28:07,237 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      15:28:07,238 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                      15:28:07,238 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
                      15:28:07,239 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,240 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
                      15:28:07,240 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                      15:28:07,252 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-24) === 2012-06-11 15:28:07,252 [0-24] INFO RequestContext - URL: '/gsui/gsui/sc/messaging', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0': Moz (Gecko) with Accept-Encoding header
                      15:28:07,254 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,255 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      15:28:07,256 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                      15:28:07,257 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,258 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
                      15:28:07,259 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
                      15:28:07,259 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
                      15:28:07,264 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
                      15:28:07,265 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
                      15:28:07,268 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
                      15:28:07,269 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      15:28:07,270 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      15:28:07,270 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
                      15:28:07,272 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
                      15:28:07,273 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
                      15:28:07,287 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
                      15:28:07,289 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at java.lang.Thread.run(Thread.java:722)
                      15:28:07,290 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) java.lang.NullPointerException
                      15:28:07,292 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.application.AppBase.execute(AppBase.java:499)
                      15:28:07,293 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1954)
                      15:28:07,294 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI.deleteUserDestinationsByIPAddress(VideoStreamDestinationDMI.java:116)
                      15:28:07,297 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      15:28:07,298 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      15:28:07,299 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      15:28:07,301 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at java.lang.reflect.Method.invoke(Method.java:601)
                      15:28:07,302 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:950)
                      15:28:07,303 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:386)
                      15:28:07,304 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
                      15:28:07,306 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1951)
                      15:28:07,307 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
                      15:28:07,307 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
                      15:28:07,309 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
                      15:28:07,310 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                      15:28:07,316 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
                      15:28:07,317 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      15:28:07,318 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                      15:28:07,319 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
                      15:28:07,321 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,322 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
                      15:28:07,323 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                      15:28:07,324 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,326 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      15:28:07,326 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                      15:28:07,332 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                      15:28:07,334 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
                      15:28:07,335 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
                      15:28:07,336 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
                      15:28:07,338 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
                      15:28:07,339 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
                      15:28:07,340 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
                      15:28:07,341 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      15:28:07,343 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      15:28:07,344 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
                      15:28:07,348 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
                      15:28:07,350 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
                      15:28:07,351 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
                      15:28:07,352 ERROR [stderr] (http-0.0.0.0-0.0.0.0-8080-21) at java.lang.Thread.run(Thread.java:722)
                      15:28:07,356 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,356 [0-21] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
                      15:28:07,358 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,358 [0-21] DEBUG JPADataSource - Committing transaction for 0 queued operation(s).
                      15:28:07,363 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,363 [0-21] DEBUG RPCManager - DMI response, dropExtraFields: false
                      15:28:07,364 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,364 [0-21] DEBUG JPADataSource - Releasing entity manager.
                      15:28:07,366 INFO [stdout] (http-0.0.0.0-0.0.0.0-8080-21) === 2012-06-11 15:28:07,366 [0-21] INFO Compression - /gsui/gsui/sc/IDACall: 144 -> 132 bytes

                      Comment


                        #12
                        The reason for the exception is pretty clear from the message - you provided a String value for a numeric field - but if you are trying to affect multiple records you don't want the primary key in the criteria or this will obviously just affect one record.

                        setAllowMultiUpdate(true) is how you make a dsRequest able to affect more than one record and our tests show it works. You may want to simply try that again in case something silly happened like forgetting to save a code buffer before testing again.

                        Comment


                          #13
                          The primary key exception lead me to believe that it needed to know the name of the primary key field, not the primary key itself.

                          Setting allowMultiUpdate does not work either:
                          Code:
                          Map criteria = new HashMap();
                                      criteria.put("ipAddress", dsRequest.getFieldValue("ipAddress").toString());
                                      dsRequest.setAllowMultiUpdate(true);
                                      dsRequest.setCriteria(criteria);
                                      dsRequest.setFieldValue("deletedFlag",false);
                          [QUOTE]
                          16:05:02,915 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:02,915 [0-16] DEBUG JPADataSource - [builtinApplication.deleteUserDestinationsByIPAddress] Executing update.
                          16:05:02,931 ERROR [stderr] (http--0.0.0.0-8080-16) java.lang.IllegalArgumentException: id to load is required for loading
                          16:05:02,932 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:87)
                          16:05:02,932 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.event.spi.LoadEvent.<init>(LoadEvent.java:59)
                          16:05:02,933 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.internal.SessionImpl.get(SessionImpl.java:867)
                          16:05:02,933 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.internal.SessionImpl.get(SessionImpl.java:863)
                          16:05:02,934 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:795)
                          16:05:02,934 ERROR [stderr] (http--0.0.0.0-8080-16) at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:770)
                          16:05:02,935 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.as.jpa.container.AbstractEntityManager.find(AbstractEntityManager.java:193)
                          16:05:02,935 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.jpa.JPADataSource.executeUpdate(JPADataSource.java:904)
                          16:05:02,936 ERROR [stderr] (http--0.0.0.0-8080-16) at com.sncorp.gs2.ui.server.datasource.RTMDataSource.executeUpdate(RTMDataSource.java:83)
                          16:05:02,936 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DataSource.execute(DataSource.java:1295)
                          16:05:02,937 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.jpa.JPADataSource.execute(JPADataSource.java:440)
                          16:05:02,937 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:725)
                          16:05:02,939 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
                          16:05:02,940 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.application.AppBase.execute(AppBase.java:491)
                          16:05:02,942 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1954)
                          16:05:02,943 ERROR [stderr] (http--0.0.0.0-8080-16) at com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI.deleteUserDestinationsByIPAddress(VideoStreamDestinationDMI.java:117)
                          16:05:02,945 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          16:05:02,945 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                          16:05:02,947 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                          16:05:02,948 ERROR [stderr] (http--0.0.0.0-8080-16) at java.lang.reflect.Method.invoke(Method.java:601)
                          16:05:02,950 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:950)
                          16:05:02,950 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:386)
                          16:05:02,952 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
                          16:05:02,953 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1951)
                          16:05:02,957 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
                          16:05:02,958 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
                          16:05:02,960 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
                          16:05:02,960 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                          16:05:02,962 ERROR [stderr] (http--0.0.0.0-8080-16) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
                          16:05:02,963 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                          16:05:02,965 ERROR [stderr] (http--0.0.0.0-8080-16) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                          16:05:02,965 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
                          16:05:02,967 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:02,968 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
                          16:05:02,973 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                          16:05:02,974 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:02,975 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                          16:05:02,976 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                          16:05:02,978 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:02,978 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
                          16:05:02,983 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
                          16:05:02,983 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
                          16:05:02,984 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
                          16:05:02,985 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
                          16:05:02,986 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
                          16:05:02,986 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                          16:05:02,991 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                          16:05:02,992 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
                          16:05:02,994 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
                          16:05:02,995 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
                          16:05:02,996 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
                          16:05:02,997 ERROR [stderr] (http--0.0.0.0-8080-16) at java.lang.Thread.run(Thread.java:722)
                          16:05:02,999 ERROR [stderr] (http--0.0.0.0-8080-16) java.lang.NullPointerException
                          16:05:03,000 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.application.AppBase.execute(AppBase.java:499)
                          16:05:03,002 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1954)
                          16:05:03,002 ERROR [stderr] (http--0.0.0.0-8080-16) at com.sncorp.gs2.ui.server.dmi.VideoStreamDestinationDMI.deleteUserDestinationsByIPAddress(VideoStreamDestinationDMI.java:117)
                          16:05:03,007 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          16:05:03,007 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                          16:05:03,009 ERROR [stderr] (http--0.0.0.0-8080-16) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                          16:05:03,010 ERROR [stderr] (http--0.0.0.0-8080-16) at java.lang.reflect.Method.invoke(Method.java:601)
                          16:05:03,012 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:950)
                          16:05:03,012 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:386)
                          16:05:03,014 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
                          16:05:03,015 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1951)
                          16:05:03,015 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
                          16:05:03,017 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
                          16:05:03,017 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
                          16:05:03,018 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                          16:05:03,019 ERROR [stderr] (http--0.0.0.0-8080-16) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
                          16:05:03,020 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                          16:05:03,020 ERROR [stderr] (http--0.0.0.0-8080-16) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                          16:05:03,024 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
                          16:05:03,025 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:03,026 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
                          16:05:03,027 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                          16:05:03,027 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:03,028 ERROR [stderr] (http--0.0.0.0-8080-16) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                          16:05:03,029 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
                          16:05:03,030 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
                          16:05:03,030 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
                          16:05:03,032 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
                          16:05:03,033 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)
                          16:05:03,033 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
                          16:05:03,035 ERROR [stderr] (http--0.0.0.0-8080-16) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
                          16:05:03,035 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
                          16:05:03,036 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                          16:05:03,043 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                          16:05:03,044 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
                          16:05:03,044 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
                          16:05:03,045 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
                          16:05:03,046 ERROR [stderr] (http--0.0.0.0-8080-16) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
                          16:05:03,046 ERROR [stderr] (http--0.0.0.0-8080-16) at java.lang.Thread.run(Thread.java:722)
                          16:05:03,047 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,047 [0-16] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
                          16:05:03,048 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,048 [0-16] DEBUG JPADataSource - Committing transaction for 0 queued operation(s).
                          16:05:03,049 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,049 [0-16] DEBUG RPCManager - DMI response, dropExtraFields: false
                          16:05:03,050 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,050 [0-16] DEBUG JPADataSource - Releasing entity manager.
                          16:05:03,051 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,051 [0-16] INFO Compression - /gsui/gsui/sc/IDACall: 144 -> 132 bytes
                          16:05:03,097 INFO [stdout] (http--0.0.0.0-8080-16) === 2012-06-11 16:05:03,096 [0-16] INFO RequestContext - URL: '/gsui/skin/fleet/images/Dialog/say.png', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0': Moz (Gecko) with Accept-Encoding header

                          [QUOTE]

                          I also thought to try this:
                          Code:
                          Map criteria = new HashMap();
                                      criteria.put("ipAddress", dsRequest.getFieldValue("ipAddress").toString());
                                      dsRequest.setCriteria(criteria);
                                      dsRequest.setFieldValue("deletedFlag",false);
                                      Map vals = new HashMap();
                                      vals.put("deletedFlag",true);
                                      vsd.update(criteria,vals);
                          Nothing appeared to happen.

                          Comment


                            #14
                            setAllowMultiUpdate(true) is working as intended - the request is being allowed to proceed - but now you're getting some kind of exception from the bowels of Hibernate. We'll try to figure out what this means, but, the other approach of one dsRequest per record you want to affect should bypass this Hibernate issue.

                            Comment


                              #15
                              Cool deal,

                              Thanks,

                              Comment

                              Working...
                              X