Ranking
0.00
avatar

Java

Más info ↓

Buscar imágenes en flickr

Java
Existen algunas librerías para realizar búsquedas en fotoHosting de flickr.
Un ejemplo como usar una de ellas en java, viene en siguiente código.
Antes que todo deben obtener el Key para acceder a llamadas API via web Services de flickr.

Obtener Key pueden aquí.

Bajar librería utilizando en este ejempo pueden en pagina de sourceforge


import com.aetrion.flickr.Flickr;
import com.aetrion.flickr.REST;
import com.aetrion.flickr.photos.SearchParameters;
import com.aetrion.flickr.photos.PhotoList;
import com.aetrion.flickr.photos.PhotosInterface;
import com.aetrion.flickr.photos.Photo;

public class FlickrImageFinder {
	
	
	public static void main(String[] args) throws Exception{
		FlickrImageFinder finder = new FlickrImageFinder();
		finder.getImages();
	}
	
	public void getImages() throws Exception {

				
	    String key="ee09032.................";
	    String svr="www.flickr.com";
	    REST rest=new REST();
	    rest.setHost(svr);	   
	   	    
	    Flickr flickr=new Flickr(key, rest);
	    flickr.setSharedSecret("19.....");
	    Flickr.debugStream=false;
	    
	    SearchParameters searchParams=new SearchParameters();
	    searchParams.setSort(SearchParameters.INTERESTINGNESS_DESC);
	   	    
	    //String[] tags=new String[]{"Ecuador","Correa"};
	    //searchParams.setTags(tags);
	    
	    searchParams.setText("Ecuador");

	    //Initialize PhotosInterface object
	    PhotosInterface photosInterface=flickr.getPhotosInterface();
	    //Execute search with entered tags
	    PhotoList photoList=photosInterface.search(searchParams,20,1);

	    StringBuffer strBuf=new StringBuffer();	    	    	   
	    	    
	    if(photoList!=null){	  
	       for(int i=0;i<photoList.size();i++){	    
	          Photo photo=(Photo)photoList.get(i);          	        
	          strBuf.append("<img border=\"0\" src=\""+photo.getThumbnailUrl()+"\">");	       	          
	       }
	       
	       System.out.println(strBuf.toString());	       	       
	    }		
	}	
}

Como convertir un objeto XML Document a un String

Java


import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import java.io.ByteArrayOutputStream;


   public String Document2String(Document doc) {

        String xml = "";

        try {
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter writer = new XMLWriter(out, format);
            writer.write(doc);
            writer.close();
            xml = out.toString();
            out.close();

        } catch (Exception e) {
        }
        return xml;
    }
 

Captura del log log4j en programa con WriterAppender

Java
En unos de mis aplicaciones necesitaba capturar log de salida log4j, es decir enviar salida de stack log4j a un String. Se realiza con un WriterAppender.

DebugClass.java

import org.apache.log4j.Logger;

public class DebugClass {
       
        static Logger logger = Logger.getLogger(DebugClass.class);
       
        public DebugClass(){
               
                logger.debug("Es un log de prueba");
               
        }

}
 


LoggerString.java

import java.io.ByteArrayOutputStream;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.WriterAppender;

public class LoggerString {

        private static Logger logger = Logger.getLogger(DebugClass.class);
        private ByteArrayOutputStream out = new ByteArrayOutputStream();

        public static void main(String[] args) {
                LoggerString test = new LoggerString();
                System.out.println("Log de salida:" + test.getMessage());
        }

        public LoggerString() {

                logger.setLevel(Level.DEBUG);
                WriterAppender writeappender = new WriterAppender(new SimpleLayout(),
                                out);
                logger.addAppender(writeappender);

                new DebugClass();

        }

        public String getMessage() {
                String message = out.toString();
                try {
                        out.close();
                } catch (Exception er) {
                }
                return message;
        }
}

 

Manejo de threads con ExecutorService y Semaphore

Java
Anteriormente manejo de threads, era un poco complicado por control de número de hilos, threads colgados (bloqueados), recursos. Con salida de Java 5 se mejoro este asunto gracias a ExecutorService y Semaphore. En siguiente ejemplo, estamos levantando 20 hilos, con pool de 10 hilos concurrentes.


Leer más

Modelos Dinámicos con Hibernate, Parte I

Java
En las últimas versiones de Hibernate (3.3.x) se incluye el concepto de modelos dinámicos. Este concepto nos permite definir entidades sin necesidad de tener una clase (POJO) que la represente, es decir simplemente se tiene que carga la definición de la entidad (cargar el archivo hbm.xml o el DOM que lo represente).


Leer más

Java numero uno, igual como en año pasado

Java

Compañía Holandesa TIOBE Software BV publico rating de los lenguajes programación por diciembre 2008.
Lidera Java, igual como en año pasado.


Dec 2008 Position
Dec 2007
Delta in Position Programming Language Ratings
Dec 2008
Delta
Dec 2007
Status
1 1 Java 19.367% -0.68% A
2 2 C 16.163% +2.99% A
3 5 C++ 10.893% +3.02% A
4 4 PHP 9.479% +1.09% A
5 3 (Visual) Basic 9.478% -0.74% A
6 8 C# 4.643% +0.65% A
7 6 Python 4.567% -0.13% A
8 7 Perl 3.603% -0.78% A
9 10 JavaScript 3.062% +0.33% A
10 11 Delphi 3.055% +0.38% A
11 9 Ruby 2.308% -0.78% A
12 12 D 1.185% -0.45% A
13 13 PL/SQL 1.140% -0.25% A
14 14 SAS 0.843% -0.55% A
15 19 Pascal 0.689% -0.10% B
16 15 COBOL 0.631% -0.26% B
17 16 ABAP 0.603% -0.27% B
18 21 Logo 0.569% -0.18% B
19 17 Lisp/Scheme 0.515% -0.33% B
20 20 Lua 0.494% -0.28% B

 

 


Leer más