/tika-mongodb/src/main/java/it/tika/mongodb/source/SourceDBMongoDB.java

https://github.com/shangrz/FlipDroid · Java · 62 lines · 44 code · 11 blank · 7 comment · 4 complexity · 19b0a9eea4da6e3ecfaec09687c83f04 MD5 · raw file

  1. package it.tika.mongodb.source;
  2. import com.mongodb.*;
  3. import flipdroid.grepper.exception.DBNotAvailableException;
  4. import it.tika.mongodb.blacklist.BlacklistedTikaImage;
  5. import it.tika.mongodb.logger.Log;
  6. import org.bson.types.ObjectId;
  7. import java.net.UnknownHostException;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. /**
  11. * Created by IntelliJ IDEA.
  12. * User: jleo
  13. * Date: 3/15/11
  14. * Time: 10:56 PM
  15. * To change this template use File | Settings | File Templates.
  16. */
  17. public class SourceDBMongoDB implements SourceDBInterface {
  18. private static SourceDBMongoDB instance;
  19. private DB db;
  20. public static final String urlCollectionName = "source";
  21. private Logger logger = Logger.getLogger(SourceDBMongoDB.class.getName());
  22. private SourceDBMongoDB() throws UnknownHostException {
  23. Mongo mongo = new Mongo();
  24. db = mongo.getDB("tika");
  25. }
  26. public static SourceDBMongoDB getInstance() {
  27. if (instance == null)
  28. try {
  29. instance = new SourceDBMongoDB();
  30. } catch (UnknownHostException e) {
  31. throw new DBNotAvailableException(e);
  32. }
  33. return instance;
  34. }
  35. public Source findByURL(Source source) {
  36. BasicDBObject query = new BasicDBObject();
  37. query.put("url", source.getUrl());
  38. Source existingSource = null;
  39. try {
  40. DBObject urlFromDB = db.getCollection(urlCollectionName).findOne(query);
  41. if (urlFromDB != null) {
  42. existingSource = new Source();
  43. existingSource.setUrl(source.getUrl());
  44. existingSource.setId(((ObjectId) urlFromDB.get("_id")).toStringMongod());
  45. }
  46. } catch (MongoException e) {
  47. logger.log(Level.INFO, e.getMessage(), e);
  48. }
  49. return existingSource;
  50. }
  51. }