Package org.growersnation.site.service.mongo

Source Code of org.growersnation.site.service.mongo.MongoSoilDataReadService

package org.growersnation.site.service.mongo;

import com.google.inject.Inject;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBObject;
import org.growersnation.site.model.soil.SoilData;
import org.growersnation.site.service.SoilDataReadService;
import org.mongojack.JacksonDBCollection;

import java.util.List;

/**
* <p>MongoDB implementation of {@link SoilDataReadService}:</p>
*
* @since 0.0.1
*/
public class MongoSoilDataReadService implements SoilDataReadService {

  JacksonDBCollection<SoilData, String> soilDataCollection;

  @Inject
  public MongoSoilDataReadService(DB mongoDb) {
    soilDataCollection = JacksonDBCollection.wrap(
      mongoDb.getCollection("soilData"),
      SoilData.class,
      String.class);
  }

  @Override
  public List<SoilData> fetchNewestSoilData(int page, int pageSize) {
    DBObject orderBy = new BasicDBObject("_id", -1);
    int skip = page * pageSize;
    return soilDataCollection.find().sort(orderBy).skip(skip).limit(pageSize).toArray();
  }

  @Override
  public long getNewestSoilDataCount() {
    return soilDataCollection.find().size();
  }

}
TOP

Related Classes of org.growersnation.site.service.mongo.MongoSoilDataReadService

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.