Opush
  1. Opush
  2. OP-138

CLONE 3.1 - T#10917 handle invalid ServerId in incoming requests

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: 3.0.2
    • Fix Version/s: 3.1.0
    • Labels:
      None
    • Story Points:
      1
    • Rank:
      6601
    • Sprint:
      OBM Sprint 2015#2

      Description

      Sometimes, incoming Sync requests come with some bad ServerId like :

      • 0
      • an arbitrary string
      • a ServerId that doesn't belong to the Sync CollectionId

      We should ignore entries if needed or return an appropriate answer.

        Issue Links

          Activity

          Matthieu EXT_BAECHLER made changes -
          Field Original Value New Value
          Link This issue clones OP-123 [ OP-123 ]
          Matthieu EXT_BAECHLER made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Matthieu EXT_BAECHLER made changes -
          Status In Progress [ 3 ] In Review [ 10001 ]
          Thomas HILAIRE made changes -
          Fix Version/s 3.1.0 [ 12504 ]
          Fix Version/s 3.0.4 [ 12502 ]
          Hide
          Matthieu EXT_BAECHLER added a comment -

          Same impact as OP-123

          Show
          Matthieu EXT_BAECHLER added a comment - Same impact as OP-123
          Matthieu EXT_BAECHLER made changes -
          Status In Review [ 10001 ] Ready To Merge [ 10002 ]
          Resolution Fixed [ 1 ]
          Matthieu EXT_BAECHLER made changes -
          Status Ready To Merge [ 10002 ] In Review [ 10001 ]
          Matthieu EXT_BAECHLER made changes -
          Status In Review [ 10001 ] Ready To Merge [ 10002 ]
          Hide
          Jenkins Continuous Integration Server added a comment -

          SUCCESS: Integrated in opush-master #180
          OP-138 refactor Sync client API to use a builder pattern (thilaire: efce15ffbcfbe7d4f14bdbc4d19202dc87cf6e5d)

          • client/src/main/java/org/obm/sync/push/client/OPClient.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/SyncWithCommand.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
            OP-138 remove code duplication (thilaire: 5ecf144a9570fe3da6fa584eae7701e9e3907f0d)
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
            OP-138 merge SyncWithCommand into Sync object (thilaire: 91db2a2d6d7b56ad786e68196dd16f305f3da137)
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/SyncWithDataCommand.java
          • client/src/main/java/org/obm/sync/push/client/commands/SyncWithCommand.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
            OP-138 convert another OPClient.sync invocation into a Sync.Builder one (thilaire: 3c8b949206bbfed366f7156f0fa8d46a3c351620)
          • client/src/main/java/org/obm/sync/push/client/OPClient.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
            OP-138 remove use of xml template to have a more flexible Sync command (thilaire: 3d1a852ad5c73a3b10c6886d6eb04b36b7fdb732)
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • client/src/main/resources/data/SyncRequest.xml
            OP-138 make use of opush protocol object SyncCollection (thilaire: 670c73a30e972bbec64823f3a3052e3204c19bc7)
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
            OP-138 make use of opush protocol object SyncCollection (step two) (thilaire: 3ec0e3a78d3ec6c1ad37b0d91a685e814d30712b)
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
            OP-138 remove SyncCollectionCommandDto (thilaire: b5a0cfca83dfdae9f17e490224f56e5e9f0c5d18)
          • protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java
          • client/src/main/resources/data/SyncWithCommandRequest.xml
          • protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java
          • protocol/src/test/java/org/obm/push/BeansTest.java
          • client/src/main/resources/data/EmailDeleteSyncRequest.xml
          • client/src/main/resources/data/EmailSyncRequest.xml
          • client/src/main/java/org/obm/sync/push/client/commands/EmailDeleteSyncRequest.java
          • protocol/src/main/java/org/obm/push/protocol/data/ContactDecoder.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • protocol/src/main/java/org/obm/push/protocol/data/ContactEncoder.java
          • client/src/main/java/org/obm/sync/push/client/commands/EmailSyncNoOptionsCommand.java
          • push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollectionCommandDto.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java
          • protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java
          • client/src/main/resources/data/EmailSyncRequestWithWait.xml
          • client/src/main/java/org/obm/sync/push/client/commands/EmailSyncCommand.java
            OP-138 finally make Sync multi command and drop template based sync (thilaire: 81f1cd3ca20bad3a79b30c38a7c5730ced4da3c9)
          • protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java
            OP-138 make various integrity checks on commands ServerId (thilaire: 237ec694342b4b4a283503d8b3c647c7a06e7a13)
          • push-bean/src/test/java/org/obm/push/bean/ServerIdTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • push-bean/src/main/java/org/obm/push/bean/ServerId.java
            OP-138 finally fed up by this warning ... remove it now (thilaire: 3ac4c5e7e60fc4cba91e6ff824314596405f85f4)
          • push-mail/src/main/java/org/obm/push/mail/MailBackendImpl.java
            OP-138 remove inheritance with SyncCollectionCommands, use delegation (thilaire: e12ead1ceee1a628ede31f17334942576b8fd323)
          • push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsIndexTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java
          • push-bean/src/test/java/org/obm/push/bean/BeansTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java
          • push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponsesResponse.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java
            OP-138 remove AbstractSyncCollection (thilaire: a5bd568fd9141c1178a9c2542d27ffd3714393b0)
          • push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java
          • push-bean/src/main/java/org/obm/push/bean/AbstractSyncCollection.java
          • push-bean/src/test/java/org/obm/push/bean/AbstractSyncCollectionTest.java
          • push-core/src/main/java/org/obm/push/SummaryLoggerService.java
          • protocol/src/test/java/org/obm/push/protocol/GetItemEstimateProtocolTest.java
          • push-bean/src/main/java/org/obm/push/bean/PIMDataType.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AnalysedSyncCollectionMixIn.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java
          • protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AbstractSyncCollectionMixIn.java
          • protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java
          • push-core/src/main/java/org/obm/push/handler/PingHandler.java
          • protocol/src/main/java/org/obm/push/protocol/PingProtocol.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponse.java
          • protocol/src/main/java/org/obm/push/protocol/GetItemEstimateProtocol.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java
          • protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java
            OP-138 AnalysedSyncCollection contains a SyncCollectionCommandsRequest instead of a ...Response (thilaire: 3ceb9f3dbdb8ff7e8d2dc7731cd4c3148f525ba4)
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java
          • push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java
          • push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java
          • push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java
          • push-core/src/main/java/org/obm/push/handler/SyncHandler.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java
          • push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java
          • push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java
            OP-138 duplicate SyncCollectionCommand into SyncCollectionCommandRequest and SyncCollectionCommandResponse (thilaire: 94661959625c522f941759b0a175b2614a9f4183)
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsMixIn.java
          • protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandRequestMixIn.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponse.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java
          • push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandResponse.java
          • push-bean/src/main/java/org/obm/push/bean/TypedCommand.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java
          • push-bean/src/test/java/org/obm/push/bean/TypedCommandsIndexTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java
          • push-core/src/main/java/org/obm/push/handler/ItemOperationsHandler.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandResponseMixIn.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • push-core/src/main/java/org/obm/push/state/StateMachine.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • push-bean/src/main/java/org/obm/push/bean/TypedCommandsIndex.java
          • push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceCompatibilityTest.java
          • push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommand.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java
          • push-core/src/test/java/org/obm/push/state/StateMachineTest.java
          • push-bean/src/test/java/org/obm/push/bean/BeansTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java
          • protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
          • push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponsesResponse.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/TypedCommandsMixIn.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandMixIn.java
          • protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java
          • push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java
          • protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandRequest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java
          • push-core/src/main/java/org/obm/push/handler/SyncHandler.java
          • push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsIndexTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
            OP-138 remove SyncCollectionCommandsRequest object (thilaire: 18135fc8f2fddfe0082ba89569697f2a0df55a74)
          • push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java
          • push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AnalysedSyncCollectionMixIn.java
          • push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java
          • push-bean/src/test/java/org/obm/push/bean/BeansTest.java
          • push-core/src/main/java/org/obm/push/SummaryLoggerService.java
          • push-core/src/main/java/org/obm/push/handler/SyncHandler.java
          • push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java
          • push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java
          • push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java
          • push-bean/src/main/java/org/obm/push/bean/TypedCommandsIndex.java
          • push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java
            OP-138 add EncodedApplicationData to postpone data decoding after collection type resolution (thilaire: 602b39e214768fdd2179437ea2e672a6da8a004a)
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java
          • protocol/src/main/java/org/obm/push/protocol/data/ContactEncoder.java
          • push-bean/src/main/java/org/obm/push/bean/EncodedApplicationData.java
          • protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java
          • protocol/src/main/java/org/obm/push/protocol/bean/ClientSyncRequest.java
          • push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java
          • protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncRequest.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java
          • protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java
          • protocol/src/main/java/org/obm/push/protocol/ActiveSyncProtocol.java
          • protocol/src/main/java/org/obm/push/protocol/AsymetricActiveSyncProtocol.java
          • integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java
          • protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java
          • push-bean/src/main/java/org/obm/push/bean/EncodedSyncCollectionCommandRequest.java
          • integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java
          • push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java
          • push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandRequest.java
          • client/src/main/java/org/obm/sync/push/client/commands/Sync.java
          • protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java
          • protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
          Show
          Jenkins Continuous Integration Server added a comment - SUCCESS: Integrated in opush-master #180 OP-138 refactor Sync client API to use a builder pattern (thilaire: efce15ffbcfbe7d4f14bdbc4d19202dc87cf6e5d ) client/src/main/java/org/obm/sync/push/client/OPClient.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java client/src/main/java/org/obm/sync/push/client/commands/SyncWithCommand.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java OP-138 remove code duplication (thilaire: 5ecf144a9570fe3da6fa584eae7701e9e3907f0d ) client/src/main/java/org/obm/sync/push/client/commands/Sync.java OP-138 merge SyncWithCommand into Sync object (thilaire: 91db2a2d6d7b56ad786e68196dd16f305f3da137 ) integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java client/src/main/java/org/obm/sync/push/client/commands/SyncWithDataCommand.java client/src/main/java/org/obm/sync/push/client/commands/SyncWithCommand.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java OP-138 convert another OPClient.sync invocation into a Sync.Builder one (thilaire: 3c8b949206bbfed366f7156f0fa8d46a3c351620 ) client/src/main/java/org/obm/sync/push/client/OPClient.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java OP-138 remove use of xml template to have a more flexible Sync command (thilaire: 3d1a852ad5c73a3b10c6886d6eb04b36b7fdb732 ) client/src/main/java/org/obm/sync/push/client/commands/Sync.java client/src/main/resources/data/SyncRequest.xml OP-138 make use of opush protocol object SyncCollection (thilaire: 670c73a30e972bbec64823f3a3052e3204c19bc7 ) client/src/main/java/org/obm/sync/push/client/commands/Sync.java OP-138 make use of opush protocol object SyncCollection (step two) (thilaire: 3ec0e3a78d3ec6c1ad37b0d91a685e814d30712b ) integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java OP-138 remove SyncCollectionCommandDto (thilaire: b5a0cfca83dfdae9f17e490224f56e5e9f0c5d18 ) protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java client/src/main/resources/data/SyncWithCommandRequest.xml protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java protocol/src/test/java/org/obm/push/BeansTest.java client/src/main/resources/data/EmailDeleteSyncRequest.xml client/src/main/resources/data/EmailSyncRequest.xml client/src/main/java/org/obm/sync/push/client/commands/EmailDeleteSyncRequest.java protocol/src/main/java/org/obm/push/protocol/data/ContactDecoder.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java protocol/src/main/java/org/obm/push/protocol/data/ContactEncoder.java client/src/main/java/org/obm/sync/push/client/commands/EmailSyncNoOptionsCommand.java push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollectionCommandDto.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java client/src/main/resources/data/EmailSyncRequestWithWait.xml client/src/main/java/org/obm/sync/push/client/commands/EmailSyncCommand.java OP-138 finally make Sync multi command and drop template based sync (thilaire: 81f1cd3ca20bad3a79b30c38a7c5730ced4da3c9 ) protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java OP-138 make various integrity checks on commands ServerId (thilaire: 237ec694342b4b4a283503d8b3c647c7a06e7a13 ) push-bean/src/test/java/org/obm/push/bean/ServerIdTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java push-bean/src/main/java/org/obm/push/bean/ServerId.java OP-138 finally fed up by this warning ... remove it now (thilaire: 3ac4c5e7e60fc4cba91e6ff824314596405f85f4 ) push-mail/src/main/java/org/obm/push/mail/MailBackendImpl.java OP-138 remove inheritance with SyncCollectionCommands, use delegation (thilaire: e12ead1ceee1a628ede31f17334942576b8fd323 ) push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsIndexTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java push-bean/src/test/java/org/obm/push/bean/BeansTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponsesResponse.java push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java OP-138 remove AbstractSyncCollection (thilaire: a5bd568fd9141c1178a9c2542d27ffd3714393b0 ) push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java push-bean/src/main/java/org/obm/push/bean/AbstractSyncCollection.java push-bean/src/test/java/org/obm/push/bean/AbstractSyncCollectionTest.java push-core/src/main/java/org/obm/push/SummaryLoggerService.java protocol/src/test/java/org/obm/push/protocol/GetItemEstimateProtocolTest.java push-bean/src/main/java/org/obm/push/bean/PIMDataType.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AnalysedSyncCollectionMixIn.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AbstractSyncCollectionMixIn.java protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java push-core/src/main/java/org/obm/push/handler/PingHandler.java protocol/src/main/java/org/obm/push/protocol/PingProtocol.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponse.java protocol/src/main/java/org/obm/push/protocol/GetItemEstimateProtocol.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java OP-138 AnalysedSyncCollection contains a SyncCollectionCommandsRequest instead of a ...Response (thilaire: 3ceb9f3dbdb8ff7e8d2dc7731cd4c3148f525ba4 ) push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java push-core/src/main/java/org/obm/push/handler/SyncHandler.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java OP-138 duplicate SyncCollectionCommand into SyncCollectionCommandRequest and SyncCollectionCommandResponse (thilaire: 94661959625c522f941759b0a175b2614a9f4183 ) push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsMixIn.java protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandRequestMixIn.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponse.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsResponseMixIn.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommands.java push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandResponse.java push-bean/src/main/java/org/obm/push/bean/TypedCommand.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java push-bean/src/test/java/org/obm/push/bean/TypedCommandsIndexTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsIndex.java push-core/src/main/java/org/obm/push/handler/ItemOperationsHandler.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandResponseMixIn.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java push-core/src/main/java/org/obm/push/state/StateMachine.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java push-bean/src/main/java/org/obm/push/bean/TypedCommandsIndex.java push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceCompatibilityTest.java push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommand.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsResponse.java push-core/src/test/java/org/obm/push/state/StateMachineTest.java push-bean/src/test/java/org/obm/push/bean/BeansTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionResponsesResponse.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/TypedCommandsMixIn.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandMixIn.java protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandRequest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java push-core/src/main/java/org/obm/push/handler/SyncHandler.java push-bean/src/test/java/org/obm/push/bean/SyncCollectionCommandsIndexTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java OP-138 remove SyncCollectionCommandsRequest object (thilaire: 18135fc8f2fddfe0082ba89569697f2a0df55a74 ) push-bean/src/main/java/org/obm/push/bean/AnalysedSyncCollection.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandsRequest.java push-core/src/test/java/org/obm/push/protocol/data/SyncAnalyserTest.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java push-dao-cassandra/src/main/java/org/obm/push/json/JSONService.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/AnalysedSyncCollectionMixIn.java push-core/src/test/java/org/obm/push/SummaryLoggerServiceTest.java push-bean/src/test/java/org/obm/push/bean/BeansTest.java push-core/src/main/java/org/obm/push/SummaryLoggerService.java push-core/src/main/java/org/obm/push/handler/SyncHandler.java push-core/src/test/java/org/obm/push/handler/SyncHandlerTest.java push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java push-dao-cassandra/src/main/java/org/obm/push/json/mixin/SyncCollectionCommandsRequestMixIn.java push-bean/src/main/java/org/obm/push/bean/TypedCommandsIndex.java push-bean/src/test/java/org/obm/push/bean/AnalysedSyncCollectionTest.java OP-138 add EncodedApplicationData to postpone data decoding after collection type resolution (thilaire: 602b39e214768fdd2179437ea2e672a6da8a004a ) integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnContactsTest.java protocol/src/main/java/org/obm/push/protocol/data/ContactEncoder.java push-bean/src/main/java/org/obm/push/bean/EncodedApplicationData.java protocol/src/test/java/org/obm/push/protocol/data/SyncDecoderTest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerOnCalendarsTest.java protocol/src/main/java/org/obm/push/protocol/bean/ClientSyncRequest.java push-core/src/main/java/org/obm/push/protocol/data/SyncAnalyser.java protocol/src/main/java/org/obm/push/protocol/data/SyncEncoder.java protocol/src/main/java/org/obm/push/protocol/data/SyncDecoder.java protocol/src/main/java/org/obm/push/protocol/bean/SyncRequest.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerWithBackendTest.java protocol/src/main/java/org/obm/push/protocol/SyncProtocol.java protocol/src/main/java/org/obm/push/protocol/ActiveSyncProtocol.java protocol/src/main/java/org/obm/push/protocol/AsymetricActiveSyncProtocol.java integration-testing/opush/src/test/java/org/obm/opush/command/sync/SyncHandlerTest.java protocol/src/main/java/org/obm/push/protocol/bean/SyncCollection.java push-bean/src/main/java/org/obm/push/bean/EncodedSyncCollectionCommandRequest.java integration-testing/opush/src/test/java/org/obm/opush/MailBackendGetChangedTest.java push-dao-cassandra/src/test/java/org/obm/push/json/JSONServiceTest.java push-bean/src/main/java/org/obm/push/bean/SyncCollectionCommandRequest.java client/src/main/java/org/obm/sync/push/client/commands/Sync.java protocol/src/test/java/org/obm/push/protocol/bean/SyncCollectionTest.java protocol/src/test/java/org/obm/push/protocol/SyncProtocolTest.java
          Thomas HILAIRE made changes -
          Sprint OBM Sprint 2015#2 [ 26 ]
          David Dolcimascolo made changes -
          Rank Ranked lower
          David Dolcimascolo made changes -
          Story Points 1
          Thomas HILAIRE made changes -
          Status Ready To Merge [ 10002 ] Resolved [ 5 ]
          Hide
          Thomas HILAIRE added a comment -

          Impacts: same as OP-123
          It changes details of Sync command handling.
          It means that it can break Sync on some devices : we must test synchronization with various phones with addition/modification/deletion.

          QA
          Reproduction steps: One way to produce this issue, with a Nexus 4 (Android 5.0.1) :

          1. usera with its Nexus4, is configured to synchronize each 10 minutes
          2. usera with its Nexus4, receive en email in its INBOX
          3. usera with its Nexus4, read this email and return to the INBOX view
          4. usera with its Nexus4, he select the read email and drop it with the "bin" button
          5. usera with its Nexus4, force the synchronization

          Bad behavior:
          the device does not want to synchronize its INBOX anymore

          Expected behavior:
          the device is able to synchronize its INBOX anymore

          Show
          Thomas HILAIRE added a comment - Impacts : same as OP-123 It changes details of Sync command handling. It means that it can break Sync on some devices : we must test synchronization with various phones with addition/modification/deletion. QA Reproduction steps : One way to produce this issue, with a Nexus 4 (Android 5.0.1) : usera with its Nexus4, is configured to synchronize each 10 minutes usera with its Nexus4, receive en email in its INBOX usera with its Nexus4, read this email and return to the INBOX view usera with its Nexus4, he select the read email and drop it with the "bin" button usera with its Nexus4, force the synchronization Bad behavior : the device does not want to synchronize its INBOX anymore Expected behavior : the device is able to synchronize its INBOX anymore
          Hide
          Stephane COLSON added a comment -

          I QA this

          Show
          Stephane COLSON added a comment - I QA this
          Stephane COLSON made changes -
          Assignee Matthieu BAECHLER [ mbaechler@linagora.com ] Stephane COLSON [ scolson@linagora.com ]
          Hide
          Stephane COLSON added a comment -

          OK with Opush 3.1.0~alpha0~git20150120.165759.0aee3e7-1 and OBM 3.1.2~1 (Wheezy)

          Case reproduced by Thomas HILAIRE with Nexus 4 (Android 5.0.1) looking at the logs

          14:50:38.185 [WARN ] {o.o.p.protocol.data.SyncAnalyser} [t149/cSync/r52/usera@obm24.lyn.lng] Error with a command
          org.obm.push.exception.activesync.InvalidServerId: item ServerId{collectionId=CollectionId{id=32}, itemId=18} doesn't belong to collection CollectionId{id=36}
                  at org.obm.push.protocol.data.SyncAnalyser.checkServerId(SyncAnalyser.java:176) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.protocol.data.SyncAnalyser.getCollection(SyncAnalyser.java:130) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.protocol.data.SyncAnalyser.analyseSync(SyncAnalyser.java:95) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.handler.SyncHandler.analyzeRequest(SyncHandler.java:228) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.handler.SyncHandler.process(SyncHandler.java:171) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.handler.WbxmlRequestHandler.process(WbxmlRequestHandler.java:103) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f.CGLIB$process$7(<generated>) [guice-3.0.jar:na]
                  at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f$$FastClassByGuice$$85968cf0.invoke(<generated>) [guice-3.0.jar:na]
                  at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) [guice-3.0.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na]
                  at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) [technical-log-3.1.0-SNAPSHOT.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) [guice-3.0.jar:na]
                  at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f.process(<generated>) [guice-3.0.jar:na]
                  at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:253) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.ActiveSyncServlet.doPost(ActiveSyncServlet.java:176) [push-core-3.1.0-SNAPSHOT.jar:na]
                  at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07.CGLIB$doPost$1(<generated>) [guice-3.0.jar:na]
                  at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07$$FastClassByGuice$$76155b2a.invoke(<generated>) [guice-3.0.jar:na]
                  at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) [guice-3.0.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na]
                  at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) [technical-log-3.1.0-SNAPSHOT.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na]
                  at org.obm.annotations.transactional.TransactionalInterceptor.managerTransaction(TransactionalInterceptor.java:87) [annotations-3.0.1-alpha3.jar:na]
                  at org.obm.annotations.transactional.TransactionalInterceptor.invoke(TransactionalInterceptor.java:73) [annotations-3.0.1-alpha3.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na]
                  at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) [guice-3.0.jar:na]
                  at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07.doPost(<generated>) [guice-3.0.jar:na]
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0]
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]
                  at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na]
                  at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na]
                  at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na]
                  at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na]
                  at org.obm.breakdownduration.BreakdownDurationFilter.doFilter(BreakdownDurationFilter.java:71) [breakdown-duration-3.0.1-alpha3.jar:na]
                  at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
                  at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
                  at org.obm.servlet.filter.qos.QoSFilter.handleRequest(QoSFilter.java:113) [qos-filter-3.0.1-alpha3.jar:na]
                  at org.obm.servlet.filter.qos.QoSFilter.doFilter(QoSFilter.java:94) [qos-filter-3.0.1-alpha3.jar:na]
                  at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
                  at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
          

          Tests done with Ipad (iOS 8.1.2), Fairphone FP1 (Android 4.2.2) and Nexus 7 (5.0.2). New contact created, modified then deleted. New event created, modified the deleted. Email received. Cannot send email because of OP-152

          Show
          Stephane COLSON added a comment - OK with Opush 3.1.0~alpha0~git20150120.165759.0aee3e7-1 and OBM 3.1.2~1 (Wheezy) Case reproduced by Thomas HILAIRE with Nexus 4 (Android 5.0.1) looking at the logs 14:50:38.185 [WARN ] {o.o.p.protocol.data.SyncAnalyser} [t149/cSync/r52/usera@obm24.lyn.lng] Error with a command org.obm.push.exception.activesync.InvalidServerId: item ServerId{collectionId=CollectionId{id=32}, itemId=18} doesn't belong to collection CollectionId{id=36} at org.obm.push.protocol.data.SyncAnalyser.checkServerId(SyncAnalyser.java:176) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.protocol.data.SyncAnalyser.getCollection(SyncAnalyser.java:130) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.protocol.data.SyncAnalyser.analyseSync(SyncAnalyser.java:95) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.handler.SyncHandler.analyzeRequest(SyncHandler.java:228) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.handler.SyncHandler.process(SyncHandler.java:171) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.handler.WbxmlRequestHandler.process(WbxmlRequestHandler.java:103) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f.CGLIB$process$7(<generated>) [guice-3.0.jar:na] at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f$$FastClassByGuice$$85968cf0.invoke(<generated>) [guice-3.0.jar:na] at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) [guice-3.0.jar:na] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na] at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) [technical-log-3.1.0-SNAPSHOT.jar:na] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na] at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) [guice-3.0.jar:na] at org.obm.push.handler.SyncHandler$$EnhancerByGuice$$31c6675f.process(<generated>) [guice-3.0.jar:na] at org.obm.push.ActiveSyncServlet.processActiveSyncMethod(ActiveSyncServlet.java:253) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.ActiveSyncServlet.doPost(ActiveSyncServlet.java:176) [push-core-3.1.0-SNAPSHOT.jar:na] at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07.CGLIB$doPost$1(<generated>) [guice-3.0.jar:na] at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07$$FastClassByGuice$$76155b2a.invoke(<generated>) [guice-3.0.jar:na] at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) [guice-3.0.jar:na] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na] at org.obm.push.technicallog.TechnicalLoggingInterceptor.invoke(TechnicalLoggingInterceptor.java:70) [technical-log-3.1.0-SNAPSHOT.jar:na] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na] at org.obm.annotations.transactional.TransactionalInterceptor.managerTransaction(TransactionalInterceptor.java:87) [annotations-3.0.1-alpha3.jar:na] at org.obm.annotations.transactional.TransactionalInterceptor.invoke(TransactionalInterceptor.java:73) [annotations-3.0.1-alpha3.jar:na] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) [guice-3.0.jar:na] at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) [guice-3.0.jar:na] at org.obm.push.ActiveSyncServlet$$EnhancerByGuice$$e00f7e07.doPost(<generated>) [guice-3.0.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [javax.servlet-api-3.1.0.jar:3.1.0] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0] at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na] at org.obm.breakdownduration.BreakdownDurationFilter.doFilter(BreakdownDurationFilter.java:71) [breakdown-duration-3.0.1-alpha3.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] at org.obm.servlet.filter.qos.QoSFilter.handleRequest(QoSFilter.java:113) [qos-filter-3.0.1-alpha3.jar:na] at org.obm.servlet.filter.qos.QoSFilter.doFilter(QoSFilter.java:94) [qos-filter-3.0.1-alpha3.jar:na] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na] Tests done with Ipad (iOS 8.1.2), Fairphone FP1 (Android 4.2.2) and Nexus 7 (5.0.2). New contact created, modified then deleted. New event created, modified the deleted. Email received. Cannot send email because of OP-152
          Stephane COLSON made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Stephane COLSON
              Reporter:
              Matthieu EXT_BAECHLER
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile