You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by co...@google.com on 2013/02/14 18:35:07 UTC

[red5phone] r78 committed - Code clean-up

Revision: 78
Author:   solomax666@gmail.com
Date:     Thu Feb 14 09:33:19 2013
Log:      Code clean-up
http://code.google.com/p/red5phone/source/detail?r=78

Modified:
  /branches/red5sip/src/java/org/red5/codecs/asao/CodecImpl.java
  /branches/red5sip/src/java/org/red5/sip/app/RTPStream.java
   
/branches/red5sip/src/java/org/red5/sip/app/RTPStreamMultiplexingSender.java
  /branches/red5sip/src/java/org/red5/sip/app/RTPStreamSender.java
  /branches/red5sip/src/java/org/red5/sip/app/SIPRegisterAgent.java
  /branches/red5sip/src/java/org/zoolu/sdp/MediaField.java
  /branches/red5sip/src/java/org/zoolu/sdp/SdpParser.java
  /branches/red5sip/src/java/org/zoolu/sip/address/SipURL.java
  /branches/red5sip/src/java/org/zoolu/sip/call/Call.java
  /branches/red5sip/src/java/org/zoolu/sip/dialog/Dialog.java
  /branches/red5sip/src/java/org/zoolu/sip/dialog/DialogInfo.java
  /branches/red5sip/src/java/org/zoolu/sip/dialog/ExtendedInviteDialog.java
  /branches/red5sip/src/java/org/zoolu/sip/dialog/InviteDialog.java
  /branches/red5sip/src/java/org/zoolu/sip/dialog/NotifierDialog.java
  /branches/red5sip/src/java/org/zoolu/sip/header/AllowEventsHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/AllowHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationHeader.java
   
/branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationInfoHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/AuthorizationHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/ListHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/MultipleHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/ParametricHeader.java
   
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthenticateHeader.java
   
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthorizationHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/header/WwwAuthenticateHeader.java
  /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessage.java
  /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageFactory.java
  /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageOtp.java
  /branches/red5sip/src/java/org/zoolu/sip/provider/SipParser.java
  /branches/red5sip/src/java/org/zoolu/sip/provider/SipProvider.java
   
/branches/red5sip/src/java/org/zoolu/sip/transaction/AckTransactionServer.java
   
/branches/red5sip/src/java/org/zoolu/sip/transaction/InviteTransactionServer.java
  /branches/red5sip/src/java/org/zoolu/sip/transaction/TransactionServer.java
  /branches/red5sip/src/java/org/zoolu/tools/AssertException.java
  /branches/red5sip/src/java/org/zoolu/tools/DateFormat.java
  /branches/red5sip/src/java/org/zoolu/tools/HashSet.java
  /branches/red5sip/src/java/org/zoolu/tools/Iterator.java
  /branches/red5sip/src/java/org/zoolu/tools/MD5OTP.java
  /branches/red5sip/src/java/org/zoolu/tools/Mangle.java
  /branches/red5sip/src/java/org/zoolu/tools/Parser.java

=======================================
--- /branches/red5sip/src/java/org/red5/codecs/asao/CodecImpl.java	Fri Feb  
10 07:37:46 2012
+++ /branches/red5sip/src/java/org/red5/codecs/asao/CodecImpl.java	Thu Feb  
14 09:33:19 2013
@@ -62,17 +62,13 @@
      }

      private static class NormalizedInt32 {
-
-        public final int value;
          public final int scale;

          public NormalizedInt32(final int val) {
              if (val == 0) {
-                value = val;
                  scale = 31;
                  return;
              } else if (val >= (1 << 30)) {
-                value = 0;
                  scale = 0;
                  return;
              }
@@ -93,7 +89,6 @@
                  } while (v > floor + (1 << 30));
              }

-            value = v;
              scale = s;
          }
      }
