23 Apr, 2014
1 commit
-
…ripts/groovy as the class path. git-svn-id: https://svn.forgerock.org/openig/trunk@174 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
22 Apr, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@173 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…ers and ScriptableHandlers git-svn-id: https://svn.forgerock.org/openig/trunk@172 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
16 Apr, 2014
4 commits
-
* use GroovyScriptEngine for its dynamic reloading capabilities * use a bootstrap Groovy script to add meta-class information to the engine (accidentally committed in r169) * custom Groovy scripts should be located in ".openig/scripts/groovy". git-svn-id: https://svn.forgerock.org/openig/trunk@171 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* introduced Environment class which encapsulates information regarding the application's installation directory, etc. It is exposed on the heap as "Environment" so that other heaplets (such as scripting) can determine path names such as script class paths * removed vendor name from configuration paths and lowercased the product name. The configuration root is now in ".openig" instead of ".ForgeRock/OpenIG" * moved the configuration file into the "config" sub-folder, e.g. ".openig/config/config.json". The same goes for the bootstrap configuration as well. This will be useful when installing as standalone package because it is important to separate mutable configuration files from installed files. git-svn-id: https://svn.forgerock.org/openig/trunk@170 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@169 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@168 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
14 Apr, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@167 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
10 Apr, 2014
3 commits
-
* see issue for more details * factored out script compilation to Scripts class to make migration to commons scripting a little easier * at the moment scripts specified using relative path names will be located based on the application's current working directory, rather than the instance root. This will be addressed in OPENIG-72. git-svn-id: https://svn.forgerock.org/openig/trunk@166 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
* rename GroovyScriptFilter -> ScriptableFilter * rename GroovyScriptHandler -> ScriptableHandler * add Heaplet aliases to JsonValueUtil. git-svn-id: https://svn.forgerock.org/openig/trunk@165 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
…ting why field encapsulation is required. git-svn-id: https://svn.forgerock.org/openig/trunk@164 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
09 Apr, 2014
1 commit
-
Fix support for assignment of multivalued LDAP attributes. git-svn-id: https://svn.forgerock.org/openig/trunk@163 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
03 Apr, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@162 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
01 Apr, 2014
3 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@161 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@160 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@159 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
29 Mar, 2014
1 commit
-
…rFilter can encrypt/decrypt git-svn-id: https://svn.forgerock.org/openig/trunk@158 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
28 Mar, 2014
3 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@157 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@156 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
This introduces a dependency on a -SNAPSHOT in order to check that everything runs fine in Jenkins as well before the release, which is coming real soon now. If ever the whole thing goes wrong, or we cannot release, I'll revert to remove the -SNAPSHOT dependency. git-svn-id: https://svn.forgerock.org/openig/trunk@155 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
27 Mar, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@154 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
26 Mar, 2014
3 commits
-
* provide the ability to easily set attributes in entries. git-svn-id: https://svn.forgerock.org/openig/trunk@153 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
Provided global variable "ldap" which provides simple access to OpenDJ LDAP SDK including: * ldap.connect(host, port) - obtains cached connection to host/port (no SSL) * ldap.connect(host, port, options) - obtains cached connection to host/port (with optional SSL) * ldap.dn(template, args...) - injection safe printf style formatting of DNs * ldap.filter(template, args...) - injection safe printf style formatting of filters * ldap.scope.* - easy access to LDAP search scopes, e.g. ldap.scope.sub. The connect methods return an adapted SDK LDAP connection which only exposes the synchronous methods. This is to protect against future evolution of the SDK APIs (e.g. we plan to migrate to using Promises). In addition, the Groovy scripting engine has been enhanced using Groovy MetaClasses to facilitate access to LDAP Entry attributes, which are now exposed as properties. For example, the following code parses the "description" attribute as a single valued string: entry.description.parse().asString() The testLdapClient unit test in GroovyScriptFilterTest illustrates LDAP usage. git-svn-id: https://svn.forgerock.org/openig/trunk@152 dbb9e58e-28e6-4ce0-90e8-f11d9605b710 -
* added out of the box support for using the OpenDJ LDAP SDK * added unit test illustrating usage from within Groovy. A subsequent commit will improve the integration in order to reduce boilerplate and to cache connections between script invocations. git-svn-id: https://svn.forgerock.org/openig/trunk@151 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
07 Mar, 2014
2 commits
-
Filters and handlers support a single standalone Groovy script. At the moment the script is not automatically reloaded. The following variables are injected into each script invocation: * globals - a Map of global variables which persist across successive invocations of the script * exchange - the HTTP exchange * http - an OpenIG HTTP client which may be used for performing outbound HTTP requests * logger - the OpenIG logger * next - the next handler in the filter chain (filters only). Many examples showing how Groovy scripts can interact with OpenIG can be found in GroovyScriptFilterTest. git-svn-id: https://svn.forgerock.org/openig/trunk@150 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@149 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
05 Mar, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@148 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
28 Feb, 2014
2 commits
-
Add basic preliminary support for Groovy scriptable filters and handlers. Uses JSR-223 for now, but plan to move to our commons scripting module when it's ready. Scripts can read and write exchange fields, except for the entity. git-svn-id: https://svn.forgerock.org/openig/trunk@147 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
"If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck." But Ducks are fat and we don't want lots of excess fat in our code base so, since we are not duck collectors, let's go shoot some duck. :-) Seriously: OpenIG uses duck-typing to provide map-like views of various objects. JSR 223 implementations, such as for Groovy, provide automatic support for bean-like objects and maps. In particular, bean getters/setters and map key/value pairs are automatically mapped to properties in Groovy scripts. This makes scripting really easy and developer friendly. Unfortunately, the support does not extend to our duck-typed objects, which are neither beans or maps. I was unable to see why duck-typing is needed in OpenIG, other than to avoid implementing a couple of awkward map view methods (e.g. entrySet), but they bring their own complexity. For example, many engineers find the duck-type support hard to understand and maintain. git-svn-id: https://svn.forgerock.org/openig/trunk@146 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
21 Feb, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@145 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
20 Feb, 2014
1 commit
-
* remove unused imports * fixed various compilation warnings. git-svn-id: https://svn.forgerock.org/openig/trunk@144 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
07 Feb, 2014
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@143 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
06 Feb, 2014
2 commits
-
* remove broken repository information from openig-federation-war pom.xml * fix OpenAM artifact group ids from com.forgerock.openam to org.forgerock.openam * updated OpenAM artifact version to 10.0.1 since 10.0.0 doesn't exist in our repos. I suspect CI builds were succeeding due to stale cached artifacts. git-svn-id: https://svn.forgerock.org/openig/trunk@142 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@141 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
03 Feb, 2014
1 commit
-
…he form configuration item is optional rather than required git-svn-id: https://svn.forgerock.org/openig/trunk@140 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
14 Jan, 2014
2 commits
-
git-svn-id: https://svn.forgerock.org/openig/trunk@139 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@138 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
03 Jan, 2014
2 commits
-
…the same 'condition' expression for both bindings git-svn-id: https://svn.forgerock.org/openig/trunk@137 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
-
git-svn-id: https://svn.forgerock.org/openig/trunk@136 dbb9e58e-28e6-4ce0-90e8-f11d9605b710
11 Nov, 2013
1 commit
-
git-svn-id: https://svn.forgerock.org/openig/trunk@135 dbb9e58e-28e6-4ce0-90e8-f11d9605b710