You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2020/07/05 11:41:42 UTC

svn commit: r1879521 [23/37] - in /river/jtsk/modules/modularize/apache-river: ./ browser/ browser/src/main/java/org/apache/river/example/browser/ extra/ groovy-config/ river-activation/ river-collections/ river-collections/src/main/java/org/apache/riv...

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableParticipantProxy.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableParticipantProxy.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableParticipantProxy.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableParticipantProxy.java Sun Jul  5 11:41:39 2020
@@ -1,105 +1,105 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.InvalidObjectException;
-
-import net.jini.core.transaction.server.TransactionParticipant;
-import net.jini.core.constraint.MethodConstraints;
-import net.jini.core.constraint.RemoteMethodControl;
-import net.jini.security.proxytrust.ProxyTrustIterator;
-import net.jini.security.proxytrust.SingletonProxyTrustIterator;
-import net.jini.id.Uuid;
-
-/**
- * Subclass of <code>ParticipantProxy</code> that implements
- * <code>RemoteMethodControl</code>
- *
- * @author Sun Microsystems, Inc.
- */
-final class ConstrainableParticipantProxy extends ParticipantProxy
-    implements RemoteMethodControl
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * Create a new <code>ConstrainableParticipantProxy</code> for the given
-     * space.
-     * @param space The an inner proxy that implements 
-     *              <code>TransactionParticipant</code> for the 
-     *              space.
-     * @param spaceUuid The universally unique ID for the
-     *              space
-     * @throws NullPointerException if <code>space</code> or
-     *         <code>spaceUuid</code> is <code>null</code>.
-     */
-    ConstrainableParticipantProxy(TransactionParticipant space, Uuid spaceUuid,
-				  MethodConstraints methodConstraints)
-    {
-	super(constrainServer(space, methodConstraints), spaceUuid);
-    }
-
-    /**
-     * Returns a copy of the server proxy with the specified client
-     * constraints and methods mapping.
-     */
-    private static TransactionParticipant constrainServer(
-        TransactionParticipant participant,
-	MethodConstraints methodConstraints)
-    {
-	return (TransactionParticipant)
-            ((RemoteMethodControl)participant).setConstraints(
-	        methodConstraints);
-    }
-
-    public RemoteMethodControl setConstraints(MethodConstraints constraints) {
-	return new ConstrainableParticipantProxy(space, spaceUuid,
-						 constraints);
-    }
-
-    public MethodConstraints getConstraints() {
-	return ((RemoteMethodControl)space).getConstraints();
-    }
-    
-    /**
-     * Returns a proxy trust iterator that is used in
-     * <code>ProxyTrustVerifier</code> to retrieve this object's
-     * trust verifier.
-     */
-    private ProxyTrustIterator getProxyTrustIterator() {
-	return new SingletonProxyTrustIterator(space);
-    }
-	
-    private void readObject(ObjectInputStream s)
-	throws IOException, ClassNotFoundException
-    {
-	s.defaultReadObject();
-
-	/* Basic validation of space and spaceUuid, was performed by
-	 * ParticipantProxy.readObject(), we just need to verify than
-	 * space implements RemoteMethodControl.	
-	 */
-
-	if(!(space instanceof RemoteMethodControl) ) {
-	    throw new InvalidObjectException(
-	        "space does not implement RemoteMethodControl");
-	}
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.InvalidObjectException;
+
+import net.jini.core.transaction.server.TransactionParticipant;
+import net.jini.core.constraint.MethodConstraints;
+import net.jini.core.constraint.RemoteMethodControl;
+import net.jini.security.proxytrust.ProxyTrustIterator;
+import net.jini.security.proxytrust.SingletonProxyTrustIterator;
+import net.jini.id.Uuid;
+
+/**
+ * Subclass of <code>ParticipantProxy</code> that implements
+ * <code>RemoteMethodControl</code>
+ *
+ * @author Sun Microsystems, Inc.
+ */
+public final class ConstrainableParticipantProxy extends ParticipantProxy
+    implements RemoteMethodControl
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Create a new <code>ConstrainableParticipantProxy</code> for the given
+     * space.
+     * @param space The an inner proxy that implements 
+     *              <code>TransactionParticipant</code> for the 
+     *              space.
+     * @param spaceUuid The universally unique ID for the
+     *              space
+     * @throws NullPointerException if <code>space</code> or
+     *         <code>spaceUuid</code> is <code>null</code>.
+     */
+    public ConstrainableParticipantProxy(TransactionParticipant space, Uuid spaceUuid,
+				  MethodConstraints methodConstraints)
+    {
+	super(constrainServer(space, methodConstraints), spaceUuid);
+    }
+
+    /**
+     * Returns a copy of the server proxy with the specified client
+     * constraints and methods mapping.
+     */
+    private static TransactionParticipant constrainServer(
+        TransactionParticipant participant,
+	MethodConstraints methodConstraints)
+    {
+	return (TransactionParticipant)
+            ((RemoteMethodControl)participant).setConstraints(
+	        methodConstraints);
+    }
+
+    public RemoteMethodControl setConstraints(MethodConstraints constraints) {
+	return new ConstrainableParticipantProxy(space, spaceUuid,
+						 constraints);
+    }
+
+    public MethodConstraints getConstraints() {
+	return ((RemoteMethodControl)space).getConstraints();
+    }
+    
+    /**
+     * Returns a proxy trust iterator that is used in
+     * <code>ProxyTrustVerifier</code> to retrieve this object's
+     * trust verifier.
+     */
+    private ProxyTrustIterator getProxyTrustIterator() {
+	return new SingletonProxyTrustIterator(space);
+    }
+	
+    private void readObject(ObjectInputStream s)
+	throws IOException, ClassNotFoundException
+    {
+	s.defaultReadObject();
+
+	/* Basic validation of space and spaceUuid, was performed by
+	 * ParticipantProxy.readObject(), we just need to verify than
+	 * space implements RemoteMethodControl.	
+	 */
+
+	if(!(space instanceof RemoteMethodControl) ) {
+	    throw new InvalidObjectException(
+	        "space does not implement RemoteMethodControl");
+	}
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableSpaceProxy2.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableSpaceProxy2.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableSpaceProxy2.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/ConstrainableSpaceProxy2.java Sun Jul  5 11:41:39 2020
@@ -1,256 +1,256 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import java.lang.reflect.Method;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.rmi.MarshalledObject;
-import java.util.Collection;
-
-import net.jini.core.entry.Entry;
-import net.jini.core.event.RemoteEventListener;
-import net.jini.core.transaction.Transaction;
-import net.jini.core.lease.Lease;
-import net.jini.space.JavaSpace;
-import net.jini.space.JavaSpace05;
-import net.jini.admin.Administrable;
-
-import net.jini.id.Uuid;
-import net.jini.core.constraint.MethodConstraints;
-import net.jini.core.constraint.RemoteMethodControl;
-import net.jini.security.proxytrust.ProxyTrustIterator;
-import net.jini.security.proxytrust.SingletonProxyTrustIterator;
-import org.apache.river.proxy.ConstrainableProxyUtil;
-import org.apache.river.landlord.ConstrainableLandlordLease;
-
-/**
- * Constrainable subclass of <code>SpaceProxy2</code>
- */
-final class ConstrainableSpaceProxy2 extends SpaceProxy2
-    implements RemoteMethodControl 
-{
-    static final long serialVersionUID = 1L;
-
-    /**
-     * Array containing element pairs in which each pair of elements
-     * represents a mapping between two methods having the following
-     * characteristics:
-     * <ul>
-     * <li> the first element in the pair is one of the public, remote
-     *      method(s) that may be invoked by the client through 
-     *      <code>SpaceProxy2</code>.
-     * <li> the second element in the pair is the method, implemented
-     *      in the backend server class, that is ultimately executed in
-     *      the server's backend when the client invokes the corresponding
-     *      method in this proxy.
-     * </ul>
-     */
-    private static final Method[] methodMapArray =  {
-	ProxyUtil.getMethod(Administrable.class, "getAdmin", new Class[] {}),
-	ProxyUtil.getMethod(Administrable.class, "getAdmin", new Class[] {}),
-
-	ProxyUtil.getMethod(JavaSpace.class, "write", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 long.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "write",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 long.class}),
-
-
-	ProxyUtil.getMethod(JavaSpace.class, "read", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 long.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "read",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 long.class,
-					 OutriggerServer.QueryCookie.class}),
-
-
-	ProxyUtil.getMethod(JavaSpace.class, "take", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 long.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "take",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 long.class,
-					 OutriggerServer.QueryCookie.class}),
-
-
-	ProxyUtil.getMethod(JavaSpace.class, "readIfExists", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 long.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "readIfExists",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 long.class,
-					 OutriggerServer.QueryCookie.class}),
-
-
-	ProxyUtil.getMethod(JavaSpace.class, "takeIfExists", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 long.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "takeIfExists",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 long.class,
-					 OutriggerServer.QueryCookie.class}),
-
-
-	ProxyUtil.getMethod(JavaSpace.class, "notify", 
-			    new Class[] {Entry.class,
-					 Transaction.class,
-					 RemoteEventListener.class,
-					 long.class,
-					 MarshalledObject.class}),
-	ProxyUtil.getMethod(OutriggerServer.class, "notify",
-			    new Class[] {EntryRep.class,
-					 Transaction.class,
-					 RemoteEventListener.class,
-					 long.class,
-					 MarshalledObject.class}),
-
-	ProxyUtil.getMethod(JavaSpace05.class, "contents", 
-			    new Class[] {Collection.class,
-					 Transaction.class,
-					 long.class,
-					 long.class}), 
-	ProxyUtil.getMethod(OutriggerServer.class, "contents",
-			    new Class[] {EntryRep[].class,
-					 Transaction.class,
-					 long.class,
-					 long.class}), 
-
-
-	// Use the same constants for nextBatch as contents
-	ProxyUtil.getMethod(JavaSpace05.class, "contents", 
-			    new Class[] {Collection.class,
-					 Transaction.class,
-					 long.class,
-					 long.class}), 
-	ProxyUtil.getMethod(OutriggerServer.class, "nextBatch",
-			    new Class[] {Uuid.class,
-					 Uuid.class}) 
-    };//end methodMapArray
-
-    /** 
-     * Client constraints placed on this proxy (may be <code>null</code> 
-     * @serial
-     */
-    private final MethodConstraints methodConstraints;
-    
-    /**
-     * Create a new <code>ConstrainableSpaceProxy2</code>.
-     * @param space The <code>OutriggerServer</code> for the 
-     *              space.
-     * @param spaceUuid The universally unique ID for the
-     *              space
-     * @param serverMaxServerQueryTimeout The value this proxy
-     *              should use for the <code>maxServerQueryTimeout</code>
-     *              if no local value is provided.
-     * @param methodConstraints the client method constraints to place on
-     *                          this proxy (may be <code>null</code>).
-     * @throws NullPointerException if <code>space</code> or
-     *         <code>spaceUuid</code> is <code>null</code>.
-     * @throws IllegalArgumentException if 
-     *         <code>serverMaxServerQueryTimeout</code> is not
-     *         larger than zero.     
-     * @throws ClassCastException if <code>server</code>
-     *         does not implement <code>RemoteMethodControl</code>.
-     */
-    ConstrainableSpaceProxy2(OutriggerServer space, Uuid spaceUuid, 
-			    long serverMaxServerQueryTimeout, 
-			    MethodConstraints methodConstraints)
-    {
-	super(constrainServer(space, methodConstraints),
-	      spaceUuid, serverMaxServerQueryTimeout);
-	this.methodConstraints = methodConstraints;
-    }
-
-    /**
-     * Returns a copy of the given <code>OutriggerServer</code> proxy
-     * having the client method constraints that result after
-     * mapping defined by methodMapArray is applied.
-     * @param server The proxy to attach constrains too.
-     * @param constraints The source method constraints.
-     * @throws NullPointerException if <code>server</code> is 
-     *         <code>null</code>.
-     * @throws ClassCastException if <code>server</code>
-     *         does not implement <code>RemoteMethodControl</code>.
-     */
-    private static OutriggerServer constrainServer(OutriggerServer server,
-        MethodConstraints constraints)
-    {
-	final MethodConstraints serverRefConstraints 
-	    = ConstrainableProxyUtil.translateConstraints(constraints,
-							  methodMapArray);
-	final RemoteMethodControl constrainedServer = 
-	    ((RemoteMethodControl)server).
-	    setConstraints(serverRefConstraints);
-
-	return (OutriggerServer)constrainedServer;
-    }
-
-    public RemoteMethodControl setConstraints(MethodConstraints constraints)
-    {
-	return new ConstrainableSpaceProxy2(space, spaceUuid, 
-					   serverMaxServerQueryTimeout,
-					   constraints);
-    }
-
-    public MethodConstraints getConstraints() {
-	return methodConstraints;
-    }
-
-    /** 
-     * Returns a proxy trust iterator that is used in 
-     * <code>ProxyTrustVerifier</code> to retrieve this object's
-     * trust verifier.
-     */
-    private ProxyTrustIterator getProxyTrustIterator() {
-	return new SingletonProxyTrustIterator(space);
-    }
-
-    private void readObject(ObjectInputStream s)  
-	throws IOException, ClassNotFoundException
-    {
-	s.defaultReadObject();
-
-	/* Basic validation of space, spaceUuid, and 
-	 * serverMaxServerQueryTimeout was performed by
-	 * SpaceProxy2.readObject(), we just need to verify than
-	 * space implements RemoteMethodControl and that it has
-	 * appropriate constraints. 
-	 */
-	ConstrainableProxyUtil.verifyConsistentConstraints(
-	    methodConstraints, space, methodMapArray);
-    }
-
-    protected Lease constructLease(Uuid uuid, long expiration) {
-	return new ConstrainableLandlordLease(uuid, space, spaceUuid,
-					      expiration, null);
-    }
-}
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import java.lang.reflect.Method;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.rmi.MarshalledObject;
+import java.util.Collection;
+
+import net.jini.core.entry.Entry;
+import net.jini.core.event.RemoteEventListener;
+import net.jini.core.transaction.Transaction;
+import net.jini.core.lease.Lease;
+import net.jini.space.JavaSpace;
+import net.jini.space.JavaSpace05;
+import net.jini.admin.Administrable;
+
+import net.jini.id.Uuid;
+import net.jini.core.constraint.MethodConstraints;
+import net.jini.core.constraint.RemoteMethodControl;
+import net.jini.security.proxytrust.ProxyTrustIterator;
+import net.jini.security.proxytrust.SingletonProxyTrustIterator;
+import org.apache.river.proxy.ConstrainableProxyUtil;
+import org.apache.river.landlord.ConstrainableLandlordLease;
+
+/**
+ * Constrainable subclass of <code>SpaceProxy2</code>
+ */
+public final class ConstrainableSpaceProxy2 extends SpaceProxy2
+    implements RemoteMethodControl 
+{
+    static final long serialVersionUID = 1L;
+
+    /**
+     * Array containing element pairs in which each pair of elements
+     * represents a mapping between two methods having the following
+     * characteristics:
+     * <ul>
+     * <li> the first element in the pair is one of the public, remote
+     *      method(s) that may be invoked by the client through 
+     *      <code>SpaceProxy2</code>.
+     * <li> the second element in the pair is the method, implemented
+     *      in the backend server class, that is ultimately executed in
+     *      the server's backend when the client invokes the corresponding
+     *      method in this proxy.
+     * </ul>
+     */
+    private static final Method[] methodMapArray =  {
+	ProxyUtil.getMethod(Administrable.class, "getAdmin", new Class[] {}),
+	ProxyUtil.getMethod(Administrable.class, "getAdmin", new Class[] {}),
+
+	ProxyUtil.getMethod(JavaSpace.class, "write", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 long.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "write",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 long.class}),
+
+
+	ProxyUtil.getMethod(JavaSpace.class, "read", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 long.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "read",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 long.class,
+					 OutriggerServer.QueryCookie.class}),
+
+
+	ProxyUtil.getMethod(JavaSpace.class, "take", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 long.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "take",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 long.class,
+					 OutriggerServer.QueryCookie.class}),
+
+
+	ProxyUtil.getMethod(JavaSpace.class, "readIfExists", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 long.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "readIfExists",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 long.class,
+					 OutriggerServer.QueryCookie.class}),
+
+
+	ProxyUtil.getMethod(JavaSpace.class, "takeIfExists", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 long.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "takeIfExists",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 long.class,
+					 OutriggerServer.QueryCookie.class}),
+
+
+	ProxyUtil.getMethod(JavaSpace.class, "notify", 
+			    new Class[] {Entry.class,
+					 Transaction.class,
+					 RemoteEventListener.class,
+					 long.class,
+					 MarshalledObject.class}),
+	ProxyUtil.getMethod(OutriggerServer.class, "notify",
+			    new Class[] {EntryRep.class,
+					 Transaction.class,
+					 RemoteEventListener.class,
+					 long.class,
+					 MarshalledObject.class}),
+
+	ProxyUtil.getMethod(JavaSpace05.class, "contents", 
+			    new Class[] {Collection.class,
+					 Transaction.class,
+					 long.class,
+					 long.class}), 
+	ProxyUtil.getMethod(OutriggerServer.class, "contents",
+			    new Class[] {EntryRep[].class,
+					 Transaction.class,
+					 long.class,
+					 long.class}), 
+
+
+	// Use the same constants for nextBatch as contents
+	ProxyUtil.getMethod(JavaSpace05.class, "contents", 
+			    new Class[] {Collection.class,
+					 Transaction.class,
+					 long.class,
+					 long.class}), 
+	ProxyUtil.getMethod(OutriggerServer.class, "nextBatch",
+			    new Class[] {Uuid.class,
+					 Uuid.class}) 
+    };//end methodMapArray
+
+    /** 
+     * Client constraints placed on this proxy (may be <code>null</code> 
+     * @serial
+     */
+    private final MethodConstraints methodConstraints;
+    
+    /**
+     * Create a new <code>ConstrainableSpaceProxy2</code>.
+     * @param space The <code>OutriggerServer</code> for the 
+     *              space.
+     * @param spaceUuid The universally unique ID for the
+     *              space
+     * @param serverMaxServerQueryTimeout The value this proxy
+     *              should use for the <code>maxServerQueryTimeout</code>
+     *              if no local value is provided.
+     * @param methodConstraints the client method constraints to place on
+     *                          this proxy (may be <code>null</code>).
+     * @throws NullPointerException if <code>space</code> or
+     *         <code>spaceUuid</code> is <code>null</code>.
+     * @throws IllegalArgumentException if 
+     *         <code>serverMaxServerQueryTimeout</code> is not
+     *         larger than zero.     
+     * @throws ClassCastException if <code>server</code>
+     *         does not implement <code>RemoteMethodControl</code>.
+     */
+    public ConstrainableSpaceProxy2(OutriggerServer space, Uuid spaceUuid, 
+			    long serverMaxServerQueryTimeout, 
+			    MethodConstraints methodConstraints)
+    {
+	super(constrainServer(space, methodConstraints),
+	      spaceUuid, serverMaxServerQueryTimeout);
+	this.methodConstraints = methodConstraints;
+    }
+
+    /**
+     * Returns a copy of the given <code>OutriggerServer</code> proxy
+     * having the client method constraints that result after
+     * mapping defined by methodMapArray is applied.
+     * @param server The proxy to attach constrains too.
+     * @param constraints The source method constraints.
+     * @throws NullPointerException if <code>server</code> is 
+     *         <code>null</code>.
+     * @throws ClassCastException if <code>server</code>
+     *         does not implement <code>RemoteMethodControl</code>.
+     */
+    private static OutriggerServer constrainServer(OutriggerServer server,
+        MethodConstraints constraints)
+    {
+	final MethodConstraints serverRefConstraints 
+	    = ConstrainableProxyUtil.translateConstraints(constraints,
+							  methodMapArray);
+	final RemoteMethodControl constrainedServer = 
+	    ((RemoteMethodControl)server).
+	    setConstraints(serverRefConstraints);
+
+	return (OutriggerServer)constrainedServer;
+    }
+
+    public RemoteMethodControl setConstraints(MethodConstraints constraints)
+    {
+	return new ConstrainableSpaceProxy2(space, spaceUuid, 
+					   serverMaxServerQueryTimeout,
+					   constraints);
+    }
+
+    public MethodConstraints getConstraints() {
+	return methodConstraints;
+    }
+
+    /** 
+     * Returns a proxy trust iterator that is used in 
+     * <code>ProxyTrustVerifier</code> to retrieve this object's
+     * trust verifier.
+     */
+    private ProxyTrustIterator getProxyTrustIterator() {
+	return new SingletonProxyTrustIterator(space);
+    }
+
+    private void readObject(ObjectInputStream s)  
+	throws IOException, ClassNotFoundException
+    {
+	s.defaultReadObject();
+
+	/* Basic validation of space, spaceUuid, and 
+	 * serverMaxServerQueryTimeout was performed by
+	 * SpaceProxy2.readObject(), we just need to verify than
+	 * space implements RemoteMethodControl and that it has
+	 * appropriate constraints. 
+	 */
+	ConstrainableProxyUtil.verifyConsistentConstraints(
+	    methodConstraints, space, methodMapArray);
+    }
+
+    protected Lease constructLease(Uuid uuid, long expiration) {
+	return new ConstrainableLandlordLease(uuid, space, spaceUuid,
+					      expiration, null);
+    }
+}
+

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/EntryRep.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/EntryRep.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/EntryRep.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/EntryRep.java Sun Jul  5 11:41:39 2020
@@ -15,7 +15,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.river.outrigger;
+package org.apache.river.outrigger.proxy;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
@@ -58,7 +58,7 @@ import org.apache.river.proxy.Marshalled
  * @see JavaSpace
  * @see Entry
  */
