My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package eticom.blogger.services.impl;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import com.google.gdata.client.GoogleService;
import com.google.gdata.client.Service;
import com.google.gdata.data.Entry;
import com.google.gdata.data.Feed;
import com.google.gdata.util.AuthenticationException;

import eticom.blogger.ConexionBlogger;
import eticom.blogger.ConexionBloggerImpl;
import eticom.blogger.excepciones.BlogNoExistenteException;
import eticom.blogger.excepciones.ErrorConexion;
import eticom.blogger.model.EntradaBlog;
import eticom.blogger.model.GmailUsuario;
import eticom.blogger.services.ServicioBlogger;

/**
*
* @author juanitu
*
*/
public class ServicioBloggerImpl implements ServicioBlogger {
/**
*
* @param gmailUsuario
* @return ConexionBlogger
* @throws ErrorConexion
*/

public ConexionBlogger conectar(GmailUsuario gmailUsuario) throws ErrorConexion {
GoogleService myService = new GoogleService("blogger", "exampleCo-exampleApp-1");
try {
myService.setUserCredentials(gmailUsuario.cuentaMail, gmailUsuario.clave);
} catch (AuthenticationException e) {
throw new ErrorConexion(e);
}
return new ConexionBloggerImpl(myService);

}

/**
* Obtenemos una lista de objeto de tipo EntradaBlog que son muy simples
* (algunas propiedades y getters/setters) comparados con el objeto de clase
* Entry de google
*
* @param conexion
* @param blogId
* este parametro aparece cuando le damos a personalizar a
* nuestro blog ....
* @return lista de entradas
* @throws BlogNoExistenteException
*/
public List<EntradaBlog> dameEntradas(ConexionBlogger conexion, String blogId) throws BlogNoExistenteException {
List<EntradaBlog> entradas = new ArrayList<EntradaBlog>();
try {
// URL Clase de java.net
URL feedUrl = new URL("http://www.blogger.com/feeds/" + blogId + "/posts/default");
Service myService = conexion.getService();
//un feed es un objeto de google de la clase Feed --> ver la doc para mas info
Feed resultFeed = myService.getFeed(feedUrl, Feed.class);
// esto es el titulo del blog me parece...
System.out.println(resultFeed.getTitle().getPlainText());
for (int i = 0; i < resultFeed.getEntries().size(); i++) {

Entry entry = resultFeed.getEntries().get(i);

// se crea un nuevo objeto de tipo EntradaBlog por cada objeto de tipo Entry del Feed
EntradaBlog entradaBlog=new EntradaBlog();
entradaBlog.titulo=entry.getTitle().getPlainText();
entradaBlog.contenido=entry.getTextContent().getContent().getPlainText();

// se anyade el objeto entradaBlog a la lista que el metodo devolvera
entradas.add(entradaBlog);
}
System.out.println();
} catch (Exception e) {
// se catchea directamente la excepcion generica para transformarla
// en excepcion de nuestro modulo
throw new BlogNoExistenteException(e);
}

return entradas;
}

}

Change log

r46 by juanantonioruz on May 26, 2008   Diff
refactorizacion de paquetes
Go to: 
Project members, sign in to write a code review

Older revisions

r42 by juanantonioruz on May 23, 2008   Diff
[No log message]
r41 by juanantonioruz on May 23, 2008   Diff
Initial import.
All revisions of this file

File info

Size: 2941 bytes, 89 lines
Powered by Google Project Hosting