Include Page | ||||
---|---|---|---|---|
|
This page is intended for developers on the Grouper team only. These are instructions on how to edit the Grouper code itself, not for users of the Grouper software. Thanks!
Standards
- All options in client must be listed in grouper-misc/grouperClient/conf/grouper.client.usage.example.txt
- Brackets mean optional
- Pipes describe the options
- All client options should be tested in: /grouper-ws/src/test/edu/internet2/middleware/grouperClient/poc/GrouperClientWsTest.java
- All client options have the same name as the JSON/XML which have the same name as java variables in the methods
- All fields and methods should have javadoc with the description of the element
- All data setup for the sample capture should be in /grouper-ws-test/src/test/edu/internet2/middleware/grouper/ws/samples/SampleCapture.setupData()
- The data setup should not require a database reset, and should not need a cache clear (since run from java and WS from different JVMs)
- In the grouper client, if a multi-valued argument can have commas, then use indexing in the param names, e.g. messageBody0=whatever messageBody1=somethingElse
- All classes which generate SOAP should just have String, Array, or Javabean types. Avoid other primitives. e.g. /grouper-ws/src/grouper-ws_v2_4/edu/internet2/middleware/grouper/ws/soap_v2_4/GrouperService.java
- All classes used to marshal to/from REST (JSON/XML/etc) should just have String, Array, or Javabean types. Avoid other primitives. e.g. grouper-misc\grouperClient\src\java\edu\internet2\middleware\grouperClient\ws\beans\WsRestReceiveMessageRequest.java
- GrouperServiceLogic is where primitives are used: /grouper-ws/src/grouper-ws/edu/internet2/middleware/grouper/ws/GrouperServiceLogic.java
To augment a web service
This is an example for adding point in time to getMembers
...