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 [12/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/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/FiddlerRenewResults.java Sun Jul  5 11:41:39 2020
@@ -1,67 +1,67 @@
-/*
- * 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.fiddler;
-
-/*
- * This class acts as a data structure in which the results of renewal 
- * attempts made in the method <code>FiddlerImpl.renewLeases</code> are
- * stored and returned.
- * <p>
- * Instances or this class are never visible to clients, they are private
- * to the communication between the LeaseMap proxy and the Fiddler 
- * implementation of the lookup discovery service.
- *
- * @author Sun Microsystems, Inc.
- *
- */
-class FiddlerRenewResults implements java.io.Serializable {
-
-    private static final long serialVersionUID = 6793222607079853307L;
-
-    /**
-     * The granted duration for each lease. The length of this array
-     * is the same as the length of the durations parameter to renewLeases,
-     * and is in the same order.  If a duration is -1, it indicates that
-     * an exception was thrown for this lease.
-     *
-     * @serial
-     */
-    public long[] durations;
-    /**
-     * Exceptions thrown as a result of a renewal attempt in renewLeases.
-     * The length of this array is the same as the number of -1 elements
-     * in <code>durations</code> field of this class. Furthermore, the
-     * exceptions in this array are in order.
-     *
-     * @serial
-     */
-    public Exception[] exceptions;
-
-    /**
-     * Constructs a new instance of FiddlerRenewResults.
-     *
-     * @param durations  array containing the durations granted as a result
-     *                   of successful lease renewals.
-     * @param exceptions array containing the exceptions thrown as a result
-     *                   of an unsuccessful lease renewal.
-     */
-    public FiddlerRenewResults(long[] durations, Exception[] exceptions) {
-        this.durations  = durations;
-        this.exceptions = exceptions;
-    }
-}
+/*
+ * 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.fiddler.proxy;
+
+/*
+ * This class acts as a data structure in which the results of renewal 
+ * attempts made in the method <code>FiddlerImpl.renewLeases</code> are
+ * stored and returned.
+ * <p>
+ * Instances or this class are never visible to clients, they are private
+ * to the communication between the LeaseMap proxy and the Fiddler 
+ * implementation of the lookup discovery service.
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ */
+public class FiddlerRenewResults implements java.io.Serializable {
+
+    private static final long serialVersionUID = 6793222607079853307L;
+
+    /**
+     * The granted duration for each lease. The length of this array
+     * is the same as the length of the durations parameter to renewLeases,
+     * and is in the same order.  If a duration is -1, it indicates that
+     * an exception was thrown for this lease.
+     *
+     * @serial
+     */
+    public long[] durations;
+    /**
+     * Exceptions thrown as a result of a renewal attempt in renewLeases.
+     * The length of this array is the same as the number of -1 elements
+     * in <code>durations</code> field of this class. Furthermore, the
+     * exceptions in this array are in order.
+     *
+     * @serial
+     */
+    public Exception[] exceptions;
+
+    /**
+     * Constructs a new instance of FiddlerRenewResults.
+     *
+     * @param durations  array containing the durations granted as a result
+     *                   of successful lease renewals.
+     * @param exceptions array containing the exceptions thrown as a result
+     *                   of an unsuccessful lease renewal.
+     */
+    public FiddlerRenewResults(long[] durations, Exception[] exceptions) {
+        this.durations  = durations;
+        this.exceptions = exceptions;
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyUtil.java Sun Jul  5 11:41:39 2020
@@ -1,77 +1,78 @@
-/*
- * 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.fiddler;
-
-import java.lang.reflect.Method;
-
-/**
- * Convenience class that contains a package protected static utility method
- * used by the proxy classes of this package in proxy trust verification
- * process.
- *
- * Note that this class cannot be instantiated.
- *
- * @author Sun Microsystems, Inc.
- */
-class ProxyUtil {
-
-    /** This class cannot be instantiated. */
-    private ProxyUtil() {
-	throw new AssertionError("class cannot be instantiated");
-    }//end constructor
-
-    /**
-     * Returns the public method for the specified <code>Class</code> type,
-     * method name, and array of parameter types.
-     * <p>
-     * This method is typically used in place of {@link Class#getMethod
-     * Class.getMethod} to get a method that should definitely be defined;
-     * thus, this method throws an error instead of an exception if the
-     * given method is missing.
-     * <p>
-     * This method is convenient for the initialization of a static
-     * variable for use as the <code>mappings</code> argument to 
-     * {@link org.apache.river.proxy.ConstrainableProxyUtil#translateConstraints 
-     * ConstrainableProxyUtil.translateConstraints}.
-     *
-     * @param type           the <code>Class</code> type that defines the
-     *                       method of interest
-     * @param name           <code>String</code> containing the name of the
-     *                       method of interest
-     * @param parameterTypes the <code>Class</code> types of the parameters
-     *                       to the method of interest
-     *
-     * @return a <code>Method</code> object that provides information about,
-     *         and access to, the method of interest
-     *
-     * @throws <code>NoSuchMethodError</code> if the method of interest cannot
-     *         be found
-     * @throws <code>NullPointerException</code> if <code>type</code> or
-     *         <code>name</code> is <code>null</code> 
-     */
-    static Method getMethod(Class type,
-				   String name,
-				   Class[] parameterTypes)
-    {
-        try {
-            return type.getMethod(name, parameterTypes);
-        } catch (NoSuchMethodException e) {
-            throw (Error)(new NoSuchMethodError(e.getMessage()).initCause(e));
-        }
-    }//end getMethod
-}//end class ProxyUtil
+/*
+ * 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.fiddler.proxy;
+
+
+import java.lang.reflect.Method;
+
+/**
+ * Convenience class that contains a package protected static utility method
+ * used by the proxy classes of this package in proxy trust verification
+ * process.
+ *
+ * Note that this class cannot be instantiated.
+ *
+ * @author Sun Microsystems, Inc.
+ */
+class ProxyUtil {
+
+    /** This class cannot be instantiated. */
+    private ProxyUtil() {
+	throw new AssertionError("class cannot be instantiated");
+    }//end constructor
+
+    /**
+     * Returns the public method for the specified <code>Class</code> type,
+     * method name, and array of parameter types.
+     * <p>
+     * This method is typically used in place of {@link Class#getMethod
+     * Class.getMethod} to get a method that should definitely be defined;
+     * thus, this method throws an error instead of an exception if the
+     * given method is missing.
+     * <p>
+     * This method is convenient for the initialization of a static
+     * variable for use as the <code>mappings</code> argument to 
+     * {@link org.apache.river.proxy.ConstrainableProxyUtil#translateConstraints 
+     * ConstrainableProxyUtil.translateConstraints}.
+     *
+     * @param type           the <code>Class</code> type that defines the
+     *                       method of interest
+     * @param name           <code>String</code> containing the name of the
+     *                       method of interest
+     * @param parameterTypes the <code>Class</code> types of the parameters
+     *                       to the method of interest
+     *
+     * @return a <code>Method</code> object that provides information about,
+     *         and access to, the method of interest
+     *
+     * @throws <code>NoSuchMethodError</code> if the method of interest cannot
+     *         be found
+     * @throws <code>NullPointerException</code> if <code>type</code> or
+     *         <code>name</code> is <code>null</code> 
+     */
+    static Method getMethod(Class type,
+				   String name,
+				   Class[] parameterTypes)
+    {
+        try {
+            return type.getMethod(name, parameterTypes);
+        } catch (NoSuchMethodException e) {
+            throw (Error)(new NoSuchMethodError(e.getMessage()).initCause(e));
+        }
+    }//end getMethod
+}//end class ProxyUtil

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/ProxyVerifier.java Sun Jul  5 11:41:39 2020
@@ -1,185 +1,186 @@
-/*
- * 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.fiddler;
-
-import net.jini.core.constraint.MethodConstraints;
-import net.jini.core.constraint.RemoteMethodControl;
-import net.jini.id.ReferentUuid;
-import net.jini.id.Uuid;
-import net.jini.security.TrustVerifier;
-import net.jini.security.proxytrust.TrustEquivalence;
-
-import java.io.Serializable;
-import java.rmi.RemoteException;
-
-/** This class defines a trust verifier for the proxies related to the 
- *  Fiddler implementation of the lookup discovery service.
- *
- * @see net.jini.security.TrustVerifier
- *
- * @author Sun Microsystems, Inc.
- *
- * @since 2.0
- */
-final class ProxyVerifier implements Serializable, TrustVerifier {
-
-    private static final long serialVersionUID = 2L;
-
-    /** The canonical instance of the inner proxy to the service. This
-     *  instance will be used by the <code>isTrusted</code> method 
-     *  as the known trusted object used to determine whether or not a
-     *  given proxy is equivalent in trust, content, and function.
-     *
-     *  @serial
-     */
-    private final RemoteMethodControl innerProxy;
-    /** 
-     * The unique identifier associated with the backend server referenced
-     * by the <code>innerProxy</code>, used for comparison with the IDs
-     * extracted from the smart proxies being verified.
-     *
-     * @serial
-     */
-    private final Uuid proxyID;
-
-    /** Constructs an instance of <code>TrustVerifier</code> that can be
-     *  used to determine whether or not a given proxy is equivalent in
-     *  trust, content, and function to the service's <code>innerProxy</code>
-     *  referenced in the class constructed here.
-     *
-     * @param innerProxy canonical instance of the inner proxy to the service.
-     *                   The <code>isTrustedObject</code> method will
-     *                   determine whether or not proxies input to that
-     *                   method are equivalent in trust, content, and function
-     *                   to this object.
-     * @param proxyID    instance of <code>Uuid</code> containing the unique
-     *                   identifier associated with the backend server
-     *                   referenced by the <code>innerProxy</code> paramater.
-     * 
-     * @throws UnsupportedOperationException if <code>innerProxy</code> does
-     *         not implement both {@link RemoteMethodControl} and {@link
-     *         TrustEquivalence}
-     */
-    ProxyVerifier(Fiddler innerProxy, Uuid proxyID) {
-        if( !(innerProxy instanceof RemoteMethodControl) ) {
-            throw new UnsupportedOperationException
-                         ("cannot construct verifier - canonical inner "
-                          +"proxy is not an instance of RemoteMethodControl");
-        } else if( !(innerProxy instanceof TrustEquivalence) ) {
-            throw new UnsupportedOperationException
-                             ("cannot construct verifier - canonical inner "
-                              +"proxy is not an instance of TrustEquivalence");
-        }//endif
-        this.innerProxy = (RemoteMethodControl)innerProxy;
-        this.proxyID = proxyID;
-    }//end constructor
-
-    /** Returns <code>true</code> if the specified proxy object (that is
-     *  not yet known to be trusted) is equivalent in trust, content, and
-     *  function to the canonical inner proxy object referenced in this
-     *  class; otherwise returns <code>false</code>.
-     *
-     * @param obj proxy object that will be compared to this class' stored
-     *            canonical proxy to determine whether or not the given
-     *            proxy object is equivalent in trust, content, and function.
-     *            
-     * @return <code>true</code> if the specified object (that is not yet
-     *                           known to be trusted) is equivalent in trust,
-     *                           content, and function to the canonical inner
-     *                           proxy object referenced in this class;
-     *                           otherwise returns <code>false</code>.
-     *
-     * @throws NullPointerException if any argument is <code>null</code>
-     */
-    public boolean isTrustedObject(Object obj,
-                                   TrustVerifier.Context ctx)
-                                                       throws RemoteException
-    {
-        /* Validate the arguments */
-        if (obj == null || ctx == null) {
-            throw new NullPointerException("arguments must not be null");
-	}//endif
-        /* Prepare the input proxy object for trust verification. The types
-         * of proxies, specific to the service, that this method will
-         * handle are:
-         *  - ConstrainableFiddlerProxy
-         *  - ConstrainableFiddlerRegistration
-         *  - ConstrainableFiddlerLease
-         *  - ConstrainableFiddlerAdminProxy
-         */
-        RemoteMethodControl inputProxy;
-        Uuid inputProxyID;
-        if( obj instanceof FiddlerProxy.ConstrainableFiddlerProxy ) {
-            inputProxy = (RemoteMethodControl)((FiddlerProxy)obj).server;
-            inputProxyID = ((ReferentUuid)obj).getReferentUuid();
-        } else if
-          (obj instanceof FiddlerRegistration.ConstrainableFiddlerRegistration)
-        {
-            FiddlerRegistration reg = (FiddlerRegistration)obj;
-            if( !this.isTrustedObject( (reg.eventReg).getSource(), ctx) ) {
-                return false;
-            }//endif
-            if( !this.isTrustedObject( (reg.eventReg).getLease(), ctx) ) {
-                return false;
-            }//endif
-            inputProxy = (RemoteMethodControl)reg.server;
-            /* FiddlerRegistration doesn't carry a proxyID. Default to the
-             * cannonical proxyID to avoid complicated handler logic below.
-             */
-            inputProxyID = proxyID;
-        } else if( obj instanceof FiddlerLease.ConstrainableFiddlerLease ) {
-            inputProxy = (RemoteMethodControl)((FiddlerLease)obj).server;
-            inputProxyID = ((FiddlerLease)obj).getServerID();
-        } else if
-             (obj instanceof FiddlerAdminProxy.ConstrainableFiddlerAdminProxy)
-        {
-            inputProxy = (RemoteMethodControl)((FiddlerAdminProxy)obj).server;
-            inputProxyID = ((ReferentUuid)obj).getReferentUuid();
-        } else if( obj instanceof RemoteMethodControl ) {
-            /* This block handles the case where the inner proxy itself 
-             * (rather than an outer proxy that contains the inner proxy)
-             * is being verified for trust. Unlike most of the outer proxies,
-             * the inner proxy doesn't provide a means for obtaining the UUID
-             * of the associated backend server. Thus, to avoid complicated
-             * handler logic, for this case the cannonical proxyID is used
-             * in the trust equivalence comparison that is performed below.
-             */
-            inputProxy = (RemoteMethodControl)obj;
-            inputProxyID = proxyID;
-        } else {
-            return false;
-        }//endif
-        /* Get the client constraints currently set on the input proxy */
-        final MethodConstraints mConstraints 
-                                        = inputProxy.getConstraints();
-        /* Create a copy of the canonical proxy with its method constraints
-         * replaced with the method constraints of the input proxy.
-         */
-        final TrustEquivalence constrainedInnerProxy =
-             (TrustEquivalence)innerProxy.setConstraints(mConstraints);
-        /* With respect to trust, content, and function, test whether the
-         * input proxy is equivalent to the canonical inner proxy that has
-         * the same method constraints as that input proxy, and verify that
-         * the canonical ID of the backend server is equivalent to the ID
-         * extracted from the input proxy; return the result.
-         */
-        return (    constrainedInnerProxy.checkTrustEquivalence(inputProxy)
-                 && proxyID.equals(inputProxyID) );
-    }//end isTrustedObject
-
-}//end class ProxyVerifier
+/*
+ * 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.fiddler.proxy;
+
+
+import net.jini.core.constraint.MethodConstraints;
+import net.jini.core.constraint.RemoteMethodControl;
+import net.jini.id.ReferentUuid;
+import net.jini.id.Uuid;
+import net.jini.security.TrustVerifier;
+import net.jini.security.proxytrust.TrustEquivalence;
+
+import java.io.Serializable;
+import java.rmi.RemoteException;
+
+/** This class defines a trust verifier for the proxies related to the 
+ *  Fiddler implementation of the lookup discovery service.
+ *
+ * @see net.jini.security.TrustVerifier
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ * @since 2.0
+ */
+final public class ProxyVerifier implements Serializable, TrustVerifier {
+
+    private static final long serialVersionUID = 2L;
+
+    /** The canonical instance of the inner proxy to the service. This
+     *  instance will be used by the <code>isTrusted</code> method 
+     *  as the known trusted object used to determine whether or not a
+     *  given proxy is equivalent in trust, content, and function.
+     *
+     *  @serial
+     */
+    private final RemoteMethodControl innerProxy;
+    /** 
+     * The unique identifier associated with the backend server referenced
+     * by the <code>innerProxy</code>, used for comparison with the IDs
+     * extracted from the smart proxies being verified.
+     *
+     * @serial
+     */
+    private final Uuid proxyID;
+
+    /** Constructs an instance of <code>TrustVerifier</code> that can be
+     *  used to determine whether or not a given proxy is equivalent in
+     *  trust, content, and function to the service's <code>innerProxy</code>
+     *  referenced in the class constructed here.
+     *
+     * @param innerProxy canonical instance of the inner proxy to the service.
+     *                   The <code>isTrustedObject</code> method will
+     *                   determine whether or not proxies input to that
+     *                   method are equivalent in trust, content, and function
+     *                   to this object.
+     * @param proxyID    instance of <code>Uuid</code> containing the unique
+     *                   identifier associated with the backend server
+     *                   referenced by the <code>innerProxy</code> paramater.
+     * 
+     * @throws UnsupportedOperationException if <code>innerProxy</code> does
+     *         not implement both {@link RemoteMethodControl} and {@link
+     *         TrustEquivalence}
+     */
+   public ProxyVerifier(Fiddler innerProxy, Uuid proxyID) {
+        if( !(innerProxy instanceof RemoteMethodControl) ) {
+            throw new UnsupportedOperationException
+                         ("cannot construct verifier - canonical inner "
+                          +"proxy is not an instance of RemoteMethodControl");
+        } else if( !(innerProxy instanceof TrustEquivalence) ) {
+            throw new UnsupportedOperationException
+                             ("cannot construct verifier - canonical inner "
+                              +"proxy is not an instance of TrustEquivalence");
+        }//endif
+        this.innerProxy = (RemoteMethodControl)innerProxy;
+        this.proxyID = proxyID;
+    }//end constructor
+
+    /** Returns <code>true</code> if the specified proxy object (that is
+     *  not yet known to be trusted) is equivalent in trust, content, and
+     *  function to the canonical inner proxy object referenced in this
+     *  class; otherwise returns <code>false</code>.
+     *
+     * @param obj proxy object that will be compared to this class' stored
+     *            canonical proxy to determine whether or not the given
+     *            proxy object is equivalent in trust, content, and function.
+     *            
+     * @return <code>true</code> if the specified object (that is not yet
+     *                           known to be trusted) is equivalent in trust,
+     *                           content, and function to the canonical inner
+     *                           proxy object referenced in this class;
+     *                           otherwise returns <code>false</code>.
+     *
+     * @throws NullPointerException if any argument is <code>null</code>
+     */
+    public boolean isTrustedObject(Object obj,
+                                   TrustVerifier.Context ctx)
+                                                       throws RemoteException
+    {
+        /* Validate the arguments */
+        if (obj == null || ctx == null) {
+            throw new NullPointerException("arguments must not be null");
+	}//endif
+        /* Prepare the input proxy object for trust verification. The types
+         * of proxies, specific to the service, that this method will
+         * handle are:
+         *  - ConstrainableFiddlerProxy
+         *  - ConstrainableFiddlerRegistration
+         *  - ConstrainableFiddlerLease
+         *  - ConstrainableFiddlerAdminProxy
+         */
+        RemoteMethodControl inputProxy;
+        Uuid inputProxyID;
+        if( obj instanceof FiddlerProxy.ConstrainableFiddlerProxy ) {
+            inputProxy = (RemoteMethodControl)((FiddlerProxy)obj).server;
+            inputProxyID = ((ReferentUuid)obj).getReferentUuid();
+        } else if
+          (obj instanceof FiddlerRegistration.ConstrainableFiddlerRegistration)
+        {
+            FiddlerRegistration reg = (FiddlerRegistration)obj;
+            if( !this.isTrustedObject( (reg.eventReg).getSource(), ctx) ) {
+                return false;
+            }//endif
+            if( !this.isTrustedObject( (reg.eventReg).getLease(), ctx) ) {
+                return false;
+            }//endif
+            inputProxy = (RemoteMethodControl)reg.server;
+            /* FiddlerRegistration doesn't carry a proxyID. Default to the
+             * cannonical proxyID to avoid complicated handler logic below.
+             */
+            inputProxyID = proxyID;
+        } else if( obj instanceof FiddlerLease.ConstrainableFiddlerLease ) {
+            inputProxy = (RemoteMethodControl)((FiddlerLease)obj).server;
+            inputProxyID = ((FiddlerLease)obj).getServerID();
+        } else if
+             (obj instanceof FiddlerAdminProxy.ConstrainableFiddlerAdminProxy)
+        {
+            inputProxy = (RemoteMethodControl)((FiddlerAdminProxy)obj).server;
+            inputProxyID = ((ReferentUuid)obj).getReferentUuid();
+        } else if( obj instanceof RemoteMethodControl ) {
+            /* This block handles the case where the inner proxy itself 
+             * (rather than an outer proxy that contains the inner proxy)
+             * is being verified for trust. Unlike most of the outer proxies,
+             * the inner proxy doesn't provide a means for obtaining the UUID
+             * of the associated backend server. Thus, to avoid complicated
+             * handler logic, for this case the cannonical proxyID is used
+             * in the trust equivalence comparison that is performed below.
+             */
+            inputProxy = (RemoteMethodControl)obj;
+            inputProxyID = proxyID;
+        } else {
+            return false;
+        }//endif
+        /* Get the client constraints currently set on the input proxy */
+        final MethodConstraints mConstraints 
+                                        = inputProxy.getConstraints();
+        /* Create a copy of the canonical proxy with its method constraints
+         * replaced with the method constraints of the input proxy.
+         */
+        final TrustEquivalence constrainedInnerProxy =
+             (TrustEquivalence)innerProxy.setConstraints(mConstraints);
+        /* With respect to trust, content, and function, test whether the
+         * input proxy is equivalent to the canonical inner proxy that has
+         * the same method constraints as that input proxy, and verify that
+         * the canonical ID of the backend server is equivalent to the ID
+         * extracted from the input proxy; return the result.
+         */
+        return (    constrainedInnerProxy.checkTrustEquivalence(inputProxy)
+                 && proxyID.equals(inputProxyID) );
+    }//end isTrustedObject
+
+}//end class ProxyVerifier

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/pom.xml Sun Jul  5 11:41:39 2020
@@ -1,86 +1,119 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ Copyright (C) 2014 the original author or authors.
-~
-~ Licensed 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.river</groupId>
-        <artifactId>fiddler</artifactId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.river.fiddler</groupId>
-    <artifactId>fiddler-service</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Module :: Fiddler LookupDiscoveryService Implementation</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.river.fiddler</groupId>
-            <artifactId>fiddler-dl</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-         <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-start</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-url-integrity</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-phoenix</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-lib</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-              <groupId>biz.aQute.bnd</groupId>
-              <artifactId>bnd-maven-plugin</artifactId>
-              <executions>
-                    <execution>
-                        <goals>
-                            <goal>bnd-process</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.owasp</groupId>
-                <artifactId>dependency-check-maven</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin> 
-        </plugins>
-    </build>
+<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.river</groupId>
+		<artifactId>fiddler</artifactId>
+		<version>3.0-SNAPSHOT</version>
+	</parent>
+
+	<groupId>org.apache.river.fiddler</groupId>
+	<artifactId>fiddler-service</artifactId>
+	<packaging>jar</packaging>
+
+	<name>Module :: Fiddler LookupDiscoveryService Implementation</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.river.fiddler</groupId>
+			<artifactId>fiddler-dl</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-start</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-logging</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-url-integrity</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-lib</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.river.phoenix-activation</groupId>
+			<artifactId>phoenix</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>bnd-process</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.owasp</groupId>
+				<artifactId>dependency-check-maven</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>check</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.eclipse.m2e</groupId>
+					<artifactId>lifecycle-mapping</artifactId>
+					<version>1.0.0</version>
+					<configuration>
+						<lifecycleMappingMetadata>
+							<pluginExecutions>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>biz.aQute.bnd</groupId>
+										<artifactId>bnd-maven-plugin</artifactId>
+										<versionRange>[1.0.0,)</versionRange>
+										<goals>
+											<goal>bnd-process</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore />
+									</action>
+								</pluginExecution>
+							</pluginExecutions>
+						</lifecycleMappingMetadata>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+	</build>
 </project>

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/FiddlerImpl.java Sun Jul  5 11:41:39 2020
@@ -17,6 +17,14 @@
  */
 package org.apache.river.fiddler;
 
+import org.apache.river.fiddler.proxy.Fiddler;
+import org.apache.river.fiddler.proxy.FiddlerAdminProxy;
+import org.apache.river.fiddler.proxy.FiddlerLease;
+import org.apache.river.fiddler.proxy.FiddlerProxy;
+import org.apache.river.fiddler.proxy.FiddlerRegistration;
+import org.apache.river.fiddler.proxy.FiddlerRenewResults;
+import org.apache.river.fiddler.proxy.ProxyVerifier;
+
 import org.apache.river.config.Config;
 
 import org.apache.river.constants.ThrowableConstants;
@@ -33,7 +41,7 @@ import org.apache.river.proxy.ThrowThis;
 import org.apache.river.reliableLog.ReliableLog;
 import org.apache.river.reliableLog.LogHandler;
 
-import org.apache.river.start.LifeCycle;
+import org.apache.river.start.lifecycle.LifeCycle;
 import org.apache.river.api.util.Startable;
 
 import org.apache.river.thread.InterruptedStatusThread;

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/NonActivatableFiddlerImpl.java Sun Jul  5 11:41:39 2020
@@ -1,75 +1,75 @@
-/*
- * 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.fiddler;
-
-import org.apache.river.start.LifeCycle;
-
-import net.jini.config.ConfigurationException;
-
-import javax.security.auth.login.LoginException;
-
-import java.io.IOException;
-
-/**
- * Convenience class intended for use with the
- * {@link org.apache.river.start.ServiceStarter} framework to start
- * an implementation of Fiddler that is not activatable, but which
- * will log its state information to persistent storage.
- *
- * @author Sun Microsystems, Inc.
- * @since 2.0
- */
-class NonActivatableFiddlerImpl extends FiddlerImpl {
-
-    /**
-     * Constructs a new instance of <code>FiddlerImpl</code> that is not
-     * activatable, but which will persist its state.
-     *
-     * @param configArgs <code>String</code> array whose elements are
-     *                   the arguments to use when creating the server.
-     * @param lifeCycle  instance of <code>LifeCycle</code> that, if 
-     *                   non-<code>null</code>, will cause this object's
-     *                   <code>unregister</code> method to be invoked during
-     *                   shutdown to notify the service starter framework that
-     *                   the reference to this service's implementation can be
-     *                   'released' for garbage collection. A value of 
-     *                   <code>null</code> for this argument is allowed.
-     *
-     * @throws IOException            this exception can occur when there is
-     *                                a problem recovering data from disk, or
-     *                                while exporting the server that's being
-     *                                created.
-     * @throws ConfigurationException this exception can occur when an
-     *                                problem occurs while retrieving an item
-     *                                from the <code>Configuration</code>
-     *                                generated from the contents of the
-     *                                given <code>configArgs</code> parameter
-     * @throws LoginException         this exception occurs when authentication
-     *                                fails while performing a JAAS login for
-     *                                this service
-     */
-    NonActivatableFiddlerImpl(String[] configArgs, LifeCycle lifeCycle)
-                                                throws IOException,
-                                                       ConfigurationException,
-                                                       LoginException
-    {
-        super(configArgs, lifeCycle, true);//true ==> persistent
-    }//end constructor
-
-}//end class NonActivatableFiddlerImpl
-
+/*
+ * 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.fiddler;
+
+import org.apache.river.start.lifecycle.LifeCycle;
+
+import net.jini.config.ConfigurationException;
+
+import javax.security.auth.login.LoginException;
+
+import java.io.IOException;
+
+/**
+ * Convenience class intended for use with the
+ * {@link org.apache.river.start.ServiceStarter} framework to start
+ * an implementation of Fiddler that is not activatable, but which
+ * will log its state information to persistent storage.
+ *
+ * @author Sun Microsystems, Inc.
+ * @since 2.0
+ */
+class NonActivatableFiddlerImpl extends FiddlerImpl {
+
+    /**
+     * Constructs a new instance of <code>FiddlerImpl</code> that is not
+     * activatable, but which will persist its state.
+     *
+     * @param configArgs <code>String</code> array whose elements are
+     *                   the arguments to use when creating the server.
+     * @param lifeCycle  instance of <code>LifeCycle</code> that, if 
+     *                   non-<code>null</code>, will cause this object's
+     *                   <code>unregister</code> method to be invoked during
+     *                   shutdown to notify the service starter framework that
+     *                   the reference to this service's implementation can be
+     *                   'released' for garbage collection. A value of 
+     *                   <code>null</code> for this argument is allowed.
+     *
+     * @throws IOException            this exception can occur when there is
+     *                                a problem recovering data from disk, or
+     *                                while exporting the server that's being
+     *                                created.
+     * @throws ConfigurationException this exception can occur when an
+     *                                problem occurs while retrieving an item
+     *                                from the <code>Configuration</code>
+     *                                generated from the contents of the
+     *                                given <code>configArgs</code> parameter
+     * @throws LoginException         this exception occurs when authentication
+     *                                fails while performing a JAAS login for
+     *                                this service
+     */
+    NonActivatableFiddlerImpl(String[] configArgs, LifeCycle lifeCycle)
+                                                throws IOException,
+                                                       ConfigurationException,
+                                                       LoginException
+    {
+        super(configArgs, lifeCycle, true);//true ==> persistent
+    }//end constructor
+
+}//end class NonActivatableFiddlerImpl
+

Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-service/src/main/java/org/apache/river/fiddler/TransientFiddlerImpl.java Sun Jul  5 11:41:39 2020
@@ -1,75 +1,75 @@
-/*
- * 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.fiddler;
-
-import org.apache.river.start.LifeCycle;
-
-import net.jini.config.ConfigurationException;
-
-import javax.security.auth.login.LoginException;
-
-import java.io.IOException;
-
-
-/**
- * Convenience class intended for use with the
- * {@link org.apache.river.start.ServiceStarter} framework to start
- * a <i>transient</i> (non-activatable, non-persistent) implementation
- * of Fiddler.
- *
- * @author Sun Microsystems, Inc.
- * @since 2.0
- */
-class TransientFiddlerImpl extends FiddlerImpl {
-
-    /**
-     * Constructs a new instance of <code>FiddlerImpl</code> that is not
-     * activatable, and which will not persist its state.
-     *
-     * @param configArgs <code>String</code> array whose elements are
-     *                   the arguments to use when creating the server.
-     * @param lifeCycle  instance of <code>LifeCycle</code> that, if 
-     *                   non-<code>null</code>, will cause this object's
-     *                   <code>unregister</code> method to be invoked during
-     *                   shutdown to notify the service starter framework that
-     *                   the reference to this service's implementation can be
-     *                   'released' for garbage collection. A value of 
-     *                   <code>null</code> for this argument is allowed.
-     *
-     * @throws IOException            this exception can occur when there is
-     *                                a problem exporting the server that's
-     *                                being created.
-     * @throws ConfigurationException this exception can occur when an
-     *                                problem occurs while retrieving an item
-     *                                from the <code>Configuration</code>
-     *                                generated from the contents of the
-     *                                given <code>configArgs</code> parameter
-     * @throws LoginException         this exception occurs when authentication
-     *                                fails while performing a JAAS login for
-     *                                this service
-     */
-    TransientFiddlerImpl(String[] configArgs, LifeCycle lifeCycle)
-                                             throws IOException,
-                                                    ConfigurationException,
-                                                    LoginException
-    {
-        super(configArgs, lifeCycle, false);//false ==> not persistent
-    }//end constructor
-
-}//end class TransientFiddlerImpl
-
+/*
+ * 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.fiddler;
+
+import org.apache.river.start.lifecycle.LifeCycle;
+
+import net.jini.config.ConfigurationException;
+
+import javax.security.auth.login.LoginException;
+
+import java.io.IOException;
+
+
+/**
+ * Convenience class intended for use with the
+ * {@link org.apache.river.start.ServiceStarter} framework to start
+ * a <i>transient</i> (non-activatable, non-persistent) implementation
+ * of Fiddler.
+ *
+ * @author Sun Microsystems, Inc.
+ * @since 2.0
+ */
+class TransientFiddlerImpl extends FiddlerImpl {
+
+    /**
+     * Constructs a new instance of <code>FiddlerImpl</code> that is not
+     * activatable, and which will not persist its state.
+     *
+     * @param configArgs <code>String</code> array whose elements are
+     *                   the arguments to use when creating the server.
+     * @param lifeCycle  instance of <code>LifeCycle</code> that, if 
+     *                   non-<code>null</code>, will cause this object's
+     *                   <code>unregister</code> method to be invoked during
+     *                   shutdown to notify the service starter framework that
+     *                   the reference to this service's implementation can be
+     *                   'released' for garbage collection. A value of 
+     *                   <code>null</code> for this argument is allowed.
+     *
+     * @throws IOException            this exception can occur when there is
+     *                                a problem exporting the server that's
+     *                                being created.
+     * @throws ConfigurationException this exception can occur when an
+     *                                problem occurs while retrieving an item
+     *                                from the <code>Configuration</code>
+     *                                generated from the contents of the
+     *                                given <code>configArgs</code> parameter
+     * @throws LoginException         this exception occurs when authentication
+     *                                fails while performing a JAAS login for
+     *                                this service
+     */
+    TransientFiddlerImpl(String[] configArgs, LifeCycle lifeCycle)
+                                             throws IOException,
+                                                    ConfigurationException,
+                                                    LoginException
+    {
+        super(configArgs, lifeCycle, false);//false ==> not persistent
+    }//end constructor
+
+}//end class TransientFiddlerImpl
+

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/pom.xml Sun Jul  5 11:41:39 2020
@@ -1,71 +1,98 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ Copyright (C) 2014 the original author or authors.
-~
-~ Licensed 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.river</groupId>
-        <artifactId>group</artifactId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.river.group</groupId>
-    <artifactId>group-dl</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Module :: Group Service Proxy</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-start</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-phoenix</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-              <groupId>biz.aQute.bnd</groupId>
-              <artifactId>bnd-maven-plugin</artifactId>
-              <executions>
-                    <execution>
-                        <goals>
-                            <goal>bnd-process</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.owasp</groupId>
-                <artifactId>dependency-check-maven</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin> 
-        </plugins>
-    </build>
+<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.river</groupId>
+		<artifactId>group</artifactId>
+		<version>3.0-SNAPSHOT</version>
+	</parent>
+
+	<groupId>org.apache.river.group</groupId>
+	<artifactId>group-dl</artifactId>
+	<packaging>jar</packaging>
+
+	<name>Module :: Group Service Proxy</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-start</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river.phoenix-activation</groupId>
+			<artifactId>phoenix</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>bnd-process</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.owasp</groupId>
+				<artifactId>dependency-check-maven</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>check</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.eclipse.m2e</groupId>
+					<artifactId>lifecycle-mapping</artifactId>
+					<version>1.0.0</version>
+					<configuration>
+						<lifecycleMappingMetadata>
+							<pluginExecutions>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>biz.aQute.bnd</groupId>
+										<artifactId>bnd-maven-plugin</artifactId>
+										<versionRange>[1.0.0,)</versionRange>
+										<goals>
+											<goal>bnd-process</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore />
+									</action>
+								</pluginExecution>
+							</pluginExecutions>
+						</lifecycleMappingMetadata>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+
+	</build>
 </project>

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/ProxyVerifier.java Sun Jul  5 11:41:39 2020
@@ -1,94 +1,94 @@
-/*
- * 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.start;
-
-import net.jini.core.constraint.MethodConstraints;
-import net.jini.core.constraint.RemoteMethodControl;
-import net.jini.security.TrustVerifier;
-import net.jini.security.proxytrust.TrustEquivalence;
-import java.io.Serializable;
-import java.rmi.RemoteException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/** Defines a trust verifier for the smart proxies of a SharedGroup server. */
-final class ProxyVerifier implements TrustVerifier, Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /** Logger and configuration component name for SharedGroup */
-    private static final String START_PROXY = "org.apache.river.start.proxy";
-
-    /** Logger for logging information about this instance */
-    private static final Logger logger = Logger.getLogger(START_PROXY);
-
-    /** The SharedGroup server proxy. */
-    private final RemoteMethodControl serverProxy;
-
-    /**
-     * Returns a verifier for the smart proxies of the specified SharedGroup 
-     * server proxy.
-     *
-     * @param serverProxy the SharedGroup server proxy
-     * @throws UnsupportedOperationException if <code>serverProxy</code> does
-     *	       not implement both {@link RemoteMethodControl} and {@link
-     *	       TrustEquivalence}
-     */
-    ProxyVerifier(SharedGroupBackEnd serverProxy) {
-	if (!(serverProxy instanceof RemoteMethodControl)) {
-	    throw new UnsupportedOperationException(
-		"No verifier available for non-secure service");
-	} else if (!(serverProxy instanceof TrustEquivalence)) {
-	    throw new UnsupportedOperationException(
-		"Verifier requires service proxy to implement " +
-		"TrustEquivalence");
-	}
-	this.serverProxy = (RemoteMethodControl) serverProxy;
-    }
-
-    /**
-     * @throws NullPointerException {@inheritDoc}
-     */
-    public boolean isTrustedObject(
-	Object obj, TrustVerifier.Context ctx)
-	throws RemoteException
-    {
-	logger.entering(ProxyVerifier.class.getName(), "isTrustedObject",
-	    new Object[] { obj, ctx });
-	if (obj == null || ctx == null) {
-	    throw new NullPointerException("Arguments must not be null");
-	} 
-
-	RemoteMethodControl otherServerProxy;
-	if (obj instanceof SharedGroupBackEnd) {
-	    otherServerProxy = (RemoteMethodControl) obj;
-	} else {
-	    logger.log(Level.FINEST, "Object {0} is not a supported type",
-		obj);
-	    return false;
-	}
-
-	MethodConstraints mc = otherServerProxy.getConstraints();
-	TrustEquivalence trusted =
-	    (TrustEquivalence) serverProxy.setConstraints(mc);
-	boolean result = trusted.checkTrustEquivalence(otherServerProxy);
-	logger.exiting(ProxyVerifier.class.getName(), "isTrustedObject", 
-	    Boolean.valueOf(result));
-	return result;
-    }
-}
+/*
+ * 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.start.group.proxy;
+
+import net.jini.core.constraint.MethodConstraints;
+import net.jini.core.constraint.RemoteMethodControl;
+import net.jini.security.TrustVerifier;
+import net.jini.security.proxytrust.TrustEquivalence;
+import java.io.Serializable;
+import java.rmi.RemoteException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/** Defines a trust verifier for the smart proxies of a SharedGroup server. */
+public final class ProxyVerifier implements TrustVerifier, Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /** Logger and configuration component name for SharedGroup */
+    private static final String START_PROXY = "org.apache.river.start.proxy";
+
+    /** Logger for logging information about this instance */
+    private static final Logger logger = Logger.getLogger(START_PROXY);
+
+    /** The SharedGroup server proxy. */
+    private final RemoteMethodControl serverProxy;
+
+    /**
+     * Returns a verifier for the smart proxies of the specified SharedGroup 
+     * server proxy.
+     *
+     * @param serverProxy the SharedGroup server proxy
+     * @throws UnsupportedOperationException if <code>serverProxy</code> does
+     *	       not implement both {@link RemoteMethodControl} and {@link
+     *	       TrustEquivalence}
+     */
+    public ProxyVerifier(SharedGroupBackEnd serverProxy) {
+	if (!(serverProxy instanceof RemoteMethodControl)) {
+	    throw new UnsupportedOperationException(
+		"No verifier available for non-secure service");
+	} else if (!(serverProxy instanceof TrustEquivalence)) {
+	    throw new UnsupportedOperationException(
+		"Verifier requires service proxy to implement " +
+		"TrustEquivalence");
+	}
+	this.serverProxy = (RemoteMethodControl) serverProxy;
+    }
+
+    /**
+     * @throws NullPointerException {@inheritDoc}
+     */
+    public boolean isTrustedObject(
+	Object obj, TrustVerifier.Context ctx)
+	throws RemoteException
+    {
+	logger.entering(ProxyVerifier.class.getName(), "isTrustedObject",
+	    new Object[] { obj, ctx });
+	if (obj == null || ctx == null) {
+	    throw new NullPointerException("Arguments must not be null");
+	} 
+
+	RemoteMethodControl otherServerProxy;
+	if (obj instanceof SharedGroupBackEnd) {
+	    otherServerProxy = (RemoteMethodControl) obj;
+	} else {
+	    logger.log(Level.FINEST, "Object {0} is not a supported type",
+		obj);
+	    return false;
+	}
+
+	MethodConstraints mc = otherServerProxy.getConstraints();
+	TrustEquivalence trusted =
+	    (TrustEquivalence) serverProxy.setConstraints(mc);
+	boolean result = trusted.checkTrustEquivalence(otherServerProxy);
+	logger.exiting(ProxyVerifier.class.getName(), "isTrustedObject", 
+	    Boolean.valueOf(result));
+	return result;
+    }
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-dl/src/main/java/org/apache/river/start/group/proxy/SharedGroupBackEnd.java Sun Jul  5 11:41:39 2020
@@ -1,37 +1,37 @@
-/*
- * 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.start;
-
-import java.rmi.Remote;
-
-
-/**
- * The <code>SharedGroupBackEnd</code> interface
- *
- * @author Sun Microsystems, Inc.
- *
- * @see net.jini.admin.Administrable
- * 
- * @since 1.2
- */
-//@see org.apache.river.start.SharedGroupAdmin
-public interface SharedGroupBackEnd extends SharedGroup, Remote
-{
-    // No additional methods
-}
+/*
+ * 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.start.group.proxy;
+
+import java.rmi.Remote;
+import org.apache.river.start.group.SharedGroup;
+
+/**
+ * The <code>SharedGroupBackEnd</code> interface
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ * @see net.jini.admin.Administrable
+ * 
+ * @since 1.2
+ */
+//@see org.apache.river.start.SharedGroupAdmin
+public interface SharedGroupBackEnd extends SharedGroup, Remote
+{
+    // No additional methods
+}

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/pom.xml Sun Jul  5 11:41:39 2020
@@ -1,76 +1,103 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ Copyright (C) 2014 the original author or authors.
-~
-~ Licensed 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.river</groupId>
-        <artifactId>group</artifactId>
-        <version>3.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.river.group</groupId>
-    <artifactId>group-service</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Module :: Group Service Implementation</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-start</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river.group</groupId>
-            <artifactId>group-dl</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.river</groupId>
-            <artifactId>river-phoenix</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-              <groupId>biz.aQute.bnd</groupId>
-              <artifactId>bnd-maven-plugin</artifactId>
-              <executions>
-                    <execution>
-                        <goals>
-                            <goal>bnd-process</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.owasp</groupId>
-                <artifactId>dependency-check-maven</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin> 
-        </plugins>
-    </build>
+<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed 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. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.river</groupId>
+		<artifactId>group</artifactId>
+		<version>3.0-SNAPSHOT</version>
+	</parent>
+
+	<groupId>org.apache.river.group</groupId>
+	<artifactId>group-service</artifactId>
+	<packaging>jar</packaging>
+
+	<name>Module :: Group Service Implementation</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.river</groupId>
+			<artifactId>river-start</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river.group</groupId>
+			<artifactId>group-dl</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.river.phoenix-activation</groupId>
+			<artifactId>phoenix</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>bnd-process</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.owasp</groupId>
+				<artifactId>dependency-check-maven</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>check</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.eclipse.m2e</groupId>
+					<artifactId>lifecycle-mapping</artifactId>
+					<version>1.0.0</version>
+					<configuration>
+						<lifecycleMappingMetadata>
+							<pluginExecutions>
+								<pluginExecution>
+									<pluginExecutionFilter>
+										<groupId>biz.aQute.bnd</groupId>
+										<artifactId>bnd-maven-plugin</artifactId>
+										<versionRange>[1.0.0,)</versionRange>
+										<goals>
+											<goal>bnd-process</goal>
+										</goals>
+									</pluginExecutionFilter>
+									<action>
+										<ignore />
+									</action>
+								</pluginExecution>
+							</pluginExecutions>
+						</lifecycleMappingMetadata>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+
+	</build>
 </project>

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImpl.java Sun Jul  5 11:41:39 2020
@@ -16,8 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.river.start;
+package org.apache.river.start.group.impl;
 
+import org.apache.river.start.group.proxy.SharedGroupBackEnd;
+import org.apache.river.start.group.proxy.ProxyVerifier;
 import org.apache.river.api.util.Startable;
 import java.io.IOException;
 import java.rmi.MarshalledObject;

Modified: river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/group/group-service/src/main/java/org/apache/river/start/group/impl/SharedGroupImplInit.java Sun Jul  5 11:41:39 2020
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.river.start;
+package org.apache.river.start.group.impl;
 
 import java.rmi.activation.ActivationGroup;
 import java.rmi.activation.ActivationID;

Modified: river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/mahalo/mahalo-dl/src/main/java/org/apache/river/mahalo/proxy/InternalManagerException.java Sun Jul  5 11:41:39 2020
@@ -1,37 +1,37 @@
-/*
- * 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.mahalo;
-
-/**
- * This exception denotes a problem with the transaction manager
- * implementation.
- *
- * @author Sun Microsystems, Inc.
- *
- */
-class InternalManagerException extends RuntimeException {
-    static final long serialVersionUID = -8249846562594717389L;
-
-    InternalManagerException() {
-	super();
-    }
-
-    InternalManagerException(String msg) {
-	super(msg);
-    }
-}
+/*
+ * 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.mahalo.proxy;
+
+/**
+ * This exception denotes a problem with the transaction manager
+ * implementation.
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ */
+public class InternalManagerException extends RuntimeException {
+    static final long serialVersionUID = -8249846562594717389L;
+
+    InternalManagerException() {
+	super();
+    }
+
+    public InternalManagerException(String msg) {
+    	super(msg);
+    }
+}