Author: ogusakov
Date: Fri Sep 12 21:49:25 2008
New Revision: 694873

URL: http://svn.apache.org/viewvc?rev=694873&view=rev
Log:
added StreamObservers as separate element in the Server. Small changes here and 
there to facilitate mercury wagon

Added:
    
maven/sandbox/trunk/mercury/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
Modified:
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java

Added: 
maven/sandbox/trunk/mercury/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java?rev=694873&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-crypto/mercury-crypto-api/src/main/java/org/apache/maven/mercury/crypto/api/StreamObserverFactory.java
 Fri Sep 12 21:49:25 2008
@@ -0,0 +1,25 @@
+/**
+ * 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.maven.mercury.crypto.api;
+
+public interface StreamObserverFactory
+{
+  public StreamObserver newInstance()
+  throws StreamObserverException;
+}

Modified: 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java?rev=694873&r1=694872&r2=694873&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
 (original)
+++ 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
 Fri Sep 12 21:49:25 2008
@@ -21,6 +21,7 @@
 import java.net.URL;
 import java.util.Set;
 
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
 import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
 
 public class Server
@@ -33,6 +34,9 @@
   private boolean                     requireEncryption = false;
   private boolean                     requireTrustedServer = false;
 
+  private Set<StreamObserverFactory>  writerStreamObserverFactories;
+  private Set<StreamObserverFactory>  readerStreamObserverFactories;
+
   private Set<StreamVerifierFactory>  writerStreamVerifierFactories;
   private Set<StreamVerifierFactory>  readerStreamVerifierFactories;
 
@@ -133,6 +137,36 @@
     readerStreamVerifierFactories = factories;
   }
 
+  public boolean hasWriterStreamObserverFactories()
+  {
+    return writerStreamObserverFactories != null && 
writerStreamObserverFactories.size() > 0;
+  }
+
+  public Set<StreamObserverFactory> getWriterStreamObserverFactories()
+  {
+    return writerStreamObserverFactories;
+  }
+
+  public void setWriterStreamObserverFactories( Set<StreamObserverFactory> 
factories )
+  {
+    writerStreamObserverFactories = factories;
+  }
+
+  public boolean hasReaderStreamObserverFactories()
+  {
+    return readerStreamObserverFactories != null && 
readerStreamObserverFactories.size() > 0;
+  }
+
+  public Set<StreamObserverFactory> getReaderStreamObserverFactories()
+  {
+    return readerStreamObserverFactories;
+  }
+
+  public void setReaderStreamObserverFactories( Set<StreamObserverFactory> 
factories )
+  {
+    readerStreamObserverFactories = factories;
+  }
+
   public boolean isRequireEncryption()
   {
     return requireEncryption;

Modified: 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java?rev=694873&r1=694872&r2=694873&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
 (original)
+++ 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
 Fri Sep 12 21:49:25 2008
@@ -32,6 +32,8 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
 import org.apache.maven.mercury.crypto.api.StreamVerifierException;
 import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
 import org.apache.maven.mercury.spi.http.client.DestinationRealmResolver;
@@ -329,10 +331,14 @@
     }
     
     private Set<StreamObserver> createStreamObservers( Server server )
-    throws StreamVerifierException
+    throws StreamObserverException
     {
         HashSet<StreamObserver> observers = new HashSet<StreamObserver>();
-        if( server != null && server.hasWriterStreamVerifierFactories() )
+        
+        if( server == null )
+          return observers;
+        
+        if( server.hasWriterStreamVerifierFactories() )
         {
           Set<StreamVerifierFactory> factories = 
server.getWriterStreamVerifierFactories();
           for (StreamVerifierFactory f:factories)
@@ -340,6 +346,15 @@
               observers.add( f.newInstance() );
           }
         }
+        
+        if( server.hasWriterStreamObserverFactories() )
+        {
+          Set<StreamObserverFactory> factories = 
server.getWriterStreamObserverFactories();
+          for (StreamObserverFactory f:factories)
+          {
+              observers.add( f.newInstance() );
+          }
+        }
         return observers;
     }
 

Modified: 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java?rev=694873&r1=694872&r2=694873&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
 (original)
+++ 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
 Fri Sep 12 21:49:25 2008
@@ -30,6 +30,8 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.crypto.api.StreamObserverException;
+import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
 import org.apache.maven.mercury.crypto.api.StreamVerifierException;
 import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
 import org.apache.maven.mercury.spi.http.client.DestinationRealmResolver;
@@ -309,10 +311,14 @@
     }
     
     private Set<StreamObserver> createStreamObservers (Server server)
-    throws StreamVerifierException
+    throws StreamObserverException
     {
         HashSet<StreamObserver> observers = new HashSet<StreamObserver>();
-        if (server != null && server.hasReaderStreamVerifierFactories() )
+        
+        if( server == null )
+          return observers;
+        
+        if ( server.hasReaderStreamVerifierFactories() )
         {
             Set<StreamVerifierFactory> factories = 
server.getReaderStreamVerifierFactories();
             for( StreamVerifierFactory f:factories )
@@ -320,6 +326,15 @@
                 observers.add( f.newInstance() );
             }
         }
+
+        if ( server.hasReaderStreamObserverFactories() )
+        {
+            Set<StreamObserverFactory> factories = 
server.getReaderStreamObserverFactories();
+            for( StreamObserverFactory f:factories )
+            {
+                observers.add( f.newInstance() );
+            }
+        }
         return observers;
     }
 


Reply via email to