30 Oct, 2014
4 commits
-
The CaptureDecorator can now be configured to additionally capture the content of the Exchange being intercepted. If specified, it will print the full content of the Exchange instance, excluding the `response` and the `request` since they should be captured by another mean. The output contains a deep view of the exchange obtained through introspection of the class structure (this is done by the Groovy JsonOutput class). It appears that this class doesn't support cycles very well, so, depending on the content of the exchange, it may throw exceptions. By default we're doing our best to remove known cycles. By default (in the system provided `capture` decorator), this option is disabled since it adds a lot of cruft in the logs. git-svn-id: https://svn.forgerock.org/openig/trunk@672 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…nfigured in the config.json Instead of creating manually the HttpClient instance and giving it the (also manually) created TemporaryStorage instance, we now declare an equivalent object declaration in the heap, letting the HttpClient heaplet resolves properly its dependencies. git-svn-id: https://svn.forgerock.org/openig/trunk@670 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@669 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@668 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
29 Oct, 2014
1 commit
-
Although the JSON pointer is sufficient to guarantee unicity of a name within the scope of a heap, it makes it hard for reader to link that name to the configuration object they provided. This patch supports both improvements: * if a `name` attribute is provided in the declaration, use it as-is * if not, prepend the `type` attribute value to the pointer String to help identification This patch also updates the logs samples provided in the documentation. git-svn-id: https://svn.forgerock.org/openig/trunk@666 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
24 Oct, 2014
6 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@663 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@662 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@661 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@660 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
Beginning with the removal of routes guarantee that we won't remove a route that was just added or modified. git-svn-id: https://svn.forgerock.org/openig/trunk@659 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@658 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
23 Oct, 2014
11 commits
-
Exception's messages does not have to include the message of their parent anymore. When a route failed to load for any reason, all the chained exception's messages are logged as errors up to the root cause, and the full stack trace is logged at the DEBUG level. Notice that the LogSink you have to configure is the one of the Router itself (in the JSON configuration where the Router handler is declared), configuring the LogSing of the failed route configuration will not help. git-svn-id: https://svn.forgerock.org/openig/trunk@657 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@654 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
- Fixed lenient parser by adding the feature ALLOW_UNQUOTED_CONTROL_CHARS. - Added unit tests about line break. -- Removed jackson from method names. git-svn-id: https://svn.forgerock.org/openig/trunk@653 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@652 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…edicated to Filter and Handler git-svn-id: https://svn.forgerock.org/openig/trunk@651 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@650 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
We can now differentiate between the time globally spent inside a filter and the time spend in the code of this filter: we simply excludes the time spent outside of this filter (when calling the next handler) git-svn-id: https://svn.forgerock.org/openig/trunk@649 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
With pausable/resumable LogTimer(s) it's possible to define more precise boundaries when counting time spent inside of a method. git-svn-id: https://svn.forgerock.org/openig/trunk@648 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
Notice that we kept them for GatewayServlet since this is not itself a Filter/Handler (so not decoratable) and that we may be interested in time spend in its service() method (Exchange creation and configuration may be significant) git-svn-id: https://svn.forgerock.org/openig/trunk@647 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
The timer decorator factorize some very common code in all of our filters handlers: LogTimer timer = logger.getTimer().start() /// ... timer.stop() git-svn-id: https://svn.forgerock.org/openig/trunk@646 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
git-svn-id: https://svn.forgerock.org/openig/trunk@645 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
22 Oct, 2014
1 commit
-
- Negatives values are no longer registered. - Reactivated corresponding unit test. git-svn-id: https://svn.forgerock.org/openig/trunk@642 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
21 Oct, 2014
7 commits
-
Thanks @Matt for noticing git-svn-id: https://svn.forgerock.org/openig/trunk@641 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@640 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@639 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
This decorator can be applied on any Filters or Handlers whose input/outputs needs to be observed. This decorator prints the message's values in the observed component's logSink or in its own configurable logSink (if one was specified). Multiple observation points can be specified depending on what you're interested in. Observation points for Filter: --- -- (request) -> | | -- (filtered-request) -> | F | <- (filtered-response) -- | | <- (response) -- --- Observation points for Handler: --- -- (request) -> | | | H | <- (response) -- | | --- git-svn-id: https://svn.forgerock.org/openig/trunk@637 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
git-svn-id: https://svn.forgerock.org/openig/trunk@636 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
Decorators have the unique capability of transforming heap objects: they can encapsulate the original object into another compatible one (they still have to share the same interface), they can post-configure instances, ... Two levels of decorations are supported: per-instance and global. Global decoration allows to share widely a decoration for all objects managed inside of a Heap. This is very useful to avoid writing the same decoration over and over for each heap object. Per-instance decoration permits to selectively apply decoration on some instances. That can be very useful if you want to focus on a given heap object, without impacting others. Here is an example of decoration configuration for an instance: { "name": "Handler", "type": "ClientHandler", "capture": "request" <-- the decoration } An arbitrary number of decorations can be applied on any instance. The attribute name has to match a heap object name of the wanted decorator. The attribute value is the configuration that will be passed to the decorator when asked to decorate the heap object instance. Decorators have to be declared in the /heap/objects list, just like any other heap objects. The name of a decorator is the key that will be used to lookup the right decorator in the heap when decorations are processed. Global decorations are Heap-scoped decorations: all heap objects provided/managed by a given Heap will be decorated with that special decorator. They are inherited between heaps. Global decorations are enabled when a /heap/decorations object in the JSON configuration (system config or route config) is found. Each attributes of that object are representing a decoration configuration to be applied on heap objects. Example of global decoration configuration: { "heap": { "objects": [ ... ], "decorations": { "decorator-name": a JSON node representing the decoration config ... } } } Notice that, in order to prevent infinite recursions, decorators cannot be decorated themselves. git-svn-id: https://svn.forgerock.org/openig/trunk@635 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
This case can happen when a component tries to resolve twice the same object declaration. This is unlikely to happen without any decorator support because all the heap interactions are going on in one place and it's easy to refactor the code to only resolve a declaration once. But when decorators comes into play, it's no more easy to share resolved objects references around. git-svn-id: https://svn.forgerock.org/openig/trunk@634 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
15 Oct, 2014
3 commits
-
- Reorganized imports. - Removed extra spaces. - Closed previously 'omitted' inputstreamreader in RouteBuilder. (OPENIG-312) git-svn-id: https://svn.forgerock.org/openig/trunk@623 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
Consider using Jackson for parsing the JSON configuration - Renamed JsonValueUtil to Json. - Renamed JsonValueUtilTest to JsonTest. git-svn-id: https://svn.forgerock.org/openig/trunk@622 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
configuration - Remove json simple from openig pom file configuration. (added com.fasterxml.jackson.core / databind) - Jackson throws now IOExceptions instead of json exceptions. - Added unit tests. - Fixed javadoc. git-svn-id: https://svn.forgerock.org/openig/trunk@621 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
01 Oct, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@598 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
24 Sep, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@591 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
The "config" attribute is now optional and the declaration can be omitted for a better understanding/lisibility. Unit tests added. git-svn-id: https://svn.forgerock.org/openig/trunk@590 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
17 Sep, 2014
1 commit
-
This patch removes arbitrary use of exchange.session, but also shows using JwtSession where it could make sense, as in the federation tutorial. git-svn-id: https://svn.forgerock.org/openig/trunk@581 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
16 Sep, 2014
1 commit
-
Trivial fix reviewed by Guillaume. git-svn-id: https://svn.forgerock.org/openig/trunk@580 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
15 Sep, 2014
2 commits
-
It was misplaced in the openig-core module where it was used in openig-war module. git-svn-id: https://svn.forgerock.org/openig/trunk@573 dbb9e58e-28e6-4ce0-90e8-f11d9605b710