blob: 59b799741f41a9f29868562f2474c9f76cb894ff [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 - 2018 Orange.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* Contributors:
* BAREAU Cyrille <cyrille.bareau@orange.com>,
* BONNARDEL Gregory <gbonnardel.ext@orange.com>,
*******************************************************************************/
package org.eclipse.om2m.persistence.mongodb.dao;
import static com.mongodb.client.model.Filters.and;
import static com.mongodb.client.model.Filters.eq;
import org.bson.Document;
import org.eclipse.om2m.commons.constants.DBEntities;
import org.eclipse.om2m.commons.entities.CreatedAnnouncedResourceEntity;
import org.eclipse.om2m.persistence.mongodb.DBServiceImpl;
import org.eclipse.om2m.persistence.service.DAO;
import org.eclipse.om2m.persistence.service.DBTransaction;
public class CreatedAnnouncedResourceEntityDao implements DAO<CreatedAnnouncedResourceEntity> {
static private final String ID = "id";
@Override
public void create(DBTransaction dbTransaction, CreatedAnnouncedResourceEntity resource) {
Document document = new Document();
document.put(DBEntities.ANNOUNCE_CSE_ID, resource.getAnnounceCseId());
document.put(DBEntities.LOCAL_RESOURCE_ID, resource.getLocalAnnounceableId());
document.put(DBEntities.REMOTE_RESOURCE_ID, resource.getRemoteAnnouncedId());
document.put(ID, resource.getId());
DBServiceImpl.getInstance().getAnnounceCollection().insertOne(document);
}
@Override
public CreatedAnnouncedResourceEntity find(DBTransaction dbTransaction, Object id) {
Document doc = DBServiceImpl.getInstance().getAnnounceCollection().find(eq(ID, id)).first();
if (doc != null) {
CreatedAnnouncedResourceEntity entity = new CreatedAnnouncedResourceEntity();
entity.setAnnounceCseId(doc.getString(DBEntities.ANNOUNCE_CSE_ID));
entity.setId(doc.getLong(ID));
entity.setLocalAnnounceableId(doc.getString(DBEntities.LOCAL_RESOURCE_ID));
entity.setRemoteAnnouncedId(doc.getString(DBEntities.REMOTE_RESOURCE_ID));
return entity;
}
return null;
}
@Override
public void update(DBTransaction dbTransaction, CreatedAnnouncedResourceEntity resource) {
}
@Override
public void delete(DBTransaction dbTransaction, CreatedAnnouncedResourceEntity resource) {
DBServiceImpl.getInstance().getAnnounceCollection()
.findOneAndDelete(and(eq(DBEntities.LOCAL_RESOURCE_ID, resource.getLocalAnnounceableId()),
eq(DBEntities.REMOTE_RESOURCE_ID, resource.getRemoteAnnouncedId())));
}
}