modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java | 19 +++++ modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java | 37 ++++++++++ modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java | 22 ----- modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java | 4 - 4 files changed, 60 insertions(+), 22 deletions(-)
New commits: commit a9352d74a8eff4e9517af200d5f81b2f6f7b9f2b Author: Simeon Pinder spinder@fulliautomatix.conchfritter.com Date: Thu Feb 21 16:36:29 2013 -0500
refactor to expose the ScriptEngine for these and other tests.
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java new file mode 100644 index 0000000..1cc66c5 --- /dev/null +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java @@ -0,0 +1,37 @@ +package org.rhq.enterprise.client; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.security.PermissionCollection; +import java.util.Collections; + +import javax.script.ScriptEngine; +import javax.script.ScriptException; + +import org.testng.annotations.Test; + +import org.rhq.bindings.ScriptEngineFactory; +import org.rhq.bindings.StandardBindings; +import org.rhq.bindings.StandardScriptPermissions; +import org.rhq.bindings.util.PackageFinder; +import org.rhq.core.domain.auth.Subject; +import org.rhq.enterprise.server.test.AbstractEJB3Test; + +/** + * + * @author Simeon Pinder + * + */ +@Test +public class ScriptableAbstractEJB3Test extends AbstractEJB3Test { + + protected ScriptEngine getEngine(Subject subject) throws ScriptException, IOException { + StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject)); + + PermissionCollection perms = new StandardScriptPermissions(); + + return ScriptEngineFactory.getSecuredScriptEngine("javascript", + new PackageFinder(Collections.<File> emptyList()), bindings, perms); + } +} diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java index 8489f1d..349a8ce 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java @@ -18,11 +18,7 @@ */ package org.rhq.enterprise.client.security.test;
-import java.io.File; import java.io.IOException; -import java.io.PrintWriter; -import java.security.PermissionCollection; -import java.util.Collections;
import javax.naming.Context; import javax.script.ScriptEngine; @@ -31,15 +27,10 @@ import javax.script.ScriptException; import org.testng.Assert; import org.testng.annotations.Test;
-import org.rhq.bindings.ScriptEngineFactory; -import org.rhq.bindings.StandardBindings; -import org.rhq.bindings.StandardScriptPermissions; -import org.rhq.bindings.util.PackageFinder; import org.rhq.core.domain.auth.Subject; -import org.rhq.enterprise.client.LocalClient; +import org.rhq.enterprise.client.ScriptableAbstractEJB3Test; import org.rhq.enterprise.server.RHQConstants; import org.rhq.enterprise.server.system.SystemManagerBean; -import org.rhq.enterprise.server.test.AbstractEJB3Test; import org.rhq.enterprise.server.util.LookupUtil;
/** @@ -48,7 +39,7 @@ import org.rhq.enterprise.server.util.LookupUtil; * @author Lukas Krejci */ @Test -public class JndiAccessTest extends AbstractEJB3Test { +public class JndiAccessTest extends ScriptableAbstractEJB3Test {
public void testScriptCantOverrideSystemProperties() throws Exception { Subject overlord = LookupUtil.getSubjectManager().getOverlord(); @@ -272,15 +263,6 @@ public class JndiAccessTest extends AbstractEJB3Test { // } // }
- protected ScriptEngine getEngine(Subject subject) throws ScriptException, IOException { - StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject)); - - PermissionCollection perms = new StandardScriptPermissions(); - - return ScriptEngineFactory.getSecuredScriptEngine("javascript", - new PackageFinder(Collections.<File> emptyList()), bindings, perms); - } - private static void checkIsDesiredSecurityException(ScriptException e) { String message = e.getMessage(); String permissionTrace = "org.rhq.allow.server.internals.access"; diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java index 98ad38c..6768021 100644 --- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java +++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java @@ -17,7 +17,7 @@ import org.testng.annotations.Test; import org.rhq.core.domain.auth.Subject; import org.rhq.core.domain.resource.Resource; import org.rhq.core.domain.util.PageList; -import org.rhq.enterprise.client.security.test.JndiAccessTest; +import org.rhq.enterprise.client.ScriptableAbstractEJB3Test; import org.rhq.enterprise.server.util.LookupUtil; import org.rhq.enterprise.server.util.SessionTestHelper;
@@ -26,7 +26,7 @@ import org.rhq.enterprise.server.util.SessionTestHelper; * @author Simeon Pinder */ @Test -public class ScriptTest extends JndiAccessTest { +public class ScriptTest extends ScriptableAbstractEJB3Test {
/** Exercise the ScriptUtil.findResoruces *
commit 0d130abb277d988190ac2577879d6eb40ea0814a Author: Simeon Pinder spinder@fulliautomatix.conchfritter.com Date: Thu Feb 21 16:29:01 2013 -0500
Deprecate ScriptUtil.findResources() usage as does not properly support paging and can produce result sets difficult to parse for large result sets.
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java index 6b86b61..7d64eab 100644 --- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java +++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java @@ -70,6 +70,25 @@ public class ScriptUtil { this.scriptEngine = scriptEngine; }
+ /** This convenience method has been deprecated as it was not designed to support paging + * which is a requirement to efficiently handle large results sets. This methods returns + * all inexact matches to the String parameter passed in. Clients may have difficulty + * retrieving all results. + * + * Instead to page through large/small result sets you should create + * i)ResourceCriteria instances to be passed into + * ii)ResourceManager.findResourcesByCriteria(ResourceCriteria criteria) + * + * NOTE: ResourceCriteria by default has a page size of 200 and starts on page 0. Ex. criteria.setPaging(0,200); + * + * To iterate over a larger result set you can + * i)get access to the total number of resources, as the PageList<Resource> return includes a getTotalSize() method + * ii)iterate through the pages of results by using Ex. criteria.setPaging(1,200), criteria.setPaging(2,200), [N,PageSize] + * + * @param string + * @return PageList<Resource> Resources with inexact name matches to the string passed in. + */ + @Deprecated public PageList<Resource> findResources(String string) { if (remoteClient == null) { throw new IllegalStateException("The findResources() method requires a connection to the RHQ server.");
rhq-commits@lists.fedorahosted.org