Thanx Stefan..well it seems I will work with the source files I downloaded
from the jakarta site
So far I have to questions:

1. I need to integrate WEBDAV to my content management system, and found no
developer documentation on the slide link, is there any such documentation
any where???

2. I tried to deploy the slide.war to oc4j but found no hints to do so, I
tried to compile the source file on JDeveloper 
but it just gives me an internal compiler error, Did any body try that??  

Thanx a lot!

-----Original Message-----
From: Stefan Lützkendorf [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 13, 2004 12:39 PM
To: Slide Developers Mailing List
Subject: Re: cvs commit:
jakarta-slide/src/webdav/server/org/apache/slide/webdav/event
NotificationTrigger.java Subscriber.java

I now people that use a perl-sript for accessing cvs via viewcvs.

please have a look at
   http://lists.gnu.org/archive/html/emacs-devel/2003-08/msg00023.html

I have never used it, but it sounds promissing.

The ViewCVS access of the Slide source your found at
   http://cvs.apache.org/viewcvs.cgi/jakarta-slide/

I hope this helps,
Stefan

Ragia wrote:
> Thanx for ur concerns,
> 
> Well, yes we are behind a firewall
> 
> I tried "telnet cvs.apache.org 2401" & it says: 
> 
> Connecting To cvs.apache.org...Could not open a connection to host on 
> port
> 2401
> : Connect failed
> 
> Is that mean that I have no chance ever ? :(
> 
> -----Original Message-----
> From: Stefan Lützkendorf [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 13, 2004 11:56 AM
> To: Slide Developers Mailing List
> Subject: Re: cvs commit:
> jakarta-slide/src/webdav/server/org/apache/slide/webdav/event
> NotificationTrigger.java Subscriber.java
> 
> Seems to be a network problem,
> 
> are you behind a firewall?
> do you get a connection if you try "telnet cvs.apache.org 2401" ?
> 
> Ragia wrote:
> 
>>Thanx for the reply!!
>>
>>I tried what you kindly suggested but in vain
>>
>>Here it is the result
>>
>> cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic checkout 
>>jakarta-slide
>>
>>***** CVS exited normally with code 1 *****
>>
>>cvs [checkout aborted]: connect to cvs.apache.org:2401 failed: No 
>>connection could be made because the target machine actively refused it.
>>
>>
>>
>>
>>
>> 
>>
>>-----Original Message-----
>>From: Stefan Lützkendorf [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, July 13, 2004 11:34 AM
>>To: Slide Developers Mailing List
>>Subject: Re: cvs commit:
>>jakarta-slide/src/webdav/server/org/apache/slide/webdav/event
>>NotificationTrigger.java Subscriber.java
>>
>>Did you set Authentication to pserver
>>
>>try the following on the console
>>   cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic checkout 
>>jakarta-slide
>>
>>
>>
>>Ragia wrote:
>>
>>
>>>How to connect to CVs
>>>I used wincvs GUI but it doesnot connect ever I use the the CVs root 
>>>[EMAIL PROTECTED]:/home/cvspublic
>>>
>>>It says that server refused the connection???
>>>
>>>
>>>
>>>-----Original Message-----
>>>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>>>Sent: Tuesday, July 13, 2004 11:08 AM
>>>To: [EMAIL PROTECTED]
>>>Subject: cvs commit:
>>>jakarta-slide/src/webdav/server/org/apache/slide/webdav/event
>>>NotificationTrigger.java Subscriber.java
>>>
>>>luetzkendorf    2004/07/13 02:08:19
>>>
>>> Modified:    src/webdav/server/org/apache/slide/webdav/event
>>>                       NotificationTrigger.java Subscriber.java
>>> Log:
>>> some changes to satisfy the notification test cases
>>> 
>>> Revision  Changes    Path
>>> 1.11      +51 -35
>>>jakarta-slide/src/webdav/server/org/apache/slide/webdav/event/Notific
>>>a
>>>tionTr
>>>igger.java
>>> 
>>> Index: NotificationTrigger.java
>>> ===================================================================
>>> RCS file:
>>>/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/eve
>>>n
>>>t/Noti
>>>ficationTrigger.java,v
>>> retrieving revision 1.10
>>> retrieving revision 1.11
>>> diff -u -r1.10 -r1.11
>>> --- NotificationTrigger.java        12 May 2004 11:09:47 -0000      1.10
>>> +++ NotificationTrigger.java        13 Jul 2004 09:08:18 -0000      1.11
>>> @@ -80,6 +80,8 @@
>>>      }
>>>  
>>>      public boolean removeSubscriber(Subscriber subscriber) {
>>> +       Domain.log("Removing subscriber with ID: 
>>> + "+subscriber.getId(),
>>>LOG_CHANNEL, Logger.INFO);
>>> +       subscriber.getLifetime().cancel();
>>>         return subscribers.remove(subscriber);
>>>      }
>>>  
>>> @@ -122,8 +124,11 @@
>>>  
>>>      private void notifySubscribers(EventCollection collection) {
>>>          Map subscriberEnumerations = new HashMap();
>>> -        ContentEvent[] update =
>>>EventCollectionFilter.getChangedContents(collection);
>>>          List matchingSubscribers = new ArrayList();
>>> +
>>> +        // get subscribers with matching notification types
>>> +        // (and remember events)
>>> +        ContentEvent[] update =
>>>EventCollectionFilter.getChangedContents(collection);
>>>          for ( int i = 0; i < update.length; i++ ) {
>>>              
>>>matchingSubscribers.addAll(getSubscribers(Subscriber.UPDATE,
>>>update[i]));
>>>          }
>>> @@ -136,34 +141,42 @@
>>>              
>>>matchingSubscribers.addAll(getSubscribers(Subscriber.DELETE,
>>>delete[i]));
>>>          }
>>>          // FIXME: Add methods for MOVE, and NEW_MAIL (??) to get 
>>>full exchange notification compliance
>>> +        
>>> +        // notifiy subscribers
>>>          for ( Iterator i = matchingSubscribers.iterator(); 
>>>i.hasNext(); ) {
>>> -           final Subscriber subscriber = (Subscriber)i.next();
>>> -           if ( subscriber.getNotificationDelay() == 0 ) {
>>> -                   // send notification without delay
>>> -                   List idList =
>>>(List)subscriberEnumerations.get(subscriber.getCallback());
>>> -                   if ( idList == null ) {
>>> -                           idList = new ArrayList();
>>> -
>>>subscriberEnumerations.put(subscriber.getCallback(), idList);
>>> -                   }
>>> -                   Integer subscriberId = new
>>>Integer(subscriber.getId());
>>> -                   if ( !idList.contains(subscriberId) ) {
>>> -                           idList.add(subscriberId);
>>> -                   }
>>> -           } else {
>>> -                   // send delayed notification
>>> -                   TimerTask notifyTask = subscriber.getNotify();
>>> -                   if ( notifyTask == null ) {
>>> -                           Domain.log("Starting notification delay:
>>>"+subscriber.getNotificationDelay(), LOG_CHANNEL, Logger.INFO);
>>> -                           notifyTask = new TimerTask() {
>>> -                                   public void run() {
>>> -
>>>notifySubscriber(subscriber.getCallback(),
>>>String.valueOf(subscriber.getId()));
>>> -                                           subscriber.setNotify(null);
>>> -                                   }
>>> -                           };
>>> -                           subscriber.setNotify(notifyTask);
>>> -                           timer.schedule(notifyTask,
>>>subscriber.getNotificationDelay()*1000);
>>> -                   }
>>> -           }
>>> +           final Subscriber subscriber = (Subscriber)i.next();
>>> +           
>>> +           // skip subscribers that has no callback (we can't 
>>> + notify
>>>them)
>>> +           if (!subscriber.hasCallback()) continue;
>>> +           
>>> +           if ( subscriber.getNotificationDelay() == 0 ) {
>>> +              // send notification without delay
>>> +              List idList =
>>>(List)subscriberEnumerations.get(subscriber.getCallback());
>>> +              if ( idList == null ) {
>>> +                 idList = new ArrayList();
>>> +                 
>>> + subscriberEnumerations.put(subscriber.getCallback(),
>>>idList);
>>> +              }
>>> +              Integer subscriberId = new Integer(subscriber.getId());
>>> +              if ( !idList.contains(subscriberId) ) {
>>> +                 idList.add(subscriberId);
>>> +              }
>>> +           } else {
>>> +              // send delayed notification
>>> +              TimerTask notifyTask = subscriber.getNotify();
>>> +              if ( notifyTask == null ) {
>>> +                 Domain.log("Starting notification delay:
>>>"+subscriber.getNotificationDelay(),
>>> +                       LOG_CHANNEL, Logger.INFO);
>>> +                 notifyTask = new TimerTask() {
>>> +                    public void run() {
>>> +                       notifySubscriber(subscriber.getCallback(), 
>>> +                             String.valueOf(subscriber.getId()));
>>> +                       subscriber.setNotify(null);
>>> +                    }
>>> +                 };
>>> +                 subscriber.setNotify(notifyTask);
>>> +                 timer.schedule(notifyTask,
>>>subscriber.getNotificationDelay()*1000);
>>> +              }
>>> +           }
>>>          }
>>>          for ( Iterator i =
>>>subscriberEnumerations.entrySet().iterator();
>>>i.hasNext(); ) {
>>>              Map.Entry entry = (Map.Entry)i.next();  @@ -185,14 
>>>+198,16 @@
>>>          }
>>>      }
>>>  
>>> -    private void notifySubscriber(String callback, String subscribers)
>>
>>{
>>
>>
>>> +    protected void notifySubscriber(String callback, String
>>
>>subscribers)
>>
>>
>>>{
>>>          if ( callback.startsWith(TCP_PROTOCOL) ) {
>>>              Domain.log("Notify subscribers with 
>>>adress='"+callback+"' via TCP with id's "+subscribers, LOG_CHANNEL,
>>
>>Logger.INFO);
>>
>>
>>>              NotifyMethod notifyMethod = new 
>>>NotifyMethod(callback.toString());
>>>              
>>>notifyMethod.addRequestHeader(H_SUBSCRIPTION_ID_RESPONSE,
>>>subscribers);
>>>              try {
>>>                  URL url = new URL(callback);
>>> -                int state = notifyMethod.execute(new HttpState(), new
>>>HttpConnection(url.getHost(), url.getPort()));
>>> +                notifyMethod.execute(
>>> +                      new HttpState(), new
>>
>>HttpConnection(url.getHost(),
>>
>>
>>> +                            url.getPort()!=-1 ? url.getPort() : 
>>> + 80));
>>>              } catch (IOException e) {
>>>                  Domain.log("Notification of subscriber 
>>>'"+callback.toString()+"' failed!");
>>>              }
>>> @@ -203,7 +218,8 @@
>>>                  String notification = "NOTIFY "+callback+"
>>>HTTP/1.1\nSubscription-id: "+subscribers;
>>>                  byte[] buf = notification.getBytes();
>>>                  InetAddress address = 
>>>InetAddress.getByName(url.getHost());
>>> -                DatagramPacket packet = new DatagramPacket(buf,
>>>buf.length, address, url.getPort());
>>> +                DatagramPacket packet = new DatagramPacket(
>>> +                      buf, buf.length, address, url.getPort()!=-1 ?
>>>url.getPort() : 80);
>>>                  socket.send(packet);
>>>              } catch (IOException e) {
>>>                  Domain.log("Notification of subscriber 
>>>'"+callback.toString()+"' failed!", LOG_CHANNEL, Logger.ERROR);
>>> 
>>> 
>>> 
>>> 1.9       +11 -7
>>>jakarta-slide/src/webdav/server/org/apache/slide/webdav/event/Subscri
>>>b
>>>er.jav
>>>a
>>> 
>>> Index: Subscriber.java
>>> ===================================================================
>>> RCS file:
>>>/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/eve
>>>n
>>>t/Subs
>>>criber.java,v
>>> retrieving revision 1.8
>>> retrieving revision 1.9
>>> diff -u -r1.8 -r1.9
>>> --- Subscriber.java 2 Jul 2004 12:04:28 -0000       1.8
>>> +++ Subscriber.java 13 Jul 2004 09:08:18 -0000      1.9
>>> @@ -90,9 +90,9 @@
>>>             // check if event matches notification-type
>>>             // see
>>>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wss/
>>>w
>>>ss/_we
>>>bdav_notification_type_header.asp
>>>             // for details
>>> -           if ( notificationType.equals(type) || 
>>> -                   ( type.equals(NEW_MEMBER) &&
>>
>>notificationType.equals(UPDATE)
>>
>>
>>>&& depth == 1 ) || 
>>> -                   ( type.equals(DELETE) &&
>>
>>notificationType.equals(UPDATE) &&
>>
>>>depth == 1 ) ){
>>> +           if ( type.equalsIgnoreCase(notificationType) || 
>>> +                   ( type.equalsIgnoreCase(NEW_MEMBER) &&
>>>notificationType.equalsIgnoreCase(UPDATE) && depth > 0 ) ||
>>> +                   ( type.equalsIgnoreCase(DELETE) &&
>>>notificationType.equalsIgnoreCase(UPDATE) && depth > 0 ) ){
>>>                     String eventUri = event.getUri();
>>>                     if ( eventUri != null && uri != null ) {
>>>                             if ( depth == 0 &&
>>
>>eventUri.equals(uri.toString()) ) return
>>
>>
>>>true;
>>> @@ -107,6 +107,10 @@
>>>          return false;
>>>      }
>>>  
>>> +    public boolean hasCallback() {
>>> +       return this.callback != null && this.callback.length() > 0;
>>> +    }
>>> +    
>>>      public String getCallback() {
>>>          return callback;
>>>      }
>>> 
>>> 
>>> 
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to