PovUrlsSet.java

Go to the documentation of this file.
00001 package org.net2map.pov.documentsManager;
00002 
00003 import java.util.Hashtable;
00004 //import java.io.FileWriter;
00005 import java.util.Enumeration;
00006 
00007 public class PovUrlsSet extends Hashtable
00008 {
00009     static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger( PovUrlsSet.class.getName() );
00010     //static String sFileName;
00011     
00012     public PovUrlsSet()
00013     {
00014         logger.setLevel( ( org.apache.log4j.Level )org.apache.log4j.Priority.WARN );
00015     }
00016     
00017     /*public PovUrlsSet( String filename )
00018     {
00019         logger.setLevel( ( org.apache.log4j.Level )org.apache.log4j.Priority.WARN );
00020         sFileName = filename;
00021     }*/
00022     
00023     public PovUrl nextUrl()
00024     {
00025         //vérification dans les listes de la prochaine url à traiter
00026         logger.warn( "Looking for new url..." );
00027         PovUrl url, selected;
00028         selected = new PovUrl( "", "", 0 );
00029         for ( Enumeration e = elements() ; e.hasMoreElements() ;)
00030         {
00031             url = (PovUrl)e.nextElement();
00032             //logger.warn( url.toString() );
00033             if ( url.getDepth() > selected.getDepth() && url.getDepth() > 0 && url.getState() == url.STATE_TOVISIT ) 
00034             {
00035                 selected = url;
00036             }
00037         }
00038         //logger.warn( "Nouvelle URL=" + selected.toString() );
00039         if ( selected.getUrl() != "" )
00040             return selected;
00041         return null;
00042     }
00043     
00044     public PovUrlsSet merge( PovUrlsSet urlstomerge )
00045     {
00046         PovUrl url;
00047         PovUrl add;
00048         PovUrlsSet usResult = new PovUrlsSet();
00049         //logger.warn( "count urltomerge " + urlstomerge.size() );
00050         //logger.warn( "count local " + this.size() );
00051         for ( Enumeration e = urlstomerge.elements() ; e.hasMoreElements() ;)
00052         {
00053             add = (PovUrl)e.nextElement();
00054             //logger.warn( "add " + add.toString() );
00055             //url = urlstomerge.findUrl( add.getUrl() );
00056             url = (PovUrl)this.get( add.getUrl() );
00057             //System.out.println( "url " + url.toString() );
00058             if (url == null)
00059             {
00060                 //ajout url
00061                 logger.warn( "New url to index : " + add.toString() );
00062                 put( add.getUrl(), add );
00063                 usResult.put( add.getUrl(), add );
00064             }
00065             else
00066             {
00067                 if (add.getDepth() > url.getDepth())
00068                 {
00069                     //update
00070                     logger.warn( "maj de la liste " + add.toString() );
00071                     remove( url.getUrl() );
00072                     put( add.getUrl(), add );
00073                     //url.setDepth( add.getDepth() );
00074                 }
00075             }
00076         }
00077         return usResult;
00078     }
00079     
00080     
00081     /*public PovUrl findUrl( String url )
00082     {
00083         for ( Enumeration e = elements() ; e.hasMoreElements() ;)
00084         {
00085             (PovUrl)e.nextElement()
00086             file.write( (PovUrl)e.nextElement() + "\n" );
00087         }
00088         return null;
00089     }*/
00090     
00091     public String toString()
00092     {
00093         String result = "Détail:\n";
00094         try
00095         {
00096             for ( Enumeration e = elements() ; e.hasMoreElements() ;)
00097             {
00098                 result += (PovUrl)e.nextElement() + "\n";
00099             }
00100         }
00101         catch ( Exception e )
00102         {
00103             logger.warn( e.getMessage() );
00104         }
00105         return result;
00106     }
00107 }
Accueil | Téléchargement | Manuel | Doc. technique | Sources CVS | Faq | Nous contacter
©2003 - All Rights Reserved