List of usage examples for com.mongodb BasicDBObject get
public Object get(final String key)
From source file:ch.agent.crnickl.mongodb.AccessMethodsForNumber.java
License:Apache License
private Observation<Double> extractFirstValue(BasicDBObject obj, TimeDomain domain, TimeIndex t) throws Exception { long first = obj.getLong(MongoDatabase.FLD_SER_FIRST); long last = obj.getLong(MongoDatabase.FLD_SER_LAST); Observation<Double> obs = null; long time = t == null ? first : t.asLong(); if (last >= first && time <= last) { @SuppressWarnings("unchecked") Map<String, Double> values = (Map<String, Double>) obj.get(MongoDatabase.FLD_SER_VALUES); String key = null;/*from w w w . j a v a2 s. c o m*/ if (time <= first) key = Long.toString(first); else { TreeMap<String, Double> sorted = new TreeMap<String, Double>(values); key = sorted.tailMap(Long.toString(time)).firstKey(); } obs = new Observation<Double>(domain.time(Long.valueOf(key)), values.get(key)); } return obs; }
From source file:ch.agent.crnickl.mongodb.ReadMethodsForSchema.java
License:Apache License
private UpdatableSchema unpack(Database db, BasicDBObject obj, Set<ObjectId> cycleDetector) throws T2DBException { if (cycleDetector == null) cycleDetector = new HashSet<ObjectId>(); try {/*from w ww. ja v a 2s . c o m*/ ObjectId id = obj.getObjectId(MongoDatabase.FLD_ID); Surrogate s = makeSurrogate(db, DBObjectType.SCHEMA, new MongoDBObjectId(id)); boolean cycleDetected = !cycleDetector.add(id); String name = obj.getString(MongoDatabase.FLD_SCHEMA_NAME); UpdatableSchema base = null; ObjectId baseId = obj.getObjectId(MongoDatabase.FLD_SCHEMA_BASE); if (baseId != null && !cycleDetected) { Surrogate baseSurr = makeSurrogate(db, DBObjectType.SCHEMA, new MongoDBObjectId(baseId)); base = getSchema(baseSurr, cycleDetector); } Collection<AttributeDefinition<?>> attribs = attributeDefinitions(s, 0, db, (BasicDBList) obj.get(MongoDatabase.FLD_SCHEMA_ATTRIBS)); Collection<SeriesDefinition> series = seriesDefinitions(s, db, (BasicDBList) obj.get(MongoDatabase.FLD_SCHEMA_SERIES)); return new UpdatableSchemaImpl(name, base, attribs, series, s); } catch (ClassCastException e) { throw T2DBMMsg.exception(e, J.J81010, obj.toString()); } }
From source file:ch.agent.crnickl.mongodb.ReadMethodsForSchema.java
License:Apache License
private SeriesDefinition seriesDefinition(Surrogate schemaSurrogate, Database db, BasicDBObject bo) throws T2DBException { int number = bo.getInt(MongoDatabase.FLD_SERIESDEF_NUM); boolean era = bo.getBoolean(MongoDatabase.FLD_SERIESDEF_ERASING); SeriesDefinitionImpl def = null;//from w w w. ja v a 2s . c o m if (era) { def = new SeriesDefinitionImpl(number, null, null); def.edit(); def.setErasing(true); } else { String desc = bo.getString(MongoDatabase.FLD_SERIESDEF_DESC); BasicDBList list = (BasicDBList) bo.get(MongoDatabase.FLD_SERIESDEF_ATTRIBS); Collection<AttributeDefinition<?>> attribs = attributeDefinitions(schemaSurrogate, number, db, list); def = new SeriesDefinitionImpl(number, desc, attribs); } return def; }
From source file:ch.agent.crnickl.mongodb.ReadMethodsForValueType.java
License:Apache License
@SuppressWarnings("unchecked") private <T> ValueType<T> unpack(Database db, BasicDBObject obj) throws T2DBException { try {//from w w w. j av a 2 s .c om ObjectId id = obj.getObjectId(MongoDatabase.FLD_ID); String name = obj.getString(MongoDatabase.FLD_VT_NAME); String type = obj.getString(MongoDatabase.FLD_VT_TYPE); Object values = obj.get(MongoDatabase.FLD_VT_VALUES); boolean restricted = values != null; Map<String, String> valueMap = null; if (restricted) valueMap = (Map<String, String>) ((BasicDBObject) values).toMap(); Surrogate s = makeSurrogate(db, DBObjectType.VALUE_TYPE, new MongoDBObjectId(id)); return new ValueTypeImpl<T>(name, restricted, type, valueMap, s); } catch (ClassCastException e) { throw T2DBMMsg.exception(e, J.J81010, obj.toString()); } }
From source file:ch.windmobile.server.mongo.MongoDataSource.java
License:Open Source License
private StationInfo createStationInfo(BasicDBObject stationJson) { StationInfo stationInfo = new StationInfo(); stationInfo.setId(stationJson.getString("_id")); stationInfo.setShortName(stationJson.getString("short")); stationInfo.setName(stationJson.getString("name")); stationInfo.setDataValidity(getDataValidity(new DateTime())); stationInfo.setStationLocationType(StationLocationType.TAKEOFF); BasicDBList locationJson = (BasicDBList) stationJson.get("loc"); stationInfo.setWgs84Longitude((Double) locationJson.get(0)); stationInfo.setWgs84Latitude((Double) locationJson.get(1)); ;/*from w w w .j ava2 s .c om*/ stationInfo.setAltitude(stationJson.getInt("alt")); stationInfo.setMaintenanceStatus(Status.fromValue(stationJson.getString("status"))); return stationInfo; }
From source file:ch.windmobile.server.mongo.MongoDataSource.java
License:Open Source License
private StationData createStationData(String stationId) throws DataSourceException { BasicDBObject stationJson = findStationJson(stationId); BasicDBObject lastDataJson = (BasicDBObject) stationJson.get("last"); if (lastDataJson == null) { throw new DataSourceException(DataSourceException.Error.INVALID_DATA, "No last data for station '" + stationId + "'"); }// w w w. ja v a 2s .co m StationData stationData = new StationData(); stationData.setStationId(stationId); DateTime lastUpdate = getLastUpdateDateTime(lastDataJson); stationData.setLastUpdate(lastUpdate); DateTime now = new DateTime(); DateTime expirationDate = getExpirationDate(now, lastUpdate); stationData.setExpirationDate(expirationDate); // Status stationData.setStatus(getDataStatus(stationJson.getString("status"), now, expirationDate)); // Wind average stationData.setWindAverage((float) lastDataJson.getDouble(DataTypeConstant.windAverage.getJsonKey())); // Wind max stationData.setWindMax((float) lastDataJson.getDouble(DataTypeConstant.windMax.getJsonKey())); List<BasicDBObject> datas = getHistoricData(stationId, lastUpdate, getHistoricDuration()); if (datas.size() > 0) { // Wind direction chart Serie windDirectionSerie = createSerie(datas, DataTypeConstant.windDirection.getJsonKey()); windDirectionSerie.setName(DataTypeConstant.windDirection.getName()); Chart windDirectionChart = new Chart(); windDirectionChart.setDuration(getHistoricDuration()); windDirectionChart.getSeries().add(windDirectionSerie); stationData.setWindDirectionChart(windDirectionChart); // Wind history min/average double minValue = Double.MAX_VALUE; double maxValue = Double.MIN_VALUE; double sum = 0; double[][] windTrendMaxDatas = new double[datas.size()][2]; // double[][] windTrendAverageDatas = new double[windAverageDatas.size()][2]; for (int i = 0; i < datas.size(); i++) { BasicDBObject data = datas.get(i); // JDC unix-time is in seconds, windmobile java-time in millis long millis = data.getLong("_id") * 1000; double windAverage = data.getDouble(DataTypeConstant.windAverage.getJsonKey()); double windMax = data.getDouble(DataTypeConstant.windMax.getJsonKey()); minValue = Math.min(minValue, windAverage); maxValue = Math.max(maxValue, windMax); sum += windAverage; windTrendMaxDatas[i][0] = millis; windTrendMaxDatas[i][1] = windMax; } stationData.setWindHistoryMin((float) minValue); stationData.setWindHistoryAverage((float) (sum / datas.size())); stationData.setWindHistoryMax((float) maxValue); // Wind trend LinearRegression linearRegression = new LinearRegression(windTrendMaxDatas); linearRegression.compute(); double slope = linearRegression.getBeta1(); double angle = Math.toDegrees(Math.atan(slope * getWindTrendScale())); stationData.setWindTrend((int) Math.round(angle)); } // Air temperature stationData.setAirTemperature( (float) lastDataJson.getDouble(DataTypeConstant.airTemperature.getJsonKey(), -1)); // Air humidity stationData.setAirHumidity((float) lastDataJson.getDouble(DataTypeConstant.airHumidity.getJsonKey(), -1)); // Air pressure String key = DataTypeConstant.airPressure.getJsonKey(); if (lastDataJson.containsField(key)) { stationData.setAirPressure((float) lastDataJson.getDouble(key)); } // Rain key = DataTypeConstant.rain.getJsonKey(); if (lastDataJson.containsField(key)) { stationData.setRain((float) lastDataJson.getDouble(key)); } return stationData; }
From source file:ch.windmobile.server.mongo.MongoDataSource.java
License:Open Source License
private Serie createSerie(List<BasicDBObject> datas, String key) { Serie serie = new Serie(); for (BasicDBObject data : datas) { Point newPoint = new Point(); // JDC unix-time is in seconds, windmobile java-time in millis newPoint.setDate(data.getLong("_id") * 1000); newPoint.setValue(((Number) data.get(key)).floatValue()); serie.getPoints().add(newPoint); }// www . j ava 2 s . c o m return serie; }
From source file:com.avanza.ymer.FakeDocumentCollection.java
License:Apache License
@Override public void delete(BasicDBObject dbObject) { BasicDBObject idOBject = new BasicDBObject(); idOBject.put("_id", dbObject.get("_id")); if (idOBject.equals(dbObject)) { removeById(idOBject);//w w w. j ava2s. c om } else { removeByTemplate(dbObject); } }
From source file:com.avanza.ymer.FakeDocumentCollection.java
License:Apache License
private void removeById(BasicDBObject dbObject) { Iterator<DBObject> it = collection.iterator(); while (it.hasNext()) { DBObject next = it.next();/*from w ww . j ava 2 s .com*/ if (next.get("_id").equals(dbObject.get("_id"))) { it.remove(); return; } } }
From source file:com.aw.app.action.BuildingAction.java
/** * /*from w ww.j ava2s.c o m*/ * @param buildingConfiguration * @param data * @param isRegister * @return * @throws JSONException */ public static Map addBuildingFromConfiguration(DBObject buildingConfiguration, JSONObject data, boolean isRegister) throws JSONException { Map statusData = new HashMap(); if (buildingConfiguration != null && data != null) { BasicDBObject buildingBase = new BasicDBObject(); long time = new Date().getTime(); if (data.has("position_x")) { buildingBase.put("position_x", data.get("position_x")); if (data.has("position_y")) buildingBase.put("position_y", data.get("position_y")); buildingBase.put("created", time); String tid = (String) buildingConfiguration.get("tid"); if (!tid.equals("TID_BUILDING_TOWN_HALL")) { buildingBase.put("construction_start_time", time); buildingBase.put("is_constructing", 1); } long lastCollectionTime = time + ApplicationSettings.convertToTimeStamp(buildingConfiguration); buildingBase.put("uid", data.get("uid")); buildingBase.put("attributes", buildingConfiguration.get("attributes")); boolean price = false; if (!isRegister) { UserAction userAction = new UserAction(); if (!TownHallAction.isAllowedBuilding(buildingConfiguration.get("tid"), data.get("uid"), buildingConfiguration.get("level"))) { statusData.put("status", false); } else if (!isBuildAddAllow(data.get("uid"), buildingConfiguration.get("build_resource"), buildingConfiguration.get("build_cost"))) { statusData.put("status", false); statusData.put("errorMessage", "Not enough resource available in storage."); } long buildCost = (Long) buildingConfiguration.get("build_cost"); if (buildCost > 0) { price = userAction.updateUserResource(data.get("uid"), buildingConfiguration.get("build_cost"), (String) buildingConfiguration.get("build_resource"), "decrease"); } else { price = true; } } else { price = true; } if (!price) { statusData.put("errorMessage", "Not enough resource available in storage."); statusData.put("status", false); } WriteResult result = MongoDbUtil.saveCollection("aw_building_base", buildingBase); if (result.getLastError().ok()) { String collectionName = "aw_building_base"; BasicDBObject buildingObject = null; String buildingClass = (String) buildingConfiguration.get("building_class"); if ("Defense".equalsIgnoreCase(buildingClass)) { collectionName = "aw_building_defense"; buildingObject = new BuildingDefense(); buildingObject.put("attributes", buildingConfiguration.get("attributes")); } else if ("Resource".equalsIgnoreCase(buildingClass)) { collectionName = "aw_building_resource"; buildingObject = new BuildingResource(); buildingObject.put("attributes", buildingConfiguration.get("attributes")); if (containString(collectionResource, buildingConfiguration.get(tid).toString())) { buildingObject.put("last_collection_time", lastCollectionTime); } else buildingObject.put("last_collection_time", 0); buildingObject.put("resource_stored", 0); } else if ("Army".equalsIgnoreCase(buildingClass)) { collectionName = "aw_building_army"; buildingObject = new BuildingArmy(); buildingObject.put("attributes", buildingConfiguration.get("attributes")); } else if ("Town Hall".equalsIgnoreCase(buildingClass)) { collectionName = "aw_building_townhall"; buildingObject = new BuildingTownhall(); buildingObject.put("attributes", buildingConfiguration.get("attributes")); buildingObject.put("gold_stored", buildingConfiguration.get("gold_stored")); buildingObject.put("mithril_stored", buildingConfiguration.get("mithril_stored")); } else { statusData.put("status", true); statusData.put("building_id", buildingBase.get("building_id")); } if (buildingObject != null) { buildingObject.put("building_id", buildingBase.get("building_id")); WriteResult r = MongoDbUtil.saveCollection(collectionName, buildingObject); if (r.getLastError().ok()) { String buildingConfigTid = (String) buildingConfiguration.get("tid"); if (buildingConfigTid.equalsIgnoreCase("TID_BUILDING_BARRACK")) { new UserAction().unlockUserTroops(data.get("uid"), buildingConfiguration.get("level")); } statusData.put("status", true); } } } else { price = new UserAction().updateUserResource(data.get("uid"), buildingConfiguration.get("build_cost"), (String) buildingConfiguration.get("build_resource"), "increase"); } } } return statusData; }