-class EntryRep implements StorableResource<EntryRep>, LeasedResource, Serializable {
+public class EntryRep implements StorableResource<EntryRep>, LeasedResource, Serializable {
     static final long serialVersionUID = 3L;
 
     // Synchronization isn't used where volatile access would be atomic.  
@@ -136,7 +136,7 @@ class EntryRep implements StorableResour
      * Each entry is usable insofar as the codebase under which it was
      * written is usable.
      */
-    synchronized void shareWith(EntryRep other) {
+    public synchronized void shareWith(EntryRep other) {
 	className = other.className;
 	superclasses = other.superclasses;
 	hashes = other.hashes;
@@ -330,7 +330,7 @@ class EntryRep implements StorableResour
     }
 
     /** Used in recovery */
-    EntryRep() { }
+   public EntryRep() { }
 
     /** Used to look up no-arg constructors.  */
     private final static Class[] noArg = new Class[0];
@@ -363,7 +363,7 @@ class EntryRep implements StorableResour
      * The <code>EntryRep</code> that marks a ``match any'' request.
      * This is used to represent a <code>null</code> template.
      */
-    static EntryRep matchAnyEntryRep() {
+    public static EntryRep matchAnyEntryRep() {
 	return matchAnyRep;
     }
 
@@ -378,7 +378,7 @@ class EntryRep implements StorableResour
     /**
      * Return the class name that is used by the ``match any'' EntryRep
      */
-    static String matchAnyClassName() {
+    public static String matchAnyClassName() {
 	return matchAnyRep.classFor();
     }
 
@@ -393,7 +393,7 @@ class EntryRep implements StorableResour
      *		    deserialized, or the class for the entry type
      *		    itself cannot be deserialized.
      */
-    Entry entry() throws UnusableEntryException {
+    public Entry entry() throws UnusableEntryException {
 	ObjectInputStream objIn = null;
         String className = ""; // set before any exception can be thrown.
 	try {
@@ -605,7 +605,7 @@ class EntryRep implements StorableResour
     /**
      * Return the ID.
      */
-    Uuid id() {
+    public Uuid id() {
 	return id;
     }
 
@@ -614,7 +614,7 @@ class EntryRep implements StorableResour
      * @throws IllegalStateException if this method has already
      *         been called.
      */
-    void pickID() {
+    public void pickID() {
         synchronized (this){
             if (id != null)
                 throw new IllegalStateException("pickID called more than once");
@@ -656,14 +656,14 @@ class EntryRep implements StorableResour
     /**
      * Return the hash of this entry type.
      */
-    long getHash() {
+    public long getHash() {
 	return hash;
     }
 
     /**
      * Return the array of superclass hashes of this entry type.
      */
-    long[] getHashes() {
+    public long[] getHashes() {
 	return hashes;
     }
 
@@ -672,7 +672,7 @@ class EntryRep implements StorableResour
      * represents.  (Note that even though "this" is a template, it may
      * have no wildcards -- a template can have all values.)
      */
-    boolean matches(EntryRep other) {
+    public boolean matches(EntryRep other) {
 	/*
 	 * We use the fact that this is the template in several ways in
 	 * the method implementation.  For instance, in this next loop,
@@ -706,7 +706,7 @@ class EntryRep implements StorableResour
      * Return <code>true</code> if this entry represents an object that
      * is at least the type of the <code>otherClass</code>.
      */
-    boolean isAtLeastA(String otherClass) {
+    public boolean isAtLeastA(String otherClass) {
         if (otherClass.equals(matchAnyClassName()))
 	    // The other is a null template, all entries are at least entry.
 	    return true;

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/IteratorProxy.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/IteratorProxy.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/IteratorProxy.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/IteratorProxy.java Sun Jul  5 11:41:39 2020
@@ -1,153 +1,155 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import java.rmi.RemoteException;
-import net.jini.core.entry.Entry;
-import net.jini.core.entry.UnusableEntryException;
-import net.jini.id.Uuid;
-
-/**
- * The iterator that is returned to the client.
- * <code>IteratorProxy</code> uses a <code>RemoteIter</code> reference
- * to talk to the server.  The <code>RemoteIter</code> object is its
- * partner on the server side.
- * <p>
- * Note, because there is no way to duplicate one of these objects, or
- * get a new reference to the underlying iteration one (a situation
- * that is unlikely to change since part of the iteration is local), we
- * don't need to do anything special for equality. The default
- * implementations of <code>equals</code> and <code>hashCode</code>
- * work fine.
- */
-class IteratorProxy implements AdminIterator {
-    /**
-     * The <code>Uuid</code> of the iteration this 
-     * proxy is associated with.
-     */
-    private final Uuid iterationUuid;
-
-    /** 
-     * Reference to the server.
-     * Only assigned by this class.
-     */
-    volatile OutriggerAdmin server;
-
-    /** Last set of reps we got from the server */
-    private volatile EntryRep[] reps;
-
-    /** 
-     * Index of the next entry in rep to return.  If <code>delete()</code>
-     * we will call <code>iter.delete()</code> next - 1
-     */
-    private volatile int next = -1;	
-
-    /**
-     * How many entries to ask for each time we go to the server
-     */
-    private final int fetchSize;
-
-    /** ID of last entry we got from server */
-    private volatile Uuid lastId = null;
-    
-    /**
-     * Create client side iterator proxy.
-     * @param iterationUuid The identity of the iteration this proxy is for.
-     * @param server reference to remote server for the space.
-     * @param fetchSize Number of entries to ask for when it goes to the
-     *                  server
-     * @throws NullPointerException if <code>server</code> or
-     *         <code>iterationUuid</code> is <code>null</code>.     
-     */
-    IteratorProxy(Uuid iterationUuid, OutriggerAdmin server, int fetchSize) {
-	if (iterationUuid == null)
-	    throw new NullPointerException("iterationUuid must be non-null");
-
-	if (server == null)
-	    throw new NullPointerException("server must be non-null");
-       
-	if (fetchSize <= 0 && fetchSize != JavaSpaceAdmin.USE_DEFAULT)
-	    throw new IllegalArgumentException
-		("fetchSize must be postive or JavaSpaceAdmin.USE_DEFAULT");
-
-	this.iterationUuid = iterationUuid;
-	this.server = server;
-	this.fetchSize = fetchSize;
-    }
-
-    // purposefully inherit doc comment from supertype
-    public Entry next() throws UnusableEntryException, RemoteException {
-	assertOpen();
-	
-	if (next < 0 || next >= reps.length) {
-	    // Need to get more Entries
-	    reps = server.nextReps(iterationUuid, fetchSize, lastId);
-	    
-	    if (reps == null) {
-		// Finished
-		close();
-		return null;
-	    }		
-	    
-	    lastId = reps[reps.length-1].id();
-	    
-	    next = 0;
-	}
-	
-	// This may throw UnusableEntryException, but that's
-	// the right thing
-	return reps[next++].entry();
-    }
-
-    // purposefully inherit doc comment from supertype
-    public void delete() throws RemoteException {
-	if (next < 0) 
-	    throw new IllegalStateException("AdminIterator:Can't call " +
-					    "delete before calling next()");
-
-	assertOpen();
-	server.delete(iterationUuid, reps[next-1].id());
-    }
-    
-    // purposefully inherit doc comment from supertype
-    public void close() throws RemoteException {
-	if (server != null) {
-	    // always set to null, and then try to use the remote method,
-	    // which is actually optional
-	    OutriggerAdmin it = server;
-	    server = null;
-	    reps = null;
-	    it.close(iterationUuid);
-	}
-    }
-
-    /**
-     * Throw <code>IllegalStateException</code> if this iterator
-     * has been closed; otherwise just return.
-     */
-    private void assertOpen() throws IllegalStateException {
-	if (server == null) {
-	    throw new IllegalStateException("closed AdminIterator");
-	}
-    }
-
-    public String toString() {
-	return getClass().getName() + " for " + iterationUuid + 
-	    " (through " + server + ")";
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import java.rmi.RemoteException;
+import net.jini.core.entry.Entry;
+import net.jini.core.entry.UnusableEntryException;
+import net.jini.id.Uuid;
+import org.apache.river.admin.AdminIterator;
+import org.apache.river.admin.JavaSpaceAdmin;
+
+/**
+ * The iterator that is returned to the client.
+ * <code>IteratorProxy</code> uses a <code>RemoteIter</code> reference
+ * to talk to the server.  The <code>RemoteIter</code> object is its
+ * partner on the server side.
+ * <p>
+ * Note, because there is no way to duplicate one of these objects, or
+ * get a new reference to the underlying iteration one (a situation
+ * that is unlikely to change since part of the iteration is local), we
+ * don't need to do anything special for equality. The default
+ * implementations of <code>equals</code> and <code>hashCode</code>
+ * work fine.
+ */
+class IteratorProxy implements AdminIterator {
+    /**
+     * The <code>Uuid</code> of the iteration this 
+     * proxy is associated with.
+     */
+    private final Uuid iterationUuid;
+
+    /** 
+     * Reference to the server.
+     * Only assigned by this class.
+     */
+    volatile OutriggerAdmin server;
+
+    /** Last set of reps we got from the server */
+    private volatile EntryRep[] reps;
+
+    /** 
+     * Index of the next entry in rep to return.  If <code>delete()</code>
+     * we will call <code>iter.delete()</code> next - 1
+     */
+    private volatile int next = -1;	
+
+    /**
+     * How many entries to ask for each time we go to the server
+     */
+    private final int fetchSize;
+
+    /** ID of last entry we got from server */
+    private volatile Uuid lastId = null;
+    
+    /**
+     * Create client side iterator proxy.
+     * @param iterationUuid The identity of the iteration this proxy is for.
+     * @param server reference to remote server for the space.
+     * @param fetchSize Number of entries to ask for when it goes to the
+     *                  server
+     * @throws NullPointerException if <code>server</code> or
+     *         <code>iterationUuid</code> is <code>null</code>.     
+     */
+    IteratorProxy(Uuid iterationUuid, OutriggerAdmin server, int fetchSize) {
+	if (iterationUuid == null)
+	    throw new NullPointerException("iterationUuid must be non-null");
+
+	if (server == null)
+	    throw new NullPointerException("server must be non-null");
+       
+	if (fetchSize <= 0 && fetchSize != JavaSpaceAdmin.USE_DEFAULT)
+	    throw new IllegalArgumentException
+		("fetchSize must be postive or JavaSpaceAdmin.USE_DEFAULT");
+
+	this.iterationUuid = iterationUuid;
+	this.server = server;
+	this.fetchSize = fetchSize;
+    }
+
+    // purposefully inherit doc comment from supertype
+    public Entry next() throws UnusableEntryException, RemoteException {
+	assertOpen();
+	
+	if (next < 0 || next >= reps.length) {
+	    // Need to get more Entries
+	    reps = server.nextReps(iterationUuid, fetchSize, lastId);
+	    
+	    if (reps == null) {
+		// Finished
+		close();
+		return null;
+	    }		
+	    
+	    lastId = reps[reps.length-1].id();
+	    
+	    next = 0;
+	}
+	
+	// This may throw UnusableEntryException, but that's
+	// the right thing
+	return reps[next++].entry();
+    }
+
+    // purposefully inherit doc comment from supertype
+    public void delete() throws RemoteException {
+	if (next < 0) 
+	    throw new IllegalStateException("AdminIterator:Can't call " +
+					    "delete before calling next()");
+
+	assertOpen();
+	server.delete(iterationUuid, reps[next-1].id());
+    }
+    
+    // purposefully inherit doc comment from supertype
+    public void close() throws RemoteException {
+	if (server != null) {
+	    // always set to null, and then try to use the remote method,
+	    // which is actually optional
+	    OutriggerAdmin it = server;
+	    server = null;
+	    reps = null;
+	    it.close(iterationUuid);
+	}
+    }
+
+    /**
+     * Throw <code>IllegalStateException</code> if this iterator
+     * has been closed; otherwise just return.
+     */
+    private void assertOpen() throws IllegalStateException {
+	if (server == null) {
+	    throw new IllegalStateException("closed AdminIterator");
+	}
+    }
+
+    public String toString() {
+	return getClass().getName() + " for " + iterationUuid + 
+	    " (through " + server + ")";
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetData.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetData.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetData.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetData.java Sun Jul  5 11:41:39 2020
@@ -1,58 +1,58 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import net.jini.id.Uuid;
-
-/**
- * Simple struct to hold the <code>Uuid</code> for a new
- * <code>MatchSet</code> instance and the first batch of
- * data. Also holds initial lease time.
- */
-class MatchSetData implements java.io.Serializable {
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * <code>Uuid</code> for iteration and associated lease. 
-     * <code>null</code> if the entire iteration is in 
-     * <code>reps</code>.
-     */
-    final Uuid uuid;
-
-    /** Intial set of entries */
-    final EntryRep[] reps;
-
-    /** 
-     * Initial lease time. Negative if the entire iteration is in
-     * <code>reps</code>.
-     */
-    final long intialLeaseDuration;
-
-    /**
-     * Creates a new MatchSetData instance.
-     * @param uuid value of <code>uuid</code> field.
-     * @param reps value of <code>reps</code> field.
-     * @param intialLeaseDuration value of <code>intialLeaseDuration</code> 
-     *        field.
-     */
-    MatchSetData(Uuid uuid, EntryRep[] reps, long intialLeaseDuration) {
-	this.uuid = uuid;
-	this.reps = reps;
-	this.intialLeaseDuration = intialLeaseDuration;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import net.jini.id.Uuid;
+
+/**
+ * Simple struct to hold the <code>Uuid</code> for a new
+ * <code>MatchSet</code> instance and the first batch of
+ * data. Also holds initial lease time.
+ */
+public class MatchSetData implements java.io.Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <code>Uuid</code> for iteration and associated lease. 
+     * <code>null</code> if the entire iteration is in 
+     * <code>reps</code>.
+     */
+    final Uuid uuid;
+
+    /** Intial set of entries */
+    final EntryRep[] reps;
+
+    /** 
+     * Initial lease time. Negative if the entire iteration is in
+     * <code>reps</code>.
+     */
+    final long intialLeaseDuration;
+
+    /**
+     * Creates a new MatchSetData instance.
+     * @param uuid value of <code>uuid</code> field.
+     * @param reps value of <code>reps</code> field.
+     * @param intialLeaseDuration value of <code>intialLeaseDuration</code> 
+     *        field.
+     */
+    public MatchSetData(Uuid uuid, EntryRep[] reps, long intialLeaseDuration) {
+	this.uuid = uuid;
+	this.reps = reps;
+	this.intialLeaseDuration = intialLeaseDuration;
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetProxy.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetProxy.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetProxy.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/MatchSetProxy.java Sun Jul  5 11:41:39 2020
@@ -1,107 +1,107 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import java.rmi.RemoteException;
-
-import net.jini.core.entry.Entry;
-import net.jini.core.entry.UnusableEntryException;
-import net.jini.core.lease.Lease;
-import net.jini.id.Uuid;
-import net.jini.space.MatchSet;
-
-/**
- * Outrigger's implementation of <code>MatchSet</code>.
- * Outrigger's implementation of the <code>JavaSpace05.contents</code>
- * method returns objects of this type. Created with an initial set of
- * entries from the match set and supports pre-fetching whenever it
- * needs additional entries. <code>RemoteException</code>s encountered
- * when making a remote call to fetch the next batch of entries from
- * the space generally do not invalidate the proxy or the match set.
- * <p>
- * Note, there is no way to serialize or otherwise copy instances of
- * this class so the default equals implementation should suffice.
- */
-class MatchSetProxy implements MatchSet {
-    /** The remote server this proxy works with. */
-    final private OutriggerServer space;
-
-    /** ID of the associated query (and lease) */
-    final private Uuid uuid;
-
-    /** Lease assocated with this query */
-    final private Lease lease;
-
-    /** Last batch fetched from server */
-    private volatile EntryRep[] reps;
-
-    /** Last rep returned */
-    private volatile EntryRep lastRepReturned;
-
-    /** Current index into reps */
-    private volatile int i;
-
-    /** True if reps[i] could not be unpacked */
-    private volatile boolean unpackFailure = true; 
-
-    MatchSetProxy(MatchSetData inital, SpaceProxy2 parent, OutriggerServer space) {
-	uuid = inital.uuid;
-	this.space = space;
-	if (uuid != null) 
-	    lease = parent.newLease(uuid, inital.intialLeaseDuration);
-	else 
-	    lease = null;
-	reps = inital.reps;
-
-	i=0;
-    }
-
-    public Lease getLease() {
-	return lease;
-    }
-
-    public Entry next() throws RemoteException, UnusableEntryException {
-	if (i >= reps.length) {
-	    // Fetch another batch	    
-	    i = 0;
-	    reps = space.nextBatch(uuid, lastRepReturned.id());	    
-	}
-
-	if (reps[i] == null)
-	    return null;
-
-	unpackFailure = true;
-	lastRepReturned = reps[i++];
-	final Entry rslt = lastRepReturned.entry();
-	unpackFailure = false;
-	return rslt;
-    }
-
-    public Entry getSnapshot() {
-	if (unpackFailure)
-	    throw new IllegalStateException(
-	        "getSnapshot - need successful next call first");
-
-	return new SnapshotRep(lastRepReturned);
-    }
-
-    public String toString() {
-	return getClass().getName() + " for " + uuid + 
-	    " (through " + space + ")";
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import java.rmi.RemoteException;
+
+import net.jini.core.entry.Entry;
+import net.jini.core.entry.UnusableEntryException;
+import net.jini.core.lease.Lease;
+import net.jini.id.Uuid;
+import net.jini.space.MatchSet;
+
+/**
+ * Outrigger's implementation of <code>MatchSet</code>.
+ * Outrigger's implementation of the <code>JavaSpace05.contents</code>
+ * method returns objects of this type. Created with an initial set of
+ * entries from the match set and supports pre-fetching whenever it
+ * needs additional entries. <code>RemoteException</code>s encountered
+ * when making a remote call to fetch the next batch of entries from
+ * the space generally do not invalidate the proxy or the match set.
+ * <p>
+ * Note, there is no way to serialize or otherwise copy instances of
+ * this class so the default equals implementation should suffice.
+ */
+class MatchSetProxy implements MatchSet {
+    /** The remote server this proxy works with. */
+    final private OutriggerServer space;
+
+    /** ID of the associated query (and lease) */
+    final private Uuid uuid;
+
+    /** Lease assocated with this query */
+    final private Lease lease;
+
+    /** Last batch fetched from server */
+    private volatile EntryRep[] reps;
+
+    /** Last rep returned */
+    private volatile EntryRep lastRepReturned;
+
+    /** Current index into reps */
+    private volatile int i;
+
+    /** True if reps[i] could not be unpacked */
+    private volatile boolean unpackFailure = true; 
+
+    MatchSetProxy(MatchSetData inital, SpaceProxy2 parent, OutriggerServer space) {
+	uuid = inital.uuid;
+	this.space = space;
+	if (uuid != null) 
+	    lease = parent.newLease(uuid, inital.intialLeaseDuration);
+	else 
+	    lease = null;
+	reps = inital.reps;
+
+	i=0;
+    }
+
+    public Lease getLease() {
+	return lease;
+    }
+
+    public Entry next() throws RemoteException, UnusableEntryException {
+	if (i >= reps.length) {
+	    // Fetch another batch	    
+	    i = 0;
+	    reps = space.nextBatch(uuid, lastRepReturned.id());	    
+	}
+
+	if (reps[i] == null)
+	    return null;
+
+	unpackFailure = true;
+	lastRepReturned = reps[i++];
+	final Entry rslt = lastRepReturned.entry();
+	unpackFailure = false;
+	return rslt;
+    }
+
+    public Entry getSnapshot() {
+	if (unpackFailure)
+	    throw new IllegalStateException(
+	        "getSnapshot - need successful next call first");
+
+	return new SnapshotRep(lastRepReturned);
+    }
+
+    public String toString() {
+	return getClass().getName() + " for " + uuid + 
+	    " (through " + space + ")";
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAdmin.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAdmin.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAdmin.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAdmin.java Sun Jul  5 11:41:39 2020
@@ -1,88 +1,88 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
- 
-import org.apache.river.admin.DestroyAdmin;
-import net.jini.id.Uuid;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-import net.jini.admin.JoinAdmin;
-import net.jini.core.transaction.Transaction;
-import net.jini.core.transaction.TransactionException;
-import net.jini.space.JavaSpace;
-
-/**
- * The interface that is used by the <code>AdminProxy</code> to talk
- * to the server.  In other words, this is the server's analog to the
- * <code>JavaSpaceAdmin</code> interface.
- *
- * @author Sun Microsystems, Inc.
- *
- * @see JavaSpaceAdmin
- */
-// @see OutriggerServerImpl#AdminProxy
-interface OutriggerAdmin  extends Remote, DestroyAdmin, JoinAdmin {
-    /** Return the space administered by this object. */
-    JavaSpace space() throws RemoteException;
-    
-    /**
-     * Return the remote iterator object needed by
-     * <code>JavaSpaceAdmin.contents</code>.
-     */
-    Uuid contents(EntryRep tmpl, Transaction txn)
-	throws TransactionException, RemoteException;
-
-    /** 
-     * Fetch up to <code>max</code> <code>EntryRep</code> objects from
-     * the specified iteration.
-     * 
-     * @param iterationUuid The <code>Uuid</code> of the iteration
-     *            to fetch entries from.
-     * @param max Advice on the number of entries to return
-     * @param entryUuid <code>Uuid</code> of the last entry received by the
-     *            caller.  If this does not match the ID of the last
-     *            entry sent by the iterator will re-send that last
-     *            batch in place of a new batch.  May be
-     *            <code>null</code> in which case a new batch will be
-     *            sent.  The first call to <code>next()</code> should
-     *            have <code>id</code> set to <code>null</code>
-     */
-    EntryRep[] nextReps(Uuid iterationUuid, int max, 
-			Uuid entryUuid) 
-	throws RemoteException;
-
-    /** 
-     * Delete the given entry if the given iteration is still 
-     * valid and the entry was retured by the last call to 
-     * <code>nextReps</code>.
-     * @param iterationUuid The <code>Uuid</code> of a valid 
-     *            iteration.
-     * @param entryUuid the <code>Uuid</code> of the entry
-     *            to be deleted.
-     */
-    void delete(Uuid iterationUuid, Uuid entryUuid) throws RemoteException;
-
-    /** 
-     * Forget about the indicated iteration 
-     * @param iterationUuid The <code>Uuid</code> iteration to close.
-     */
-    void close(Uuid iterationUuid) throws RemoteException;
-}
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+ 
+import org.apache.river.admin.DestroyAdmin;
+import net.jini.id.Uuid;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+import net.jini.admin.JoinAdmin;
+import net.jini.core.transaction.Transaction;
+import net.jini.core.transaction.TransactionException;
+import net.jini.space.JavaSpace;
+
+/**
+ * The interface that is used by the <code>AdminProxy</code> to talk
+ * to the server.  In other words, this is the server's analog to the
+ * <code>JavaSpaceAdmin</code> interface.
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ * @see JavaSpaceAdmin
+ */
+// @see OutriggerServerImpl#AdminProxy
+interface OutriggerAdmin  extends Remote, DestroyAdmin, JoinAdmin {
+    /** Return the space administered by this object. */
+    JavaSpace space() throws RemoteException;
+    
+    /**
+     * Return the remote iterator object needed by
+     * <code>JavaSpaceAdmin.contents</code>.
+     */
+    Uuid contents(EntryRep tmpl, Transaction txn)
+	throws TransactionException, RemoteException;
+
+    /** 
+     * Fetch up to <code>max</code> <code>EntryRep</code> objects from
+     * the specified iteration.
+     * 
+     * @param iterationUuid The <code>Uuid</code> of the iteration
+     *            to fetch entries from.
+     * @param max Advice on the number of entries to return
+     * @param entryUuid <code>Uuid</code> of the last entry received by the
+     *            caller.  If this does not match the ID of the last
+     *            entry sent by the iterator will re-send that last
+     *            batch in place of a new batch.  May be
+     *            <code>null</code> in which case a new batch will be
+     *            sent.  The first call to <code>next()</code> should
+     *            have <code>id</code> set to <code>null</code>
+     */
+    EntryRep[] nextReps(Uuid iterationUuid, int max, 
+			Uuid entryUuid) 
+	throws RemoteException;
+
+    /** 
+     * Delete the given entry if the given iteration is still 
+     * valid and the entry was retured by the last call to 
+     * <code>nextReps</code>.
+     * @param iterationUuid The <code>Uuid</code> of a valid 
+     *            iteration.
+     * @param entryUuid the <code>Uuid</code> of the entry
+     *            to be deleted.
+     */
+    void delete(Uuid iterationUuid, Uuid entryUuid) throws RemoteException;
+
+    /** 
+     * Forget about the indicated iteration 
+     * @param iterationUuid The <code>Uuid</code> iteration to close.
+     */
+    void close(Uuid iterationUuid) throws RemoteException;
+}
+

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAvailabilityEvent.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAvailabilityEvent.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAvailabilityEvent.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerAvailabilityEvent.java Sun Jul  5 11:41:39 2020
@@ -1,73 +1,73 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import java.io.InvalidObjectException;
-import java.rmi.MarshalledObject;
-import net.jini.core.entry.Entry;
-import net.jini.core.entry.UnusableEntryException;
-import net.jini.core.event.RemoteEvent;
-import net.jini.space.JavaSpace;
-import net.jini.space.AvailabilityEvent;
-
-/**
- * Outrigger's implementation of <code>AvailabilityEvent</code>
- */
-class OutriggerAvailabilityEvent extends AvailabilityEvent {
-    private static final long serialVersionUID = 1L;
-
-    /** The entry that triggered the event */
-    final private EntryRep rep;
-
-    /**
-     * Constructs an OutriggerAvailabilityEvent object.
-     * 
-     * @param source    an <code>Object</code> representing the event source
-     * @param eventID   a <code>long</code> containing the event identifier
-     * @param seqNum    a <code>long</code> containing the event sequence number
-     * @param handback  a <code>MarshalledObject</code> that was passed in 
-     *                  as part of the original event registration.
-     * @param visibilityTransition <code>true</code> if this event
-     *                  must also signal a transition from
-     *                  invisible to visible
-     * @param rep       the entry that triggered the event
-     */
-    OutriggerAvailabilityEvent(JavaSpace source, long eventID, 
-	long seqNum, MarshalledObject handback, boolean visibilityTransition,
-	EntryRep rep) 
-    {
-	super(source, eventID, seqNum, handback, visibilityTransition);
-	this.rep = rep;
-    }
-
-    /** 
-     * @throws InvalidObjectException if called
-     */
-    private void readObjectNoData() throws InvalidObjectException {
-	throw new InvalidObjectException(
-	    "OutriggerAvailabilityEvent should always have data");
-    }
-
-    public Entry getEntry() throws UnusableEntryException {
-	return rep.entry();
-    }
-
-    public Entry getSnapshot() {
-	return new SnapshotRep(rep);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import java.io.InvalidObjectException;
+import java.rmi.MarshalledObject;
+import net.jini.core.entry.Entry;
+import net.jini.core.entry.UnusableEntryException;
+import net.jini.core.event.RemoteEvent;
+import net.jini.space.JavaSpace;
+import net.jini.space.AvailabilityEvent;
+
+/**
+ * Outrigger's implementation of <code>AvailabilityEvent</code>
+ */
+public class OutriggerAvailabilityEvent extends AvailabilityEvent {
+    private static final long serialVersionUID = 1L;
+
+    /** The entry that triggered the event */
+    final private EntryRep rep;
+
+    /**
+     * Constructs an OutriggerAvailabilityEvent object.
+     * 
+     * @param source    an <code>Object</code> representing the event source
+     * @param eventID   a <code>long</code> containing the event identifier
+     * @param seqNum    a <code>long</code> containing the event sequence number
+     * @param handback  a <code>MarshalledObject</code> that was passed in 
+     *                  as part of the original event registration.
+     * @param visibilityTransition <code>true</code> if this event
+     *                  must also signal a transition from
+     *                  invisible to visible
+     * @param rep       the entry that triggered the event
+     */
+    public OutriggerAvailabilityEvent(JavaSpace source, long eventID, 
+	long seqNum, MarshalledObject handback, boolean visibilityTransition,
+	EntryRep rep) 
+    {
+	super(source, eventID, seqNum, handback, visibilityTransition);
+	this.rep = rep;
+    }
+
+    /** 
+     * @throws InvalidObjectException if called
+     */
+    private void readObjectNoData() throws InvalidObjectException {
+	throw new InvalidObjectException(
+	    "OutriggerAvailabilityEvent should always have data");
+    }
+
+    public Entry getEntry() throws UnusableEntryException {
+	return rep.entry();
+    }
+
+    public Entry getSnapshot() {
+	return new SnapshotRep(rep);
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerPermission.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerPermission.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerPermission.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerPermission.java Sun Jul  5 11:41:39 2020
@@ -1,50 +1,50 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-import net.jini.security.AccessPermission;
-import net.jini.jeri.BasicInvocationDispatcher;
-import net.jini.jeri.BasicJeriExporter;
-
-/**
- * Permission that can be used to express the access control policy for an
- * instance of an Outrigger server exported with a {@link
- * BasicJeriExporter}.  This class can be specified to {@link
- * BasicInvocationDispatcher}, which will then perform permission checks for
- * incoming remote calls using <code>OutriggerPermission</code> instances.
- *
- * @author Sun Microsystems, Inc.
- * @since 2.0
- */
-public class OutriggerPermission extends AccessPermission {
-    private static final long serialVersionUID = 1;
-
-    /**
-     * Create a new <code>OutriggerPermission</code> instance.
-     * See {@link AccessPermission} for details on
-     * the name parameter.
-     * @param name the target name
-     * @throws NullPointerException if the target name is <code>null</code>
-     * @throws IllegalArgumentException if the target name does not match
-     * the syntax specified in the comments at the beginning of
-     * {@link AccessPermission}.
-     */
-    public OutriggerPermission(String name) {
-	super(name);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+import net.jini.security.AccessPermission;
+import net.jini.jeri.BasicInvocationDispatcher;
+import net.jini.jeri.BasicJeriExporter;
+
+/**
+ * Permission that can be used to express the access control policy for an
+ * instance of an Outrigger server exported with a {@link
+ * BasicJeriExporter}.  This class can be specified to {@link
+ * BasicInvocationDispatcher}, which will then perform permission checks for
+ * incoming remote calls using <code>OutriggerPermission</code> instances.
+ *
+ * @author Sun Microsystems, Inc.
+ * @since 2.0
+ */
+public class OutriggerPermission extends AccessPermission {
+    private static final long serialVersionUID = 1;
+
+    /**
+     * Create a new <code>OutriggerPermission</code> instance.
+     * See {@link AccessPermission} for details on
+     * the name parameter.
+     * @param name the target name
+     * @throws NullPointerException if the target name is <code>null</code>
+     * @throws IllegalArgumentException if the target name does not match
+     * the syntax specified in the comments at the beginning of
+     * {@link AccessPermission}.
+     */
+    public OutriggerPermission(String name) {
+	super(name);
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerQueryCookie.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerQueryCookie.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerQueryCookie.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/outrigger/outrigger-dl/src/main/java/org/apache/river/outrigger/proxy/OutriggerQueryCookie.java Sun Jul  5 11:41:39 2020
@@ -1,46 +1,46 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.outrigger;
-
-/**
- * Object <code>OutriggerServerImpl</code> uses to pass context between
- * related sub-queries.
- */
-class OutriggerQueryCookie 
-    implements OutriggerServer.QueryCookie, java.io.Serializable 
-{
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * The time the first sub-query in a given series was started
-     */
-    final long startTime;
-
-    /**
-     * Create a new <code>OutriggerQueryCookie</code> with
-     * the specified value for the <code>startTime</code>.
-     */
-    OutriggerQueryCookie(long startTime) {
-	this.startTime = startTime;
-    }
-
-    public String toString() {
-	return "OutriggerQueryCookie startTime:" + startTime;
-    }
-}
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.outrigger.proxy;
+
+/**
+ * Object <code>OutriggerServerImpl</code> uses to pass context between
+ * related sub-queries.
+ */
+public class OutriggerQueryCookie 
+    implements OutriggerServer.QueryCookie, java.io.Serializable 
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The time the first sub-query in a given series was started
+     */
+    public final long startTime;
+
+    /**
+     * Create a new <code>OutriggerQueryCookie</code> with
+     * the specified value for the <code>startTime</code>.
+     */
+    public OutriggerQueryCookie(long startTime) {
+	this.startTime = startTime;
+    }
+
+    public String toString() {
+	return "OutriggerQueryCookie startTime:" + startTime;
+    }
+}
+