=======================================
--- /branches/red5sip/src/java/org/red5/sip/app/RTPStream.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/red5/sip/app/RTPStream.java	Thu Feb 14  
09:33:19 2013
@@ -87,7 +87,6 @@
      /** Fill the buffer of RtpPacket with necessary data. */
      private int fillRtpPacketBuffer(byte[] asaoBuffer) {

-        boolean isBufferFilled = false;
          int copyingSize = 0;
          int finalCopySize = 0;
          byte[] codedBuffer = new byte[  
sender.sipCodec.getOutgoingEncodedFrameSize() ];
@@ -155,7 +154,6 @@

              if (encodingOffset == encodingBuffer.length)
              {
-                isBufferFilled = true;
                  int encodedBytes = sender.sipCodec.pcmToCodec(  
encodingBuffer, codedBuffer );
                  if ( encodedBytes ==  
sender.sipCodec.getOutgoingEncodedFrameSize() ) {
                      BufferUtils.byteBufferIndexedCopy( packetBuffer,
=======================================
---  
/branches/red5sip/src/java/org/red5/sip/app/RTPStreamMultiplexingSender.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/red5/sip/app/RTPStreamMultiplexingSender.java	 
Thu Feb 14 09:33:19 2013
@@ -12,7 +12,6 @@
  import org.red5.codecs.SIPCodec;
  import org.red5.codecs.asao.ByteStream;
  import org.red5.codecs.asao.Decoder;
-import org.red5.codecs.asao.DecoderMap;
  import org.red5.logging.Red5LoggerFactory;
  import org.slf4j.Logger;

@@ -67,8 +66,6 @@

      private Decoder decoder;

-    private DecoderMap decoderMap;
-
      private byte[] packetBuffer;

      private RtpPacket rtpPacket;
@@ -219,12 +216,6 @@

          sendThread.start();
      }
-
-    private void fillDecodedBuffer(byte[] asaoBuffer, float[] tempBuffer) {
-        ByteStream audioStream = new ByteStream(asaoBuffer, 1,  
NELLYMOSER_ENCODED_PACKET_SIZE);
-        decoderMap = decoder.decode(decoderMap, audioStream.bytes, 0,  
tempBuffer, 0);
-        //ResampleUtils.normalize(tempBuffer, tempBuffer.length);
-    }

      public IMediaStream createStream(int streamId) {
          RTPStreamForMultiplex stream = new RTPStreamForMultiplex(streamId);
=======================================
--- /branches/red5sip/src/java/org/red5/sip/app/RTPStreamSender.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/red5/sip/app/RTPStreamSender.java	Thu  
Feb 14 09:33:19 2013
@@ -190,15 +190,6 @@

          println( "halt", "Terminated" );
      }
-
-
-    private void doRtpDelay() {
-        try {
-            Thread.sleep( sipCodec.getOutgoingPacketization() - 2 );
-        }
-        catch ( Exception e ) {
-        }
-    }


      private synchronized void rtpSocketSend(RtpPacket rtpPacket) {
=======================================
--- /branches/red5sip/src/java/org/red5/sip/app/SIPRegisterAgent.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/red5/sip/app/SIPRegisterAgent.java	Thu  
Feb 14 09:33:19 2013
@@ -2,7 +2,6 @@


  import java.util.Vector;
-import java.util.logging.Logger;

  import local.net.KeepAliveSip;

@@ -87,10 +86,6 @@
     /** Whether the thread is running. */
     boolean is_running;

-   /** Event logger. */
-    private static Logger log =  
Logger.getLogger(SIPRegisterAgent.class.getName());
-
-
     /** Number of registration attempts. */
     int attempts;

@@ -182,7 +177,6 @@
        req.setExpiresHeader(new ExpiresHeader(String.valueOf(expire_time)));
        if (next_nonce!=null)
        {  AuthorizationHeader ah=new AuthorizationHeader("Digest");
-         SipURL target_url=target.getAddress();
           ah.addUsernameParam(username);
           ah.addRealmParam(realm);
           ah.addNonceParam(next_nonce);
@@ -209,7 +203,6 @@
     /** Unregister all contacts with the registrar server */
     public void unregisterall()
     {  attempts=0;
-      NameAddress user=new NameAddress(target);
        Message  
req=MessageFactory.createRegisterRequest(sip_provider,target,target,null);
        //ContactHeader contact_star=new ContactHeader(); // contact is *
        //req.setContactHeader(contact_star);
@@ -316,7 +309,7 @@
           }
           else if (resp.hasContactHeader())
           // look for the max expires - should be the latest
-         {  Vector contacts=resp.getContacts().getHeaders();
+         {  Vector<Header> contacts=resp.getContacts().getHeaders();
              for (int i=0; i<contacts.size(); i++)
              {  int exp_i=(new  
ContactHeader((Header)contacts.elementAt(i))).getExpires();
              //   if (exp_i>0 && (expires==0 || exp_i<expires))  
expires=exp_i;
=======================================
--- /branches/red5sip/src/java/org/zoolu/sdp/MediaField.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sdp/MediaField.java	Thu Feb 14  
09:33:19 2013
@@ -52,7 +52,7 @@

     /** Creates a new MediaField.
       * @param formatlist a Vector of media formats (properly a Vector of  
Strings) */
-   public MediaField(String media, int port, int num, String transport,  
Vector formatlist)
+   public MediaField(String media, int port, int num, String transport,  
Vector<String> formatlist)
     {  super('m',null);
        value=media+" "+port;
        if (num>0) value+="/"+num;
@@ -88,8 +88,8 @@
     }

     /** Gets the media formats as a Vector of String. */
-   public Vector getFormatList()
-   {  Vector formatlist=new Vector();
+   public Vector<String> getFormatList()
+   {  Vector<String> formatlist=new Vector<String>();
        Parser par=new Parser(value);
        par.skipString().skipString().skipString();
        while (par.hasMore())
=======================================
--- /branches/red5sip/src/java/org/zoolu/sdp/SdpParser.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sdp/SdpParser.java	Thu Feb 14  
09:33:19 2013
@@ -154,7 +154,7 @@
        index=end;
        SdpParser par=new SdpParser(str.substring(begin,end));
        ConnectionField c=par.parseConnectionField();
-      Vector av=new Vector();
+      Vector<AttributeField> av=new Vector<AttributeField>();
        AttributeField a=par.parseAttributeField();
        while (a!=null)
        {  av.addElement(a);
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/address/SipURL.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/address/SipURL.java	Thu Feb 14  
09:33:19 2013
@@ -153,7 +153,7 @@

     /** Gets a String Vector of parameter names.
       * @return null if no parameter is present */
-   public Vector getParameters()
+   public Vector<String> getParameters()
     {  SipParser par=new SipParser(url);
        return ((SipParser)par.goTo(';').skipChar()).getParameters();
     }
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/call/Call.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/call/Call.java	Thu Feb 14  
09:33:19 2013
@@ -68,8 +68,6 @@
     /** The call listener (sipx.call.CallListener) */
     CallListener listener;

-   private boolean callWasUsed=false;
-
     /** Creates a new Call. */
     public Call(SipProvider sip_provider, String from_url, String  
contact_url, CallListener call_listener)
     {  this.sip_provider=sip_provider;
@@ -136,7 +134,6 @@
     /** Starts a new call, inviting a remote user (<i>callee</i>) */
     public void call(String callee, String from, String contact, String sdp)
     {  printLog("calling "+callee,LogLevel.HIGH);
-      callWasUsed=true;
        if (from==null) from=from_url;
        if (contact==null) contact=contact_url;
        if (sdp!=null) local_sdp=sdp;
@@ -149,7 +146,6 @@
     /** Starts a new call with the <i>invite</i> message request */
     public void call(Message invite)
     {  dialog=new InviteDialog(sip_provider,this);
-      callWasUsed=true;

        local_sdp=invite.getBody();
        if (local_sdp!=null)
@@ -181,7 +177,6 @@
     /** Accepts the incoming call */
     public void accept(String sdp)
     {  local_sdp=sdp;
-      callWasUsed=true;

       if (dialog!=null) dialog.accept(contact_url,local_sdp);
     }
@@ -222,7 +217,6 @@
     public void hangup(int status)
     {  if (dialog!=null && !dialog.isWaiting() && !dialog.isTerminated())
        {  // try dialog.refuse(), cancel(), and bye() methods..
-         callWasUsed=true;
           dialog.refuse(status,SipResponses.reasonOf(status));
           dialog.cancel();
           dialog.bye();
@@ -236,7 +230,6 @@
     public void onDlgInvite(InviteDialog d, NameAddress callee, NameAddress  
caller, String sdp, Message msg)
     {  if (d!=dialog) {  printLog("NOT the current dialog",LogLevel.HIGH);   
return;  }
        if (sdp!=null && sdp.length()!=0) remote_sdp=sdp;
-      callWasUsed=true;
        if (listener!=null)  
listener.onCallIncoming(this,callee,caller,sdp,msg);
     }

@@ -364,9 +357,6 @@
     /** When the dialog is finally closed */
     public void onDlgClose(InviteDialog d)
     {
-	   if (d==dialog)
-		   callWasUsed=true;
-
  	   if (listener!=null) listener.onCallClosed(this,null);
  	}

=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/dialog/Dialog.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/dialog/Dialog.java	Thu Feb 14  
09:33:19 2013
@@ -211,27 +211,27 @@
           {  route=msg.getRoutes().getValues();
           }
           if (side==UAC && msg.isResponse() && msg.hasRecordRouteHeader())
-         {  Vector rr=msg.getRecordRoutes().getHeaders();
+         {  Vector<Header> rr=msg.getRecordRoutes().getHeaders();
              int size=rr.size();
-            route=new Vector(size);
+            route=new Vector<String>(size);
              for (int i=0; i<size; i++)
-               route.insertElementAt((new  
RecordRouteHeader((Header)rr.elementAt(size-1-i))).getNameAddress(),i);
+               route.insertElementAt((new  
RecordRouteHeader((Header)rr.elementAt(size-1-i))).getNameAddress().toString(),i);
           }
        }
        else
        {  if (msg.isRequest() && msg.hasRouteHeader() && route==null)
-         {  Vector reverse_route=msg.getRoutes().getValues();
+         {  Vector<String> reverse_route=msg.getRoutes().getValues();
              int size=reverse_route.size();
-            route=new Vector(size);
+            route=new Vector<String>(size);
              for (int i=0; i<size; i++)
                 route.insertElementAt(reverse_route.elementAt(size-1-i),i);
           }
           if (msg.isRequest() && msg.hasRecordRouteHeader())
-         {  Vector rr=msg.getRecordRoutes().getHeaders();
+         {  Vector<Header> rr=msg.getRecordRoutes().getHeaders();
              int size=rr.size();
-            route=new Vector(size);
+            route=new Vector<String>(size);
              for (int i=0; i<size; i++)
-               route.insertElementAt((new  
RecordRouteHeader((Header)rr.elementAt(i))).getNameAddress(),i);
+               route.insertElementAt((new  
RecordRouteHeader((Header)rr.elementAt(i))).getNameAddress().toString(),i);
           }
        }

=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/dialog/DialogInfo.java	Thu Feb  
14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/dialog/DialogInfo.java	Thu Feb  
14 09:33:19 2013
@@ -76,7 +76,7 @@
     long remote_cseq;

     /** Route set (Vector of NameAddresses) */
-   Vector route;
+   Vector<String> route;


     // **************************** Costructors ***************************
@@ -156,8 +156,8 @@


     /** Sets the route set */
-   public void setRoute(Vector r) { route=r; }
+   public void setRoute(Vector<String> r) { route=r; }
     /** Gets the route set */
-   public Vector getRoute() { return route; }
+   public Vector<String> getRoute() { return route; }

  }
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/dialog/ExtendedInviteDialog.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/dialog/ExtendedInviteDialog.java	 
Thu Feb 14 09:33:19 2013
@@ -41,6 +41,7 @@
  import org.zoolu.sip.provider.SipStack;
  import org.zoolu.sip.provider.TransactionIdentifier;
  import org.zoolu.sip.transaction.AckTransactionClient;
+import org.zoolu.sip.transaction.Transaction;
  import org.zoolu.sip.transaction.TransactionClient;
  import org.zoolu.sip.transaction.TransactionServer;
  import org.zoolu.tools.LogLevel;
@@ -62,7 +63,7 @@
     ExtendedInviteDialogListener dialog_listener;

     /** Acive transactions. */
-   Hashtable transactions;
+   Hashtable<TransactionIdentifier, Transaction> transactions;


     /** User name. */
@@ -104,7 +105,7 @@
     /** Inits the ExtendedInviteDialog. */
     private void init(ExtendedInviteDialogListener listener)
     {  this.dialog_listener=listener;
-      this.transactions=new Hashtable();
+      this.transactions=new Hashtable<TransactionIdentifier,  
Transaction>();
        this.username=null;
        this.realm=null;
        this.passwd=null;
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/dialog/InviteDialog.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/dialog/InviteDialog.java	Thu  
Feb 14 09:33:19 2013
@@ -632,7 +632,7 @@
  		 ack_tc.request();


-         changeStatus(this.D_CALL);
+         changeStatus(D_CALL);
            
listener.onDlgByeFailureResponse(this,code,statusline.getReason(),msg);
        }
     }
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/dialog/NotifierDialog.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/dialog/NotifierDialog.java	Thu  
Feb 14 09:33:19 2013
@@ -332,7 +332,7 @@
        }
        // else
        if(msg.isRequest() && msg.isSubscribe())
-      {  if (statusIs(this.D_WAITING))
+      {  if (statusIs(D_WAITING))
           {  // the first SUBSCRIBE request
              changeStatus(D_SUBSCRIBED);
              sip_provider.removeSipProviderListener(new  
MethodIdentifier(SipMethods.SUBSCRIBE));
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/header/AllowEventsHeader.java	 
Fri Feb 10 07:37:46 2012
+++ /branches/red5sip/src/java/org/zoolu/sip/header/AllowEventsHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -39,12 +39,12 @@
     }

     /** Gets list of events (as Vector of Strings). */
-   public Vector getEvents()
+   public Vector<String> getEvents()
     {  return super.getElements();
     }

     /** Sets the list of events. */
-   public void setEvents(Vector events)
+   public void setEvents(Vector<String> events)
     {  super.setElements(events);
     }

=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/header/AllowHeader.java	Fri  
Feb 10 07:37:46 2012
+++ /branches/red5sip/src/java/org/zoolu/sip/header/AllowHeader.java	Thu  
Feb 14 09:33:19 2013
@@ -39,12 +39,12 @@
     }

     /** Gets list of methods (as Vector of Strings). */
-   public Vector getMethods()
+   public Vector<String> getMethods()
     {  return super.getElements();
     }

     /** Sets the list of methods. */
-   public void setMethod(Vector methods)
+   public void setMethod(Vector<String> methods)
     {  super.setElements(methods);
     }

=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationHeader.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -66,10 +66,10 @@
     /** Creates a new AuthenticationHeader.
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_params</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public AuthenticationHeader(String hname, String auth_scheme, Vector  
auth_params)
+   public AuthenticationHeader(String hname, String auth_scheme,  
Vector<String> auth_params)
     {  super(hname,auth_scheme);
-      if (auth_params.size()>0)  
value+=" "+(String)auth_params.elementAt(0);
-      for (int i=1; i<auth_params.size(); i++)  
value+=","+LWS_SEPARATOR+(String)auth_params.elementAt(i);
+      if (auth_params.size()>0) value+=" "+auth_params.elementAt(0);
+      for (int i=1; i<auth_params.size(); i++)  
value+=","+LWS_SEPARATOR+auth_params.elementAt(i);
     }


@@ -135,12 +135,12 @@

     /** Gets a String Vector of parameter names.
       * @returns a Vector of String. */
-   public Vector getParameters()
+   public Vector<String> getParameters()
     {  char[] name_separators={'=', ' ', '\t'};
        SipParser par=new SipParser(value);
        par.skipString(); // skip the auth_scheme
        par.skipWSPCRLF();
-      Vector names=new Vector();
+      Vector<String> names=new Vector<String>();
        while (par.hasMore())
        {  String name=par.getWord(name_separators);
           names.addElement(name);
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationInfoHeader.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthenticationInfoHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -50,7 +50,7 @@
     /** Creates a new AuthenticationInfoHeader
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_param</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public AuthenticationInfoHeader(Vector auth_params)
+   public AuthenticationInfoHeader(Vector<String> auth_params)
     {  super(SipHeaders.Authentication_Info,"",auth_params);
     }

@@ -90,12 +90,12 @@

     /** Gets a String Vector of parameter names.
       * @returns a Vector of String. */
-   public Vector getParameters()
+   public Vector<String> getParameters()
     {  char[] name_separators={'=', ' ', '\t'};
        SipParser par=new SipParser(value);
        //par.skipString(); // skip the auth_scheme
        par.skipWSPCRLF();
-      Vector names=new Vector();
+      Vector<String> names=new Vector<String>();
        while (par.hasMore())
        {  String name=par.getWord(name_separators);
           names.addElement(name);
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthorizationHeader.java	 
Fri Feb 10 07:37:46 2012
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/AuthorizationHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -43,7 +43,7 @@
     /** Creates a new AuthorizationHeader
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_param</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public AuthorizationHeader(String auth_scheme, Vector auth_params)
+   public AuthorizationHeader(String auth_scheme, Vector<String>  
auth_params)
     {  super(SipHeaders.Authorization,auth_scheme,auth_params);
     }
  }
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/header/ListHeader.java	Thu Feb  
14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/header/ListHeader.java	Thu Feb  
14 09:33:19 2013
@@ -41,8 +41,8 @@
     }

     /** Gets list of tokens (as Vector of Strings). */
-   public Vector getElements()
-   {  Vector elements=new Vector();
+   public Vector<String> getElements()
+   {  Vector<String> elements=new Vector<String>();
        Parser par=new Parser(value);
        char[] delim={ ',' };
        while (par.hasMore())
@@ -54,11 +54,11 @@
     }

     /** Sets the list of tokens. */
-   public void setElements(Vector elements)
+   public void setElements(Vector<String> elements)
     {  StringBuffer sb=new StringBuffer();
        for (int i=0; i<elements.size(); i++)
        {  if (i>0) sb.append(", ");
-         sb.append((String)elements.elementAt(i));
+         sb.append(elements.elementAt(i));
        }
        value=sb.toString();
     }
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/header/MultipleHeader.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/header/MultipleHeader.java	Thu  
Feb 14 09:33:19 2013
@@ -37,34 +37,34 @@
     /** The header type */
     protected String name;
     /** Vector of header values (as Strings) */
-   protected Vector values;
+   protected Vector<String> values;
     /** whether to be rapresented with a comma-separated(compact) header  
line or multiple header lines */
     protected boolean compact;

     protected MultipleHeader()
     {  name=null;
-      values=new Vector();
+      values=new Vector<String>();
        compact=true;
     }

     /** Costructs a MultipleHeader named <i>hname</i> */
     public MultipleHeader(String hname)
     {  name=hname;
-      values=new Vector();
+      values=new Vector<String>();
        compact=true;
     }

     /** Costructs a MultipleHeader named <i>hname</i> from a Vector of  
header values (as Strings). */
-   public MultipleHeader(String hname, Vector hvalues)
+   public MultipleHeader(String hname, Vector<String> hvalues)
     {  name=hname;
        values=hvalues;
        compact=true;
     }

     /** Costructs a MultipleHeader from a Vector of Headers. Each Header  
can be a single header or a multiple-comma-separated header. */
-   public MultipleHeader(Vector headers)
-   {  name=((Header)headers.elementAt(0)).getName();
-      values=new Vector(headers.size());
+   public MultipleHeader(Vector<Header> headers)
+   {  name=headers.elementAt(0).getName();
+      values=new Vector<String>(headers.size());
        for (int i=0; i<headers.size(); i++)
        {  addBottom((Header)headers.elementAt(i));
        }
@@ -74,7 +74,7 @@
     /** Costructs a MultipleHeader from a comma-separated header */
     public MultipleHeader(Header hd)
     {  name=hd.getName();
-      values=new Vector();
+      values=new Vector<String>();
        SipParser par=new SipParser(hd.getValue());
        int comma=par.indexOfCommaHeaderSeparator();
        while (comma>=0)
@@ -137,30 +137,30 @@
     }

     /** Gets a vector of header values */
-   public Vector getValues()
+   public Vector<String> getValues()
     {  return values;
     }

     /** Sets header values */
-   public void setValues(Vector v)
+   public void setValues(Vector<String> v)
     {  values=v;
     }

     /** Gets a vector of headers */
-   public Vector getHeaders()
-   {  Vector v=new Vector(values.size());
+   public Vector<Header> getHeaders()
+   {  Vector<Header> v=new Vector<Header>(values.size());
        for (int i=0; i<values.size(); i++)
-      {  Header h=new Header(name,(String)values.elementAt(i));
+      {  Header h=new Header(name,values.elementAt(i));
           v.addElement(h);
        }
        return v;
     }

     /** Sets header values */
-   public void setHeaders(Vector hdv)
-   {  values=new Vector(hdv.size());
+   public void setHeaders(Vector<Header> hdv)
+   {  values=new Vector<String>(hdv.size());
        for (int i=0; i<hdv.size(); i++)
-      {  values.addElement(((Header)hdv.elementAt(i)).getValue());
+      {  values.addElement(hdv.elementAt(i).getValue());
        }
     }

=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/header/ParametricHeader.java	 
Thu Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/header/ParametricHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -73,9 +73,9 @@

     /** Gets a String Vector of parameter names.
       * @returns a Vector of String */
-   public Vector getParameterNames()
+   public Vector<String> getParameterNames()
     {  int index=indexOfFirstSemi();
-      if (index<0) return new Vector();
+      if (index<0) return new Vector<String>();
        return (new SipParser((new  
Parser(getValue(),index)).skipChar().skipWSP())).getParameters();
     }

=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthenticateHeader.java	 
Fri Feb 10 07:37:46 2012
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthenticateHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -44,7 +44,7 @@
     /** Creates a new ProxyAuthenticateHeader
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_param</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public ProxyAuthenticateHeader(String auth_scheme, Vector auth_params)
+   public ProxyAuthenticateHeader(String auth_scheme, Vector<String>  
auth_params)
     {  super(auth_scheme,auth_params);
        name=SipHeaders.Proxy_Authenticate;
     }
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthorizationHeader.java	 
Fri Feb 10 07:37:46 2012
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/ProxyAuthorizationHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -44,7 +44,7 @@
     /** Creates a new ProxyAuthorizationHeader
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_param</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public ProxyAuthorizationHeader(String auth_scheme, Vector auth_params)
+   public ProxyAuthorizationHeader(String auth_scheme, Vector<String>  
auth_params)
     {  super(auth_scheme,auth_params);
        name=SipHeaders.Proxy_Authorization;
     }
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/header/WwwAuthenticateHeader.java	 
Fri Feb 10 07:37:46 2012
+++  
/branches/red5sip/src/java/org/zoolu/sip/header/WwwAuthenticateHeader.java	 
Thu Feb 14 09:33:19 2013
@@ -43,7 +43,7 @@
     /** Creates a new WwwAuthenticateHeader
       * specifing the <i>auth_scheme</i> and the vector of authentication  
parameters.
       * <p> <i>auth_param</i> is a vector of String of the form  
<i>parm_name</i> "=" <i>parm_value</i> */
-   public WwwAuthenticateHeader(String auth_scheme, Vector auth_params)
+   public WwwAuthenticateHeader(String auth_scheme, Vector<String>  
auth_params)
     {  super(SipHeaders.WWW_Authenticate,auth_scheme,auth_params);
     }
  }
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessage.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessage.java	Thu  
Feb 14 09:33:19 2013
@@ -420,8 +420,8 @@
     }

     /** Gets a Vector of all Headers of specified name (Returns empty  
Vector if no Header is found) */
-   public Vector getHeaders(String hname)
-   {  Vector v=new Vector();
+   public Vector<Header> getHeaders(String hname)
+   {  Vector<Header> v=new Vector<Header>();
        SipParser par=new SipParser(message);
        Header h;
        while ((h=par.getHeader(hname))!=null)
@@ -437,9 +437,9 @@
     }

     /** Adds a Vector of Headers at the top/bottom */
-   public void addHeaders(Vector headers, boolean top)
+   public void addHeaders(Vector<Header> headers, boolean top)
     {  String str="";
-      for (int i=0; i<headers.size(); i++)  
str+=((Header)headers.elementAt(i)).toString();
+      for (int i=0; i<headers.size(); i++)  
str+=headers.elementAt(i).toString();
        addHeaders(str,top);
     }

@@ -692,7 +692,7 @@
     }
     /** Gets a MultipleHeader of Contacts */
     public MultipleHeader getContacts()
-   {  Vector v=getHeaders(SipHeaders.Contact);
+   {  Vector<Header> v=getHeaders(SipHeaders.Contact);
        if (v.size()>0) return new MultipleHeader(v);
        else return null;
     }
@@ -735,7 +735,7 @@
     }
     /** Gets all Vias */
     public MultipleHeader getVias()
-   {  Vector v=getHeaders(SipHeaders.Via);
+   {  Vector<Header> v=getHeaders(SipHeaders.Via);
        if (v.size()>0) return new MultipleHeader(v);
        else return null;
     }
@@ -775,7 +775,7 @@
     }
     /** Gets the whole route */
     public MultipleHeader getRoutes()
-   {  Vector v=getHeaders(SipHeaders.Route);
+   {  Vector<Header> v=getHeaders(SipHeaders.Route);
        if (v.size()>0) return new MultipleHeader(v);
        else return null;
     }
@@ -820,7 +820,7 @@
     }
     /** Gets the whole RecordRoute headers */
     public MultipleHeader getRecordRoutes()
-   {  Vector v=getHeaders(SipHeaders.Record_Route);
+   {  Vector<Header> v=getHeaders(SipHeaders.Record_Route);
        if (v.size()>0) return new MultipleHeader(v);
        else return null;
     }
@@ -1251,7 +1251,6 @@
     public void rfc2543RouteAdapt()
     {  if (hasRouteHeader())
        {  MultipleHeader mrh=getRoutes();
-         RouteHeader rh=new RouteHeader(mrh.getTop());
           if (!(new  
RouteHeader(mrh.getTop())).getNameAddress().getAddress().hasLr())
           {  // re-format the message according to the RFC2543 Strict Route  
rule
              SipURL next_hop=(new  
RouteHeader(mrh.getTop())).getNameAddress().getAddress();
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageFactory.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageFactory.java	 
Thu Feb 14 09:33:19 2013
@@ -200,7 +200,7 @@
        String remote_tag=dialog.getRemoteTag();
        //String branch=SipStack.pickBranch();
        Message  
req=createRequest(method,request_uri,to,from,contact,proto,via_addr,host_port,rport,call_id,cseq,local_tag,remote_tag,null,body);
-      Vector route=dialog.getRoute();
+      Vector<String> route=dialog.getRoute();
        if (route!=null && route.size()>0)
           req.addRoutes(new MultipleHeader(SipHeaders.Route,route));
        req.rfc2543RouteAdapt();
@@ -237,7 +237,7 @@
  	      String remote_tag=dialog.getRemoteTag();
  	      //String branch=SipStack.pickBranch();
  	      Message  
req=createRequest(method,request_uri,to,from,contact,proto,via_addr,host_port,rport,call_id,cseq,local_tag,remote_tag,null,body);
-	      Vector route=dialog.getRoute();
+	      Vector<String> route=dialog.getRoute();
  	      if (route!=null && route.size()>0)
  	         req.addRoutes(new MultipleHeader(SipHeaders.Route,route));
  	      req.rfc2543RouteAdapt();
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageOtp.java	 
Thu Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/message/BaseMessageOtp.java	 
Thu Feb 14 09:33:19 2013
@@ -47,7 +47,7 @@
     protected RequestLine request_line;
     protected StatusLine status_line;

-   protected Vector headers;
+   protected Vector<Header> headers;
     protected String body;


@@ -62,7 +62,7 @@
     /** Costructs a new empty Message */
     public BaseMessageOtp()
     {  init();
-      headers=new Vector();
+      headers=new Vector<Header>();
     }

     /** Costructs a new Message */
@@ -93,7 +93,7 @@
        //packet_length=msg.packet_length;
        request_line=msg.request_line;
        status_line=msg.status_line;
-      headers=new Vector();
+      headers=new Vector<Header>();
        for (int i=0; i<msg.headers.size(); i++)  
headers.addElement(msg.headers.elementAt(i));
        body=msg.body;
     }
@@ -110,7 +110,7 @@
        if (version.equalsIgnoreCase("SIP/"))  
status_line=par.getStatusLine();
        else request_line=par.getRequestLine();

-      headers=new Vector();
+      headers=new Vector<Header>();
        Header h=par.getHeader();
        while (h!=null)
        {  headers.addElement(h);
@@ -235,8 +235,8 @@
     }

     /** Gets a Vector of all Headers of specified name (Returns empty  
Vector if no Header is found) */
-   public Vector getHeaders(String hname)
-   {  Vector v=new Vector();
+   public Vector<Header> getHeaders(String hname)
+   {  Vector<Header> v=new Vector<Header>();
        for (int i=0; i<headers.size(); i++)
        {  Header h=(Header)headers.elementAt(i);
           if (hname.equalsIgnoreCase(h.getName())) v.addElement(h);
@@ -251,7 +251,7 @@
     }

     /** Adds a Vector of Headers at the top/bottom */
-   public void addHeaders(Vector headers, boolean top)
+   public void addHeaders(Vector<Header> headers, boolean top)
     {  for (int i=0; i<headers.size(); i++)
           if (top) this.headers.insertElementAt(headers.elementAt(i),i);
           else this.headers.addElement(headers.elementAt(i));
@@ -278,7 +278,7 @@
        else
        {  int index=indexOfHeader(refer_hname);
           if (index<0) index=0;
-         Vector hs=mheader.getHeaders();
+         Vector<Header> hs=mheader.getHeaders();
           for (int k=0; k<hs.size(); k++)  
headers.insertElementAt(hs.elementAt(k),index+k);
        }
     }
@@ -298,7 +298,7 @@
        else
        {  int index=indexOfHeader(refer_hname);
           if (index>=0) index++; else index=headers.size();
-         Vector hs=mheader.getHeaders();
+         Vector<Header> hs=mheader.getHeaders();
           for (int k=0; k<hs.size(); k++)  
headers.insertElementAt(hs.elementAt(k),index+k);
        }
     }
@@ -365,7 +365,7 @@
              if (hname.equalsIgnoreCase(h.getName()))
              {  if (first)
                 {  // replace it
-                  Vector hs=mheader.getHeaders();
+                  Vector<Header> hs=mheader.getHeaders();
                    for (int k=0; k<hs.size(); k++)  
headers.insertElementAt(hs.elementAt(k),i+k);
                    first=false;
                    i+=hs.size()-1;
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/provider/SipParser.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/provider/SipParser.java	Thu  
Feb 14 09:33:19 2013
@@ -333,9 +333,9 @@

     /** Gets a String Vector of parameter names.
       * <BR> Returns null if no parameter is present */
-   public Vector getParameters()
+   public Vector<String> getParameters()
     {  String name;
-      Vector params=new Vector();
+      Vector<String> params=new Vector<String>();
        while (hasMore())
        {  name=getWord(param_separators);
           if (name.length()>0) params.addElement(new String(name));
=======================================
--- /branches/red5sip/src/java/org/zoolu/sip/provider/SipProvider.java	Thu  
Feb 14 08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/sip/provider/SipProvider.java	Thu  
Feb 14 09:33:19 2013
@@ -238,7 +238,7 @@


     /** List of exception listeners */
-   HashSet exception_listeners=null;
+   HashSet<SipProviderExceptionListener> exception_listeners=null;

     /** UDP transport */
     UdpTransport udp=null;
@@ -323,7 +323,7 @@
        rport=SipStack.use_rport;
        force_rport=SipStack.force_rport;

-      exception_listeners=new HashSet();
+      exception_listeners=new HashSet<SipProviderExceptionListener>();
        //listeners=new Hashtable();
        Hashtable<Identifier, String> dupeKeys=new Hashtable<Identifier,  
String>();
  	   dupeKeys.put(INVITE, "");
@@ -414,7 +414,7 @@
        stopTrasport();
        //listeners=new Hashtable();
     listeners=new SpcHashtable(null);
-   exception_listeners=new HashSet();
+   exception_listeners=new HashSet<SipProviderExceptionListener>();
     }


@@ -1189,8 +1189,8 @@
           printLog("reached the maximum number of connection: removing the  
older unused connection",LogLevel.HIGH);
           long older_time=System.currentTimeMillis();
           ConnectionIdentifier older_id=null;
-         for (Enumeration e=connections.elements(); e.hasMoreElements(); )
-         {  ConnectedTransport co=(ConnectedTransport)e.nextElement();
+         for (Enumeration<ConnectedTransport> e=connections.elements();  
e.hasMoreElements(); )
+         {  ConnectedTransport co=e.nextElement();
              if (co.getLastTimeMillis()<older_time) older_id=new  
ConnectionIdentifier(co);
           }
           if (older_id!=null) removeConnection(older_id);
@@ -1200,8 +1200,8 @@
        conn=(ConnectedTransport)connections.get(conn_id);
        // DEBUG log:
        printLog("active connenctions:",LogLevel.LOW);
-      for (Enumeration e=connections.keys(); e.hasMoreElements(); )
-      {  ConnectionIdentifier id=(ConnectionIdentifier)e.nextElement();
+      for (Enumeration<ConnectionIdentifier> e=connections.keys();  
e.hasMoreElements(); )
+      {  ConnectionIdentifier id=e.nextElement();
            
printLog("conn-id="+id+": "+((ConnectedTransport)connections.get(id)).toString(),LogLevel.LOW);
        }
     }
@@ -1215,8 +1215,8 @@
           connections.remove(conn_id);
           // DEBUG log:
           printLog("active connenctions:",LogLevel.LOW);
-         for (Enumeration e=connections.elements(); e.hasMoreElements(); )
-         {  ConnectedTransport co=(ConnectedTransport)e.nextElement();
+         for (Enumeration<ConnectedTransport> e=connections.elements();  
e.hasMoreElements(); )
+         {  ConnectedTransport co=e.nextElement();
              printLog("conn "+co.toString(),LogLevel.LOW);
           }
        }
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/transaction/AckTransactionServer.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/transaction/AckTransactionServer.java	 
Thu Feb 14 09:33:19 2013
@@ -72,7 +72,7 @@
     }

     /** Initializes timeouts and listener. */
-   void init(AckTransactionServerListener listener, TransactionIdentifier  
transaction_id, ConnectionIdentifier connaction_id)
+   void init(AckTransactionServerListener listener, TransactionIdentifier  
transaction_id, ConnectionIdentifier connection_id)
     {  this.transaction_listener=listener;
        this.transaction_id=transaction_id;
        this.connection_id=connection_id;
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/transaction/InviteTransactionServer.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/transaction/InviteTransactionServer.java	 
Thu Feb 14 09:33:19 2013
@@ -107,7 +107,7 @@
     }

     /** Initializes timeouts and listener. */
-   void init(InviteTransactionServerListener listener,  
TransactionIdentifier transaction_id, ConnectionIdentifier connaction_id)
+   void init(InviteTransactionServerListener listener,  
TransactionIdentifier transaction_id, ConnectionIdentifier connection_id)
     {  this.transaction_listener=listener;
        this.transaction_id=transaction_id;
        this.connection_id=connection_id;
=======================================
---  
/branches/red5sip/src/java/org/zoolu/sip/transaction/TransactionServer.java	 
Thu Feb 14 08:34:08 2013
+++  
/branches/red5sip/src/java/org/zoolu/sip/transaction/TransactionServer.java	 
Thu Feb 14 09:33:19 2013
@@ -76,7 +76,7 @@
     }

     /** Initializes timeouts and listener. */
-   void init(TransactionServerListener listener, TransactionIdentifier  
transaction_id, ConnectionIdentifier connaction_id)
+   void init(TransactionServerListener listener, TransactionIdentifier  
transaction_id, ConnectionIdentifier connection_id)
     {  this.transaction_listener=listener;
        this.transaction_id=transaction_id;
        this.connection_id=connection_id;
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/AssertException.java	Fri Feb  
10 07:37:46 2012
+++ /branches/red5sip/src/java/org/zoolu/tools/AssertException.java	Thu Feb  
14 09:33:19 2013
@@ -31,7 +31,9 @@
    */
  public class AssertException extends java.lang.RuntimeException
  {
-   /** Costructs a new AssertException. */
+	private static final long serialVersionUID = -2461611232188116686L;
+
+/** Costructs a new AssertException. */
     public AssertException(String msg)
     {  super(msg);
     }
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/DateFormat.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/tools/DateFormat.java	Thu Feb 14  
09:33:19 2013
@@ -84,7 +84,6 @@
     public static String formatYYYYMMDD(Date date)
     {  Calendar cal=Calendar.getInstance();
        cal.setTime(date);
-      String weekday=WEEKDAYS[cal.get(Calendar.DAY_OF_WEEK)-1];
        //String month=MONTHS[cal.get(Calendar.MONTH)];
        String year=Integer.toString(cal.get(Calendar.YEAR));
        String day=Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
@@ -145,7 +144,6 @@
        Calendar cal=Calendar.getInstance();
        char[] delim={ ' ', ',', ':' };
        Parser par=new Parser(str,index);
-      String EEE=par.getString(); // day of the week
        int day=par.getInt(); // day of the month
        String MMM=par.getString(); // month
        int month=0;
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/HashSet.java	Fri Feb 10  
07:37:46 2012
+++ /branches/red5sip/src/java/org/zoolu/tools/HashSet.java	Thu Feb 14  
09:33:19 2013
@@ -29,12 +29,12 @@

  /** HashSet
    */
-public class HashSet
+public class HashSet<T>
  {
-   Vector set;
+   Vector<T> set;

     public HashSet()
-   {  set=new Vector();
+   {  set=new Vector<T>();
     }

     public int size()
@@ -45,21 +45,21 @@
     {  return set.isEmpty();
     }

-   public boolean add(Object o)
+   public boolean add(T o)
     {  set.addElement(o);
        return true;
     }

-   public boolean remove(Object o)
+   public boolean remove(T o)
     {  return set.removeElement(o);
     }

-   public boolean contains(Object o)
+   public boolean contains(T o)
     {  return set.contains(o);
     }

-   public Iterator iterator()
-   {  return new Iterator(set);
+   public Iterator<T> iterator()
+   {  return new Iterator<T>(set);
     }
  }

=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/Iterator.java	Fri Feb 10  
07:37:46 2012
+++ /branches/red5sip/src/java/org/zoolu/tools/Iterator.java	Thu Feb 14  
09:33:19 2013
@@ -29,12 +29,12 @@

  /** Iterator
    */
-public class Iterator
+public class Iterator<T>
  {
-   Vector v;
+   Vector<T> v;
     int i;

-   public Iterator(Vector vector)
+   public Iterator(Vector<T> vector)
     {  v=vector;
        i=-1;
     }
@@ -43,7 +43,7 @@
     {  return i<(v.size()-1);
     }

-   public Object next()
+   public T next()
     {  if (++i<v.size()) return v.elementAt(i);
        else return null;
     }
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/MD5OTP.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/tools/MD5OTP.java	Thu Feb 14  
09:33:19 2013
@@ -78,8 +78,8 @@
     }

     /** Inits the MD5OTP algorithm */
-   private void init(int size, byte[] skey, byte[] iv)
-   {  this.size=size;
+   private void init(int _size, byte[] skey, byte[] iv)
+   {  size=_size;
        if (iv==null) { iv=new byte[size]; for (int i=0; i<size; i++)  
iv[i]=0; }
        this.skey=skey;
        //skey=hash(cat(key,iv));
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/Mangle.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/tools/Mangle.java	Thu Feb 14  
09:33:19 2013
@@ -56,52 +56,6 @@
        wmask*=wmask;
        return (long)(((long)n+wmask)%wmask);
     }
-
-   /** Rotates w left n bits. */
-   private static int rotateLeft(int w, int n)
-   {  return (w << n) | (w >>> (32-n));
-   }
-
-   /** Rotates w right n bits. */
-   private static int rotateRight(int w, int n)
-   {  return (w >>> n) | (w << (32-n));
-   }
-
-   /** Rotates an array of int (words), shifting 1 word left. */
-   private static int[] rotateLeft(int[] w)
-   {  int len=w.length;
-      int w1=w[len-1];
-      for (int i=len-1; i>1; i--) w[i]=w[i-1];
-      w[0]=w1;
-      return w;
-   }
-
-   /** Rotates an array of int (words), shifting 1 word right. */
-   private static int[] rotateRight(int[] w)
-   {  int len=w.length;
-      int w0=w[0];
-      for (int i=1; i<len; i++) w[i-1]=w[i];
-      w[len-1]=w0;
-      return w;
-   }
-
-   /** Rotates an array of bytes, shifting 1 byte left. */
-   private static byte[] rotateLeft(byte[] b)
-   {  int len=b.length;
-      byte b1=b[len-1];
-      for (int i=len-1; i>1; i--) b[i]=b[i-1];
-      b[0]=b1;
-      return b;
-   }
-
-   /** Rotates an array of bytes, shifting 1 byte right. */
-   private static byte[] rotateRight(byte[] b)
-   {  int len=b.length;
-      byte b0=b[0];
-      for (int i=1; i<len; i++) b[i-1]=b[i];
-      b[len-1]=b0;
-      return b;
-   }

     /** Returns a copy of an array of bytes <i>b</i> */
     public static byte[] clone(byte[] b) { return getBytes(b,0,b.length); }
@@ -180,7 +134,7 @@
     {  int begin=0, end;
        byte[] b=new byte[4];
        for (int i=0; i<4; i++)
-      {  String num;
+      {
           if (i<3)
           {  end=addr.indexOf('.',begin);
              b[i]=(byte)Integer.parseInt(addr.substring(begin,end));
=======================================
--- /branches/red5sip/src/java/org/zoolu/tools/Parser.java	Thu Feb 14  
08:34:08 2013
+++ /branches/red5sip/src/java/org/zoolu/tools/Parser.java	Thu Feb 14  
09:33:19 2013
@@ -380,27 +380,27 @@
     //********************** Vectors/arrays **********************

     /** Gets all string of chars separated by any char belonging to  
<i>separators</i> */
-   public Vector getWordVector(char[] separators)
-   {  Vector list=new Vector();
+   public Vector<String> getWordVector(char[] separators)
+   {  Vector<String> list=new Vector<String>();
        do { list.addElement(getWord(separators)); } while (hasMore());
        return list;
     }
     /** Gets all string of chars separated by any char belonging to  
<i>separators</i> */
     public String[] getWordArray(char[] separators)
-   {  Vector list=getWordVector(separators);
+   {  Vector<String> list=getWordVector(separators);
        String[] array=new String[list.size()];
        for (int i=0; i<list.size(); i++) array[i]=(String)list.elementAt(i);
        return array;
     }
     /** Gets all strings */
-   public Vector getStringVector()
-   {  Vector list=new Vector();
+   public Vector<String> getStringVector()
+   {  Vector<String> list=new Vector<String>();
        do { list.addElement(getString()); } while (hasMore());
        return list;
     }
     /** Gets all string */
     public String[] getStringArray()
-   {  Vector list=getStringVector();
+   {  Vector<String> list=getStringVector();
        String[] array=new String[list.size()];
        for (int i=0; i<list.size(); i++) array[i]=(String)list.elementAt(i);
        return array;