From 61bdf0df7d22fa0a2e6b923e60365eac86626889 Mon Sep 17 00:00:00 2001 From: Andrew Shvayka Date: Tue, 2 Feb 2016 21:43:36 +0200 Subject: [PATCH] KAA-749: Implementation --- .../dao/model/EndpointConfiguration.java | 3 +- .../dao/model/EndpointNotification.java | 3 +- .../dao/model/EndpointUserConfiguration.java | 3 +- .../common/dao/model/TopicListEntry.java | 7 ++-- .../common/dto/EndpointConfigurationDto.java | 13 +----- .../common/dto/EndpointNotificationDto.java | 13 +----- .../dto/EndpointUserConfigurationDto.java | 13 +----- .../kaa/common/dto/TopicListEntryDto.java | 14 +------ .../cassandra/dao/AbstractCassandraDao.java | 21 +++------- .../dao/AbstractVersionableCassandraDao.java | 28 +++++++++++++ .../nosql/cassandra/dao/CassandraDaoUtil.java | 13 +++--- .../EndpointConfigurationCassandraDao.java | 21 +--------- .../dao/EndpointNotificationCassandraDao.java | 32 --------------- .../dao/EndpointProfileCassandraDao.java | 2 +- .../dao/EndpointUserCassandraDao.java | 2 +- ...EndpointUserConfigurationCassandraDao.java | 14 ------- .../dao/NotificationCassandraDao.java | 2 +- .../dao/TopicListEntryCassandraDao.java | 25 ++---------- .../cassandra/dao/client/CassandraClient.java | 23 ++++++----- .../dao/client/CassandraClientOptions.java | 9 +++-- .../filter/CassandraEPByAccessTokenDao.java | 12 ++---- .../dao/filter/CassandraEPByAppIdDao.java | 27 +++++-------- .../CassandraEPByEndpointGroupIdDao.java | 8 +--- .../dao/filter/CassandraEPBySdkTokenDao.java | 5 --- .../dao/model/CassandraEPByAccessToken.java | 23 ++--------- .../dao/model/CassandraEPByAppId.java | 23 ++--------- .../model/CassandraEPByEndpointGroupId.java | 23 ++--------- .../dao/model/CassandraEPBySdkToken.java | 18 +-------- .../model/CassandraEndpointConfiguration.java | 39 ++++++------------ .../model/CassandraEndpointNotification.java | 40 +++++++------------ .../CassandraEndpointUserConfiguration.java | 38 +++++------------- .../dao/model/CassandraNotification.java | 32 +++++++-------- .../dao/model/CassandraTopicListEntry.java | 40 ++++++------------- .../type/CassandraEndpointGroupState.java | 17 ++++---- ...CassandraEventClassFamilyVersionState.java | 17 ++++---- .../src/main/resources/cassandra.cql | 9 ++--- .../nosql/mongo/dao/AbstractMongoDao.java | 14 ++----- .../dao/AbstractVersionableMongoDao.java | 24 +++++++++++ .../dao/EndpointConfigurationMongoDao.java | 13 +++--- .../dao/EndpointNotificationMongoDao.java | 19 ++++----- .../mongo/dao/EndpointProfileMongoDao.java | 2 +- .../EndpointUserConfigurationMongoDao.java | 20 +++++----- .../nosql/mongo/dao/EndpointUserMongoDao.java | 4 +- .../nosql/mongo/dao/NotificationMongoDao.java | 20 +++++----- .../mongo/dao/TopicListEntryMongoDao.java | 13 +++--- .../dao/model/MongoEndpointConfiguration.java | 31 +++----------- .../dao/model/MongoEndpointNotification.java | 28 ++++--------- .../model/MongoEndpointUserConfiguration.java | 17 -------- .../mongo/dao/model/MongoTopicListEntry.java | 39 +++++------------- .../MongoDBApplicationServiceImplTest.java | 1 - .../MongoDBConfigurationServiceImplTest.java | 3 -- 51 files changed, 285 insertions(+), 595 deletions(-) create mode 100644 server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractVersionableCassandraDao.java create mode 100644 server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractVersionableMongoDao.java diff --git a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointConfiguration.java b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointConfiguration.java index 49836c9006..ad6e2676d8 100644 --- a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointConfiguration.java +++ b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointConfiguration.java @@ -16,8 +16,7 @@ package org.kaaproject.kaa.server.common.dao.model; import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; -import org.kaaproject.kaa.common.dto.HasVersion; -public interface EndpointConfiguration extends ToDto, HasVersion { +public interface EndpointConfiguration extends ToDto { } diff --git a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointNotification.java b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointNotification.java index 8e6cc02cb9..fb8bd45bdd 100644 --- a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointNotification.java +++ b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointNotification.java @@ -16,8 +16,7 @@ package org.kaaproject.kaa.server.common.dao.model; import org.kaaproject.kaa.common.dto.EndpointNotificationDto; -import org.kaaproject.kaa.common.dto.HasVersion; -public interface EndpointNotification extends ToDto, HasVersion { +public interface EndpointNotification extends ToDto { } diff --git a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointUserConfiguration.java b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointUserConfiguration.java index 8e807b12c1..0b56fdf80c 100644 --- a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointUserConfiguration.java +++ b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/EndpointUserConfiguration.java @@ -16,9 +16,8 @@ package org.kaaproject.kaa.server.common.dao.model; import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; -import org.kaaproject.kaa.common.dto.HasVersion; -public interface EndpointUserConfiguration extends ToDto, HasVersion { +public interface EndpointUserConfiguration extends ToDto { String getUserId(); diff --git a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/TopicListEntry.java b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/TopicListEntry.java index 3c9c338cc1..7def95e1be 100644 --- a/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/TopicListEntry.java +++ b/server/common/dao/src/main/java/org/kaaproject/kaa/server/common/dao/model/TopicListEntry.java @@ -15,12 +15,11 @@ */ package org.kaaproject.kaa.server.common.dao.model; -import org.kaaproject.kaa.common.dto.HasVersion; -import org.kaaproject.kaa.common.dto.TopicListEntryDto; - import java.util.List; -public interface TopicListEntry extends ToDto, HasVersion { +import org.kaaproject.kaa.common.dto.TopicListEntryDto; + +public interface TopicListEntry extends ToDto { List getTopicIds(); } diff --git a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointConfigurationDto.java b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointConfigurationDto.java index 1ef3e561ae..6b04718976 100644 --- a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointConfigurationDto.java +++ b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointConfigurationDto.java @@ -21,13 +21,12 @@ import static org.kaaproject.kaa.common.dto.Util.getArrayCopy; -public class EndpointConfigurationDto implements HasVersion, Serializable { +public class EndpointConfigurationDto implements Serializable { private static final long serialVersionUID = 5662111748223086520L; private byte[] configurationHash; private byte[] configuration; - private Long version; public byte[] getConfigurationHash() { return configurationHash; @@ -76,14 +75,4 @@ public String toString() { ", configuration=" + Arrays.toString(configuration) + '}'; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } } diff --git a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointNotificationDto.java b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointNotificationDto.java index d4e33029a4..afa7e79890 100644 --- a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointNotificationDto.java +++ b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointNotificationDto.java @@ -23,14 +23,13 @@ import static org.kaaproject.kaa.common.dto.Util.getArrayCopy; -public class EndpointNotificationDto implements HasId, HasVersion, Serializable { +public class EndpointNotificationDto implements HasId, Serializable { private static final long serialVersionUID = -5548269571722364843L; private String id; private byte[] endpointKeyHash; private NotificationDto notificationDto; - private Long version; public String getId() { return id; @@ -55,16 +54,6 @@ public byte[] getEndpointKeyHash() { public void setEndpointKeyHash(byte[] endpointKeyHash) { this.endpointKeyHash = getArrayCopy(endpointKeyHash); } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { diff --git a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointUserConfigurationDto.java b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointUserConfigurationDto.java index e4ce6c098b..b082ffa743 100644 --- a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointUserConfigurationDto.java +++ b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/EndpointUserConfigurationDto.java @@ -17,7 +17,7 @@ import java.io.Serializable; -public class EndpointUserConfigurationDto implements HasVersion, Serializable { +public class EndpointUserConfigurationDto implements Serializable { private static final long serialVersionUID = -1463982688020241482L; @@ -25,7 +25,6 @@ public class EndpointUserConfigurationDto implements HasVersion, Serializable { private String appToken; private Integer schemaVersion; private String body; - private Long version; public String getUserId() { return userId; @@ -59,16 +58,6 @@ public void setBody(String body) { this.body = body; } - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } - @Override public boolean equals(Object o) { if (this == o) diff --git a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/TopicListEntryDto.java b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/TopicListEntryDto.java index 0cd2c1a488..1efba44438 100644 --- a/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/TopicListEntryDto.java +++ b/server/common/dto/src/main/java/org/kaaproject/kaa/common/dto/TopicListEntryDto.java @@ -20,7 +20,7 @@ import java.util.Arrays; import java.util.List; -public final class TopicListEntryDto implements HasVersion, Serializable { +public final class TopicListEntryDto implements Serializable { private static final long serialVersionUID = 2771583997490244417L; @@ -30,8 +30,6 @@ public final class TopicListEntryDto implements HasVersion, Serializable { private List topics; - private Long version; - public TopicListEntryDto(int simpleHash, byte[] hash, List topics) { this.simpleHash = simpleHash; this.hash = hash; @@ -62,16 +60,6 @@ public void setTopics(List topics) { this.topics = topics; } - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } - @Override public boolean equals(Object o) { if (this == o) { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractCassandraDao.java index 3d9312a74d..79aae5fbdb 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractCassandraDao.java @@ -26,7 +26,6 @@ import java.util.Collections; import java.util.List; -import org.kaaproject.kaa.common.dto.HasVersion; import org.kaaproject.kaa.server.common.dao.exception.KaaOptimisticLockingFailureException; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.client.CassandraClient; import org.slf4j.Logger; @@ -49,7 +48,7 @@ import com.datastax.driver.mapping.Mapper; import com.datastax.driver.mapping.Result; -public abstract class AbstractCassandraDao { +public abstract class AbstractCassandraDao { private static final Logger LOG = LoggerFactory.getLogger(AbstractCassandraDao.class); private static final String KAA = "kaa"; @@ -129,21 +128,13 @@ protected Statement getSaveQuery(T dto) { } public T save(T entity) { - if (entity.getVersion() == null) { - entity.setVersion(0l); - LOG.debug("Save entity {}", entity); - Statement saveStatement = getSaveQuery(entity); - saveStatement.setConsistencyLevel(getWriteConsistencyLevel()); - execute(saveStatement); - return entity; - } else { - LOG.debug("Update entity {}", entity); - return updateLocked(entity); - } + LOG.debug("Save entity {}", entity); + Statement saveStatement = getSaveQuery(entity); + saveStatement.setConsistencyLevel(getWriteConsistencyLevel()); + execute(saveStatement); + return entity; } - protected abstract T updateLocked(T entity); - protected T updateLockedImpl(Long version, Assignment[] assignments, Clause... whereClauses) { version = (version == null) ? 0l : version; Assignments assigns = update(getColumnFamilyName()).onlyIf(eq(OPT_LOCK, version)).with(set(OPT_LOCK, version + 1)); diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractVersionableCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractVersionableCassandraDao.java new file mode 100644 index 0000000000..a53c2812d2 --- /dev/null +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/AbstractVersionableCassandraDao.java @@ -0,0 +1,28 @@ +package org.kaaproject.kaa.server.common.nosql.cassandra.dao; + +import org.kaaproject.kaa.common.dto.HasVersion; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.datastax.driver.core.Statement; + +public abstract class AbstractVersionableCassandraDao extends AbstractCassandraDao { + + private static final Logger LOG = LoggerFactory.getLogger(AbstractVersionableCassandraDao.class); + + public T save(T entity) { + if (entity.getVersion() == null) { + entity.setVersion(0l); + LOG.debug("Save entity {}", entity); + Statement saveStatement = getSaveQuery(entity); + saveStatement.setConsistencyLevel(getWriteConsistencyLevel()); + execute(saveStatement); + return entity; + } else { + LOG.debug("Update entity {}", entity); + return updateLocked(entity); + } + } + + protected abstract T updateLocked(T entity); +} diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/CassandraDaoUtil.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/CassandraDaoUtil.java index 8277c2a01a..9996231cda 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/CassandraDaoUtil.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/CassandraDaoUtil.java @@ -16,18 +16,19 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao; -import com.datastax.driver.core.utils.Bytes; +import static org.apache.commons.lang.StringUtils.isNotBlank; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; + import org.kaaproject.kaa.common.dto.EndpointGroupStateDto; import org.kaaproject.kaa.common.dto.EventClassFamilyVersionStateDto; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.type.CassandraEndpointGroupState; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.type.CassandraEventClassFamilyVersionState; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.List; - -import static org.apache.commons.lang.StringUtils.isNotBlank; +import com.datastax.driver.core.utils.Bytes; public class CassandraDaoUtil { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointConfigurationCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointConfigurationCassandraDao.java index 714b983387..aca77868ea 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointConfigurationCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointConfigurationCassandraDao.java @@ -16,14 +16,9 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao; -import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; -import static com.datastax.driver.core.querybuilder.QueryBuilder.set; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_COLUMN_FAMILY_NAME; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_HASH_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_ID_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_PROPERTY; import java.nio.ByteBuffer; @@ -34,10 +29,9 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import com.datastax.driver.core.querybuilder.Assignment; - @Repository(value = "endpointConfigurationDao") -public class EndpointConfigurationCassandraDao extends AbstractCassandraDao implements EndpointConfigurationDao { +public class EndpointConfigurationCassandraDao extends AbstractCassandraDao + implements EndpointConfigurationDao { private static final Logger LOG = LoggerFactory.getLogger(EndpointConfigurationCassandraDao.class); @@ -50,16 +44,6 @@ protected Class getColumnFamilyClass() { protected String getColumnFamilyName() { return ENDPOINT_CONFIGURATION_COLUMN_FAMILY_NAME; } - - @Override - protected CassandraEndpointConfiguration updateLocked( - CassandraEndpointConfiguration entity) { - return updateLockedImpl(entity.getVersion(), - new Assignment[]{set(ENDPOINT_CONFIGURATION_CONF_PROPERTY, entity.getConfiguration()), - set(ENDPOINT_CONFIGURATION_CONF_ID_PROPERTY, entity.getId())}, - eq(ENDPOINT_CONFIGURATION_CONF_HASH_PROPERTY, getByteBuffer(getBytes(entity.getConfigurationHash()))) - ); - } @Override public CassandraEndpointConfiguration findByHash(final byte[] hash) { @@ -98,5 +82,4 @@ public void removeById(ByteBuffer key) { } } - } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointNotificationCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointNotificationCassandraDao.java index 069139cebc..28d6d3f803 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointNotificationCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointNotificationCassandraDao.java @@ -19,20 +19,10 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.delete; import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; import static com.datastax.driver.core.querybuilder.QueryBuilder.select; -import static com.datastax.driver.core.querybuilder.QueryBuilder.set; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_APPLICATION_ID_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_BODY_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_COLUMN_FAMILY_NAME; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_ENDPOINT_KEY_HASH_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_EXPIRED_AT_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_LAST_MOD_TIME_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_NOTIFICATION_TYPE_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_SCHEMA_ID_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_SEQ_NUM_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_TOPIC_ID_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ET_NF_VERSION_PROPERTY; import java.util.Collections; import java.util.List; @@ -47,7 +37,6 @@ import org.springframework.stereotype.Repository; import com.datastax.driver.core.Statement; -import com.datastax.driver.core.querybuilder.Assignment; import com.datastax.driver.core.querybuilder.QueryBuilder; import com.datastax.driver.core.querybuilder.Select; @@ -69,27 +58,6 @@ protected String getColumnFamilyName() { return ET_NF_COLUMN_FAMILY_NAME; } - @Override - protected CassandraEndpointNotification updateLocked( - CassandraEndpointNotification entity) { - return updateLockedImpl( - entity.getVersion(), - new Assignment[] { - set(ET_NF_ID_PROPERTY, entity.getId()), - set(ET_NF_SEQ_NUM_PROPERTY, entity.getSeqNum()), - set(ET_NF_NOTIFICATION_TYPE_PROPERTY, entity.getType().name()), - set(ET_NF_APPLICATION_ID_PROPERTY, - entity.getApplicationId()), - set(ET_NF_SCHEMA_ID_PROPERTY, entity.getSchemaId()), - set(ET_NF_VERSION_PROPERTY, entity.getNfVersion()), - set(ET_NF_BODY_PROPERTY, entity.getBody()), - set(ET_NF_EXPIRED_AT_PROPERTY, entity.getExpiredAt()), - set(ET_NF_TOPIC_ID_PROPERTY, entity.getTopicId()) }, - eq(ET_NF_ENDPOINT_KEY_HASH_PROPERTY, - entity.getEndpointKeyHash()), - eq(ET_NF_LAST_MOD_TIME_PROPERTY, entity.getLastModifyTime())); - } - @Override public List findNotificationsByKeyHash(byte[] keyHash) { LOG.debug("Try to find endpoint notifications by endpoint key hash {}", keyHash); diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointProfileCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointProfileCassandraDao.java index d2898aa518..07f0a0c6fe 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointProfileCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointProfileCassandraDao.java @@ -118,7 +118,7 @@ @Repository(value = "endpointProfileDao") -public class EndpointProfileCassandraDao extends AbstractCassandraDao implements EndpointProfileDao { +public class EndpointProfileCassandraDao extends AbstractVersionableCassandraDao implements EndpointProfileDao { private static final Logger LOG = LoggerFactory.getLogger(EndpointProfileCassandraDao.class); diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserCassandraDao.java index 291d4e89e1..e391318a58 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserCassandraDao.java @@ -40,7 +40,7 @@ import com.datastax.driver.core.querybuilder.Select.Where; import com.datastax.driver.core.querybuilder.Update; -public class EndpointUserCassandraDao extends AbstractCassandraDao implements EndpointUserDao { +public class EndpointUserCassandraDao extends AbstractVersionableCassandraDao implements EndpointUserDao { private static final Logger LOG = LoggerFactory.getLogger(EndpointUserCassandraDao.class); diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserConfigurationCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserConfigurationCassandraDao.java index b4e6b9b354..98f5493612 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserConfigurationCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/EndpointUserConfigurationCassandraDao.java @@ -18,9 +18,7 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.delete; import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; import static com.datastax.driver.core.querybuilder.QueryBuilder.select; -import static com.datastax.driver.core.querybuilder.QueryBuilder.set; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_APP_TOKEN_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_BODY_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_COLUMN_FAMILY_NAME; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_USER_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_VERSION_PROPERTY; @@ -35,7 +33,6 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import com.datastax.driver.core.querybuilder.Assignment; import com.datastax.driver.core.querybuilder.Select; @Repository @@ -52,17 +49,6 @@ protected Class getColumnFamilyClass() { protected String getColumnFamilyName() { return EP_USER_CONF_COLUMN_FAMILY_NAME; } - - @Override - protected CassandraEndpointUserConfiguration updateLocked( - CassandraEndpointUserConfiguration entity) { - return updateLockedImpl(entity.getVersion(), - new Assignment[]{set(EP_USER_CONF_BODY_PROPERTY, entity.getBody())}, - eq(EP_USER_CONF_USER_ID_PROPERTY, entity.getUserId()), - eq(EP_USER_CONF_APP_TOKEN_PROPERTY, entity.getAppToken()), - eq(EP_USER_CONF_VERSION_PROPERTY, entity.getSchemaVersion()) - ); - } @Override public CassandraEndpointUserConfiguration save(EndpointUserConfigurationDto dto) { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/NotificationCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/NotificationCassandraDao.java index 2ce8d8c5d7..1e43b829a8 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/NotificationCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/NotificationCassandraDao.java @@ -51,7 +51,7 @@ import com.datastax.driver.core.querybuilder.Select.Where; @Repository -public class NotificationCassandraDao extends AbstractCassandraDao implements NotificationDao { +public class NotificationCassandraDao extends AbstractVersionableCassandraDao implements NotificationDao { private static final Logger LOG = LoggerFactory.getLogger(NotificationCassandraDao.class); diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/TopicListEntryCassandraDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/TopicListEntryCassandraDao.java index 50dbfe6a8d..1c7c7849d1 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/TopicListEntryCassandraDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/TopicListEntryCassandraDao.java @@ -16,6 +16,10 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; + +import java.nio.ByteBuffer; + import org.kaaproject.kaa.common.dto.TopicListEntryDto; import org.kaaproject.kaa.server.common.dao.impl.TopicListEntryDao; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants; @@ -24,17 +28,6 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import com.datastax.driver.core.querybuilder.Assignment; - -import java.nio.ByteBuffer; - -import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; -import static com.datastax.driver.core.querybuilder.QueryBuilder.set; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.TOPIC_LIST_ENTRY_HASH_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.TOPIC_LIST_ENTRY_SIMPLE_HASH_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.TOPIC_LIST_ENTRY_TOPIC_IDS_PROPERTY; - @Repository(value = "topicListEntryDao") public class TopicListEntryCassandraDao extends AbstractCassandraDao implements TopicListEntryDao { @@ -67,14 +60,4 @@ public void removeByHash(byte[] hash) { LOG.debug("Remove topic list entry by hash [{}] ", hash); getMapper().delete(getByteBuffer(hash)); } - - @Override - protected CassandraTopicListEntry updateLocked(CassandraTopicListEntry entity) { - return updateLockedImpl( - entity.getVersion(), - new Assignment[] { - set(TOPIC_LIST_ENTRY_SIMPLE_HASH_PROPERTY, entity.getSimpleHash()), - set(TOPIC_LIST_ENTRY_TOPIC_IDS_PROPERTY, entity.getTopicIds())}, - eq(TOPIC_LIST_ENTRY_HASH_PROPERTY, entity.getHash())); - } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClient.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClient.java index 0b4777c8bd..4129636434 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClient.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClient.java @@ -17,23 +17,24 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.client; -import com.datastax.driver.core.Cluster; -import com.datastax.driver.core.Session; -import com.datastax.driver.mapping.Mapper; -import com.datastax.driver.mapping.MappingManager; -import org.apache.commons.lang.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; import java.io.Closeable; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import static com.datastax.driver.core.ProtocolOptions.Compression; +import javax.annotation.PostConstruct; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import com.datastax.driver.core.Cluster; +import com.datastax.driver.core.ProtocolOptions.Compression; +import com.datastax.driver.core.Session; +import com.datastax.driver.mapping.Mapper; +import com.datastax.driver.mapping.MappingManager; @Component public class CassandraClient implements Closeable { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClientOptions.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClientOptions.java index 099490b9bd..659d6fd99e 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClientOptions.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/client/CassandraClientOptions.java @@ -17,13 +17,14 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.client; -import com.datastax.driver.core.ConsistencyLevel; -import com.datastax.driver.core.QueryOptions; -import com.datastax.driver.core.SocketOptions; +import static org.apache.commons.lang.StringUtils.isNotBlank; + import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import static org.apache.commons.lang.StringUtils.isNotBlank; +import com.datastax.driver.core.ConsistencyLevel; +import com.datastax.driver.core.QueryOptions; +import com.datastax.driver.core.SocketOptions; @Component public class CassandraClientOptions { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAccessTokenDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAccessTokenDao.java index 16e2a5a7b1..72faf558fc 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAccessTokenDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAccessTokenDao.java @@ -16,6 +16,8 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.filter; +import java.nio.ByteBuffer; + import org.kaaproject.kaa.server.common.nosql.cassandra.dao.AbstractCassandraDao; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraEPByAccessToken; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants; @@ -23,14 +25,12 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import java.nio.ByteBuffer; - @Repository public class CassandraEPByAccessTokenDao extends AbstractCassandraDao { private static final Logger LOG = LoggerFactory.getLogger(CassandraEPByAccessTokenDao.class); @Override - protected Class getColumnFamilyClass() { + protected Class getColumnFamilyClass() { return CassandraEPByAccessToken.class; } @@ -48,10 +48,4 @@ public ByteBuffer findEPIdByAccessToken(String accessToken) { } return endpointKeyHash; } - - @Override - protected CassandraEPByAccessToken updateLocked( - CassandraEPByAccessToken entity) { - throw new UnsupportedOperationException("Not implemented!"); - } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAppIdDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAppIdDao.java index ab137d587f..58b76ec848 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAppIdDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByAppIdDao.java @@ -16,29 +16,27 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.filter; +import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; +import static com.datastax.driver.core.querybuilder.QueryBuilder.gte; +import static com.datastax.driver.core.querybuilder.QueryBuilder.select; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_APP_ID_APPLICATION_ID_PROPERTY; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_APP_ID_ENDPOINT_KEY_HASH_PROPERTY; + +import java.nio.ByteBuffer; +import java.util.List; + import org.apache.commons.codec.binary.Base64; import org.kaaproject.kaa.common.dto.PageLinkDto; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.AbstractCassandraDao; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraEPByAppId; import org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants; - -import static com.datastax.driver.core.querybuilder.QueryBuilder.select; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; import com.datastax.driver.core.Statement; -import java.nio.ByteBuffer; -import java.util.List; - -import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; -import static com.datastax.driver.core.querybuilder.QueryBuilder.gte; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_APP_ID_APPLICATION_ID_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_APP_ID_ENDPOINT_KEY_HASH_PROPERTY; - @Repository public class CassandraEPByAppIdDao extends AbstractCassandraDao { @@ -94,9 +92,4 @@ public ByteBuffer[] findEPByAppId(PageLinkDto pageLink, String appId) { List filter = findListByStatement(queryStatement); return getEndpointKeyHash(filter); } - - @Override - protected CassandraEPByAppId updateLocked(CassandraEPByAppId entity) { - throw new UnsupportedOperationException("Not implemented!"); - } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByEndpointGroupIdDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByEndpointGroupIdDao.java index 8b6edef67f..8cc56593b3 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByEndpointGroupIdDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPByEndpointGroupIdDao.java @@ -19,9 +19,9 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.eq; import static com.datastax.driver.core.querybuilder.QueryBuilder.gte; import static com.datastax.driver.core.querybuilder.QueryBuilder.select; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_ENDPOINT_GROUP_ID_ENDPOINT_GROUP_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_ENDPOINT_GROUP_ID_ENDPOINT_KEY_HASH_PROPERTY; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; import java.nio.ByteBuffer; import java.util.List; @@ -82,10 +82,4 @@ public ByteBuffer[] findEPByEndpointGroupId(PageLinkDto pageLink) { List filter = findListByStatement(queryStatement); return getEndpointKeyHash(filter); } - - @Override - protected CassandraEPByEndpointGroupId updateLocked( - CassandraEPByEndpointGroupId entity) { - throw new UnsupportedOperationException("Not implemented!"); - } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPBySdkTokenDao.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPBySdkTokenDao.java index d16004da23..efdbf65438 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPBySdkTokenDao.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/filter/CassandraEPBySdkTokenDao.java @@ -76,9 +76,4 @@ public ByteBuffer[] getEPIdsBySdkToken(String sdkToken) { return result; } - - @Override - protected CassandraEPBySdkToken updateLocked(CassandraEPBySdkToken entity) { - throw new UnsupportedOperationException("Not implemented!"); - } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAccessToken.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAccessToken.java index 96525aec1d..ae9a20bddd 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAccessToken.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAccessToken.java @@ -16,20 +16,16 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; +import java.io.Serializable; +import java.nio.ByteBuffer; import com.datastax.driver.mapping.annotations.Column; import com.datastax.driver.mapping.annotations.PartitionKey; import com.datastax.driver.mapping.annotations.Table; import com.datastax.driver.mapping.annotations.Transient; -import java.io.Serializable; -import java.nio.ByteBuffer; - -import org.kaaproject.kaa.common.dto.HasVersion; - @Table(name = CassandraModelConstants.EP_BY_ACCESS_TOKEN_COLUMN_FAMILY_NAME) -public class CassandraEPByAccessToken implements HasVersion, Serializable { +public class CassandraEPByAccessToken implements Serializable { @Transient private static final long serialVersionUID = -8826203709978813176L; @@ -39,9 +35,6 @@ public class CassandraEPByAccessToken implements HasVersion, Serializable { private String accessToken; @Column(name = CassandraModelConstants.EP_BY_ACCESS_TOKEN_ENDPOINT_KEY_HASH_PROPERTY) private ByteBuffer endpointKeyHash; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEPByAccessToken() { } @@ -66,16 +59,6 @@ public ByteBuffer getEndpointKeyHash() { public void setEndpointKeyHash(ByteBuffer endpointKeyHash) { this.endpointKeyHash = endpointKeyHash; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAppId.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAppId.java index 84b9a74769..90dc43ac67 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAppId.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByAppId.java @@ -16,7 +16,8 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; +import java.io.Serializable; +import java.nio.ByteBuffer; import com.datastax.driver.mapping.annotations.ClusteringColumn; import com.datastax.driver.mapping.annotations.Column; @@ -24,13 +25,8 @@ import com.datastax.driver.mapping.annotations.Table; import com.datastax.driver.mapping.annotations.Transient; -import java.io.Serializable; -import java.nio.ByteBuffer; - -import org.kaaproject.kaa.common.dto.HasVersion; - @Table(name = CassandraModelConstants.EP_BY_APP_ID_COLUMN_FAMILY_NAME) -public class CassandraEPByAppId implements HasVersion, Serializable { +public class CassandraEPByAppId implements Serializable { @Transient private static final long serialVersionUID = 4620788066149588088L; @@ -41,9 +37,6 @@ public class CassandraEPByAppId implements HasVersion, Serializable { @ClusteringColumn @Column(name = CassandraModelConstants.EP_BY_APP_ID_ENDPOINT_KEY_HASH_PROPERTY) private ByteBuffer endpointKeyHash; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEPByAppId() { } @@ -68,16 +61,6 @@ public ByteBuffer getEndpointKeyHash() { public void setEndpointKeyHash(ByteBuffer endpointKeyHash) { this.endpointKeyHash = endpointKeyHash; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByEndpointGroupId.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByEndpointGroupId.java index a479622c09..d69bf5a572 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByEndpointGroupId.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPByEndpointGroupId.java @@ -16,7 +16,8 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; +import java.io.Serializable; +import java.nio.ByteBuffer; import com.datastax.driver.mapping.annotations.ClusteringColumn; import com.datastax.driver.mapping.annotations.Column; @@ -24,13 +25,8 @@ import com.datastax.driver.mapping.annotations.Table; import com.datastax.driver.mapping.annotations.Transient; -import java.io.Serializable; -import java.nio.ByteBuffer; - -import org.kaaproject.kaa.common.dto.HasVersion; - @Table(name = CassandraModelConstants.EP_BY_ENDPOINT_GROUP_ID_COLUMN_FAMILY_NAME) -public class CassandraEPByEndpointGroupId implements HasVersion, Serializable { +public class CassandraEPByEndpointGroupId implements Serializable { @Transient private static final long serialVersionUID = 4892433114353644609L; @@ -41,9 +37,6 @@ public class CassandraEPByEndpointGroupId implements HasVersion, Serializable { @ClusteringColumn @Column(name = CassandraModelConstants.EP_BY_ENDPOINT_GROUP_ID_ENDPOINT_KEY_HASH_PROPERTY) private ByteBuffer endpointKeyHash; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEPByEndpointGroupId() { } @@ -68,16 +61,6 @@ public ByteBuffer getEndpointKeyHash() { public void setEndpointKeyHash(ByteBuffer endpointKeyHash) { this.endpointKeyHash = endpointKeyHash; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public int hashCode() { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPBySdkToken.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPBySdkToken.java index 3d9eadf0ae..b915283fa0 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPBySdkToken.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEPBySdkToken.java @@ -16,7 +16,6 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_SDK_TOKEN_COLUMN_FAMILY_NAME; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_SDK_TOKEN_ENDPOINT_KEY_HASH_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_BY_SDK_TOKEN_SDK_TOKEN_PROPERTY; @@ -24,8 +23,6 @@ import java.io.Serializable; import java.nio.ByteBuffer; -import org.kaaproject.kaa.common.dto.HasVersion; - import com.datastax.driver.mapping.annotations.Column; import com.datastax.driver.mapping.annotations.PartitionKey; import com.datastax.driver.mapping.annotations.Table; @@ -37,7 +34,7 @@ * @since v0.8.0 */ @Table(name = EP_BY_SDK_TOKEN_COLUMN_FAMILY_NAME) -public class CassandraEPBySdkToken implements HasVersion, Serializable { +public class CassandraEPBySdkToken implements Serializable { @Transient private static final long serialVersionUID = 3580976363337794171L; @@ -48,9 +45,6 @@ public class CassandraEPBySdkToken implements HasVersion, Serializable { @Column(name = EP_BY_SDK_TOKEN_ENDPOINT_KEY_HASH_PROPERTY) private ByteBuffer endpointKeyHash; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEPBySdkToken() { } @@ -75,16 +69,6 @@ public ByteBuffer getEndpointKeyHash() { public void setEndpointKeyHash(ByteBuffer endpointKeyHash) { this.endpointKeyHash = endpointKeyHash; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public int hashCode() { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointConfiguration.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointConfiguration.java index 362d13fced..6f4a707d88 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointConfiguration.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointConfiguration.java @@ -16,21 +16,23 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import com.datastax.driver.mapping.annotations.Column; -import com.datastax.driver.mapping.annotations.PartitionKey; -import com.datastax.driver.mapping.annotations.Table; -import com.datastax.driver.mapping.annotations.Transient; - -import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; -import org.kaaproject.kaa.server.common.dao.model.EndpointConfiguration; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_COLUMN_FAMILY_NAME; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_HASH_PROPERTY; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_ID_PROPERTY; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_CONFIGURATION_CONF_PROPERTY; import java.io.Serializable; import java.nio.ByteBuffer; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.*; +import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; +import org.kaaproject.kaa.server.common.dao.model.EndpointConfiguration; + +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import com.datastax.driver.mapping.annotations.Transient; @Table(name = ENDPOINT_CONFIGURATION_COLUMN_FAMILY_NAME) @@ -46,9 +48,6 @@ public final class CassandraEndpointConfiguration implements EndpointConfigurati private ByteBuffer configuration; @Column(name = ENDPOINT_CONFIGURATION_CONF_ID_PROPERTY) private String id; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEndpointConfiguration() { } @@ -56,7 +55,6 @@ public CassandraEndpointConfiguration() { public CassandraEndpointConfiguration(EndpointConfigurationDto dto) { this.configuration = getByteBuffer(dto.getConfiguration()); this.configurationHash = getByteBuffer(dto.getConfigurationHash()); - this.version = dto.getVersion(); } public ByteBuffer getConfigurationHash() { @@ -82,16 +80,6 @@ public String getId() { public void setId(String id) { this.id = id; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { @@ -130,7 +118,6 @@ public EndpointConfigurationDto toDto() { EndpointConfigurationDto dto = new EndpointConfigurationDto(); dto.setConfiguration(getBytes(configuration)); dto.setConfigurationHash(getBytes(configurationHash)); - dto.setVersion(version); return dto; } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointNotification.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointNotification.java index 3337b11baa..b70d81f8b4 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointNotification.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointNotification.java @@ -16,6 +16,20 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; +import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.parseId; + +import java.io.Serializable; +import java.nio.ByteBuffer; +import java.util.Date; + +import org.kaaproject.kaa.common.dto.EndpointNotificationDto; +import org.kaaproject.kaa.common.dto.NotificationDto; +import org.kaaproject.kaa.common.dto.NotificationTypeDto; +import org.kaaproject.kaa.server.common.dao.model.EndpointNotification; + import com.datastax.driver.core.utils.Bytes; import com.datastax.driver.mapping.EnumType; import com.datastax.driver.mapping.annotations.ClusteringColumn; @@ -25,20 +39,6 @@ import com.datastax.driver.mapping.annotations.Table; import com.datastax.driver.mapping.annotations.Transient; -import org.kaaproject.kaa.common.dto.EndpointNotificationDto; -import org.kaaproject.kaa.common.dto.NotificationDto; -import org.kaaproject.kaa.common.dto.NotificationTypeDto; -import org.kaaproject.kaa.server.common.dao.model.EndpointNotification; - -import java.io.Serializable; -import java.nio.ByteBuffer; -import java.util.Date; - -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.parseId; - @Table(name = CassandraModelConstants.ET_NF_COLUMN_FAMILY_NAME) public final class CassandraEndpointNotification implements EndpointNotification, Serializable { @@ -98,7 +98,6 @@ public CassandraEndpointNotification(EndpointNotificationDto dto) { } this.id = dto.getId() != null ? dto.getId() : generateId(); - this.version = dto.getVersion(); } @@ -207,16 +206,6 @@ public String getTopicId() { public void setTopicId(String topicId) { this.topicId = topicId; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { @@ -289,7 +278,6 @@ public EndpointNotificationDto toDto() { notificationDto.setExpiredAt(expiredAt); notificationDto.setTopicId(topicId); dto.setNotificationDto(notificationDto); - dto.setVersion(version); return dto; } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointUserConfiguration.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointUserConfiguration.java index 2c7e58a731..1728c97a8d 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointUserConfiguration.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraEndpointUserConfiguration.java @@ -15,24 +15,23 @@ */ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import com.datastax.driver.mapping.annotations.ClusteringColumn; -import com.datastax.driver.mapping.annotations.Column; -import com.datastax.driver.mapping.annotations.PartitionKey; -import com.datastax.driver.mapping.annotations.Table; -import com.datastax.driver.mapping.annotations.Transient; - -import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; -import org.kaaproject.kaa.server.common.dao.model.EndpointUserConfiguration; - -import java.io.Serializable; - -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_APP_TOKEN_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_BODY_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_COLUMN_FAMILY_NAME; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_USER_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EP_USER_CONF_VERSION_PROPERTY; +import java.io.Serializable; + +import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; +import org.kaaproject.kaa.server.common.dao.model.EndpointUserConfiguration; + +import com.datastax.driver.mapping.annotations.ClusteringColumn; +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import com.datastax.driver.mapping.annotations.Transient; + @Table(name = EP_USER_CONF_COLUMN_FAMILY_NAME) public class CassandraEndpointUserConfiguration implements EndpointUserConfiguration, Serializable { @@ -50,9 +49,6 @@ public class CassandraEndpointUserConfiguration implements EndpointUserConfigura private Integer schemaVersion; @Column(name = EP_USER_CONF_BODY_PROPERTY) private String body; - - @Column(name = OPT_LOCK) - private Long version; public CassandraEndpointUserConfiguration() { } @@ -62,7 +58,6 @@ public CassandraEndpointUserConfiguration(EndpointUserConfigurationDto dto) { this.appToken = dto.getAppToken(); this.schemaVersion = dto.getSchemaVersion(); this.body = dto.getBody(); - this.version = dto.getVersion(); } @Override @@ -102,16 +97,6 @@ public String getBody() { public void setBody(String body) { this.body = body; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public EndpointUserConfigurationDto toDto() { @@ -120,7 +105,6 @@ public EndpointUserConfigurationDto toDto() { dto.setBody(body); dto.setSchemaVersion(schemaVersion); dto.setUserId(userId); - dto.setVersion(version); return dto; } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraNotification.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraNotification.java index b2e1435a78..e7126e0366 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraNotification.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraNotification.java @@ -16,22 +16,6 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import com.datastax.driver.mapping.EnumType; -import com.datastax.driver.mapping.annotations.ClusteringColumn; -import com.datastax.driver.mapping.annotations.Column; -import com.datastax.driver.mapping.annotations.Enumerated; -import com.datastax.driver.mapping.annotations.PartitionKey; -import com.datastax.driver.mapping.annotations.Table; -import com.datastax.driver.mapping.annotations.Transient; - -import org.kaaproject.kaa.common.dto.NotificationDto; -import org.kaaproject.kaa.common.dto.NotificationTypeDto; -import org.kaaproject.kaa.server.common.dao.model.Notification; - -import java.io.Serializable; -import java.nio.ByteBuffer; -import java.util.Date; - import static org.apache.commons.lang.StringUtils.isBlank; import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; @@ -50,6 +34,22 @@ import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.NF_TOPIC_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.NF_VERSION_PROPERTY; +import java.io.Serializable; +import java.nio.ByteBuffer; +import java.util.Date; + +import org.kaaproject.kaa.common.dto.NotificationDto; +import org.kaaproject.kaa.common.dto.NotificationTypeDto; +import org.kaaproject.kaa.server.common.dao.model.Notification; + +import com.datastax.driver.mapping.EnumType; +import com.datastax.driver.mapping.annotations.ClusteringColumn; +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.Enumerated; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import com.datastax.driver.mapping.annotations.Transient; + @Table(name = NF_COLUMN_FAMILY_NAME) public final class CassandraNotification implements Notification, Serializable { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraTopicListEntry.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraTopicListEntry.java index a8458b299d..8bb261e0ac 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraTopicListEntry.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/CassandraTopicListEntry.java @@ -16,23 +16,23 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model; -import com.datastax.driver.mapping.annotations.Column; -import com.datastax.driver.mapping.annotations.PartitionKey; -import com.datastax.driver.mapping.annotations.Table; -import com.datastax.driver.mapping.annotations.Transient; -import org.kaaproject.kaa.common.dto.TopicDto; -import org.kaaproject.kaa.common.dto.TopicListEntryDto; -import org.kaaproject.kaa.server.common.dao.model.TopicListEntry; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; +import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.TOPIC_LIST_ENTRY_COLUMN_FAMILY_NAME; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getByteBuffer; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.CassandraDaoUtil.getBytes; -import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.TOPIC_LIST_ENTRY_COLUMN_FAMILY_NAME; +import org.kaaproject.kaa.common.dto.TopicDto; +import org.kaaproject.kaa.common.dto.TopicListEntryDto; +import org.kaaproject.kaa.server.common.dao.model.TopicListEntry; + +import com.datastax.driver.mapping.annotations.Column; +import com.datastax.driver.mapping.annotations.PartitionKey; +import com.datastax.driver.mapping.annotations.Table; +import com.datastax.driver.mapping.annotations.Transient; @Table(name = TOPIC_LIST_ENTRY_COLUMN_FAMILY_NAME) @@ -48,9 +48,6 @@ public final class CassandraTopicListEntry implements TopicListEntry, Serializab private int simpleHash; @Column(name = CassandraModelConstants.TOPIC_LIST_ENTRY_TOPIC_IDS_PROPERTY) private List topicIds; - - @Column(name = OPT_LOCK) - private Long version; public CassandraTopicListEntry() { } @@ -64,7 +61,6 @@ public CassandraTopicListEntry(TopicListEntryDto dto) { topicIds.add(topic.getId()); } } - this.version = dto.getVersion(); } public ByteBuffer getHash() { @@ -127,18 +123,6 @@ public TopicListEntryDto toDto() { topicDto.setId(topicId); topicDtos.add(topicDto); } - TopicListEntryDto dto = new TopicListEntryDto(simpleHash, getBytes(hash), topicDtos); - dto.setVersion(version); - return dto; - } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; + return new TopicListEntryDto(simpleHash, getBytes(hash), topicDtos); } } diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEndpointGroupState.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEndpointGroupState.java index 614e0a4148..bfd6ae85df 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEndpointGroupState.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEndpointGroupState.java @@ -16,19 +16,20 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.type; -import com.datastax.driver.mapping.annotations.Field; -import com.datastax.driver.mapping.annotations.Transient; -import com.datastax.driver.mapping.annotations.UDT; -import org.kaaproject.kaa.common.dto.EndpointGroupStateDto; -import org.kaaproject.kaa.server.common.dao.model.ToDto; - -import java.io.Serializable; - import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_GROUP_STATE_CONFIGURATION_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_GROUP_STATE_ENDPOINT_GROUP_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_GROUP_STATE_PROFILE_FILTER_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.ENDPOINT_GROUP_STATE_USER_TYPE_NAME; +import java.io.Serializable; + +import org.kaaproject.kaa.common.dto.EndpointGroupStateDto; +import org.kaaproject.kaa.server.common.dao.model.ToDto; + +import com.datastax.driver.mapping.annotations.Field; +import com.datastax.driver.mapping.annotations.Transient; +import com.datastax.driver.mapping.annotations.UDT; + @UDT(name = ENDPOINT_GROUP_STATE_USER_TYPE_NAME) public final class CassandraEndpointGroupState implements ToDto, Serializable { diff --git a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEventClassFamilyVersionState.java b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEventClassFamilyVersionState.java index 2174fc1303..c9ceede6bf 100644 --- a/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEventClassFamilyVersionState.java +++ b/server/common/nosql/cassandra-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/cassandra/dao/model/type/CassandraEventClassFamilyVersionState.java @@ -16,18 +16,19 @@ package org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.type; -import com.datastax.driver.mapping.annotations.Field; -import com.datastax.driver.mapping.annotations.Transient; -import com.datastax.driver.mapping.annotations.UDT; -import org.kaaproject.kaa.common.dto.EventClassFamilyVersionStateDto; -import org.kaaproject.kaa.server.common.dao.model.ToDto; - -import java.io.Serializable; - import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EVENT_CLASS_FAMILY_VERSION_STATE_ECF_ID_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EVENT_CLASS_FAMILY_VERSION_STATE_ECF_VERSION_PROPERTY; import static org.kaaproject.kaa.server.common.nosql.cassandra.dao.model.CassandraModelConstants.EVENT_CLASS_FAMILY_VERSION_STATE_USER_TYPE_NAME; +import java.io.Serializable; + +import org.kaaproject.kaa.common.dto.EventClassFamilyVersionStateDto; +import org.kaaproject.kaa.server.common.dao.model.ToDto; + +import com.datastax.driver.mapping.annotations.Field; +import com.datastax.driver.mapping.annotations.Transient; +import com.datastax.driver.mapping.annotations.UDT; + @UDT(name = EVENT_CLASS_FAMILY_VERSION_STATE_USER_TYPE_NAME) public final class CassandraEventClassFamilyVersionState implements ToDto, Serializable { diff --git a/server/common/nosql/cassandra-dao/src/main/resources/cassandra.cql b/server/common/nosql/cassandra-dao/src/main/resources/cassandra.cql index b4b1d1f722..4d6d6b1deb 100644 --- a/server/common/nosql/cassandra-dao/src/main/resources/cassandra.cql +++ b/server/common/nosql/cassandra-dao/src/main/resources/cassandra.cql @@ -93,21 +93,18 @@ CREATE TABLE IF NOT EXISTS kaa.ep_profile ( CREATE TABLE IF NOT EXISTS kaa.app_eps ( app_id text, - ep_key_hash blob, - opt_lock bigint, + ep_key_hash blob PRIMARY KEY (app_id, ep_key_hash) ); CREATE TABLE IF NOT EXISTS kaa.access_token_eps ( access_token text PRIMARY KEY , - ep_key_hash blob, - opt_lock bigint + ep_key_hash blob ); CREATE TABLE IF NOT EXISTS kaa.endpoint_group_id_eps ( ep_group_id text , - ep_key_hash blob, - opt_lock bigint, + ep_key_hash blob PRIMARY KEY (ep_group_id, ep_key_hash) ); diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractMongoDao.java index 94426ef7fa..188eca71c4 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractMongoDao.java @@ -18,12 +18,9 @@ import java.util.List; -import org.kaaproject.kaa.common.dto.HasVersion; -import org.kaaproject.kaa.server.common.dao.exception.KaaOptimisticLockingFailureException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.OptimisticLockingFailureException; import org.springframework.data.mongodb.core.FindAndModifyOptions; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; @@ -31,7 +28,7 @@ import com.mongodb.DBCollection; -public abstract class AbstractMongoDao { +public abstract class AbstractMongoDao { private static final Logger LOG = LoggerFactory.getLogger(AbstractMongoDao.class); @@ -77,13 +74,8 @@ protected long count(Query query) { } public T save(T dto) { - try { - mongoTemplate.save(dto); - return dto; - } catch (OptimisticLockingFailureException exception) { - LOG.error("[{}] Can't update entity with version {}. Entity already changed!", getDocumentClass(), dto.getVersion()); - throw new KaaOptimisticLockingFailureException("Can't update entity with version " + dto.getVersion() + ". Entity already changed!"); - } + mongoTemplate.save(dto); + return dto; } public V save(V dto, Class clazz) { diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractVersionableMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractVersionableMongoDao.java new file mode 100644 index 0000000000..786dcee9ec --- /dev/null +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/AbstractVersionableMongoDao.java @@ -0,0 +1,24 @@ +package org.kaaproject.kaa.server.common.nosql.mongo.dao; + +import org.kaaproject.kaa.common.dto.HasVersion; +import org.kaaproject.kaa.server.common.dao.exception.KaaOptimisticLockingFailureException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.dao.OptimisticLockingFailureException; + +public abstract class AbstractVersionableMongoDao extends AbstractMongoDao { + + private static final Logger LOG = LoggerFactory.getLogger(AbstractVersionableMongoDao.class); + + public T save(T dto) { + try { + mongoTemplate.save(dto); + return dto; + } catch (OptimisticLockingFailureException exception) { + LOG.error("[{}] Can't update entity with version {}. Entity already changed!", getDocumentClass(), dto.getVersion()); + throw new KaaOptimisticLockingFailureException( + "Can't update entity with version " + dto.getVersion() + ". Entity already changed!"); + } + } + +} diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointConfigurationMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointConfigurationMongoDao.java index 582560a416..689767ab6a 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointConfigurationMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointConfigurationMongoDao.java @@ -16,7 +16,12 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao; -import com.mongodb.DBObject; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ID; +import static org.springframework.data.mongodb.core.query.Criteria.where; +import static org.springframework.data.mongodb.core.query.Query.query; + +import java.nio.ByteBuffer; + import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; import org.kaaproject.kaa.server.common.dao.impl.EndpointConfigurationDao; import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoEndpointConfiguration; @@ -25,11 +30,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import java.nio.ByteBuffer; - -import static org.springframework.data.mongodb.core.query.Criteria.where; -import static org.springframework.data.mongodb.core.query.Query.query; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ID; +import com.mongodb.DBObject; @Repository public class EndpointConfigurationMongoDao extends AbstractMongoDao implements EndpointConfigurationDao { diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointNotificationMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointNotificationMongoDao.java index 315992f88d..f2d2db0b1a 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointNotificationMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointNotificationMongoDao.java @@ -16,8 +16,14 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao; -import com.mongodb.DBCursor; -import com.mongodb.DBObject; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_NOTIFICATION; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.EP_ENDPOINT_KEY_HASH; +import static org.springframework.data.mongodb.core.query.Criteria.where; +import static org.springframework.data.mongodb.core.query.Query.query; + +import java.util.ArrayList; +import java.util.List; + import org.kaaproject.kaa.common.dto.EndpointNotificationDto; import org.kaaproject.kaa.server.common.dao.impl.EndpointNotificationDao; import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoEndpointNotification; @@ -25,13 +31,8 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import java.util.ArrayList; -import java.util.List; - -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_NOTIFICATION; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.EP_ENDPOINT_KEY_HASH; -import static org.springframework.data.mongodb.core.query.Criteria.where; -import static org.springframework.data.mongodb.core.query.Query.query; +import com.mongodb.DBCursor; +import com.mongodb.DBObject; @Repository public class EndpointNotificationMongoDao extends AbstractMongoDao implements EndpointNotificationDao { diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointProfileMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointProfileMongoDao.java index 2ec0984bfd..5f146a0417 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointProfileMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointProfileMongoDao.java @@ -54,7 +54,7 @@ import com.mongodb.DBObject; @Repository -public class EndpointProfileMongoDao extends AbstractMongoDao implements EndpointProfileDao { +public class EndpointProfileMongoDao extends AbstractVersionableMongoDao implements EndpointProfileDao { private static final Logger LOG = LoggerFactory.getLogger(EndpointProfileMongoDao.class); diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserConfigurationMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserConfigurationMongoDao.java index d6e821da6e..3f829e6f9c 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserConfigurationMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserConfigurationMongoDao.java @@ -15,16 +15,6 @@ */ package org.kaaproject.kaa.server.common.nosql.mongo.dao; -import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; -import org.kaaproject.kaa.server.common.dao.impl.EndpointUserConfigurationDao; -import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoEndpointUserConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Repository; - -import java.util.Arrays; -import java.util.List; - import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONFIGURATION; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONF_APP_TOKEN; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONF_SCHEMA_VERSION; @@ -32,6 +22,16 @@ import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Query.query; +import java.util.Arrays; +import java.util.List; + +import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; +import org.kaaproject.kaa.server.common.dao.impl.EndpointUserConfigurationDao; +import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoEndpointUserConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + @Repository public class EndpointUserConfigurationMongoDao extends AbstractMongoDao implements EndpointUserConfigurationDao { diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserMongoDao.java index 0752d164a1..f24ac1a637 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/EndpointUserMongoDao.java @@ -25,16 +25,14 @@ import java.util.UUID; import org.kaaproject.kaa.common.dto.EndpointUserDto; -import org.kaaproject.kaa.server.common.dao.exception.KaaOptimisticLockingFailureException; import org.kaaproject.kaa.server.common.dao.impl.EndpointUserDao; import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoEndpointUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.dao.OptimisticLockingFailureException; import org.springframework.stereotype.Repository; @Repository -public class EndpointUserMongoDao extends AbstractMongoDao implements EndpointUserDao { +public class EndpointUserMongoDao extends AbstractVersionableMongoDao implements EndpointUserDao { private static final Logger LOG = LoggerFactory.getLogger(EndpointUserMongoDao.class); diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/NotificationMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/NotificationMongoDao.java index f4fd51347f..c7baa291ad 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/NotificationMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/NotificationMongoDao.java @@ -16,15 +16,6 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao; -import org.kaaproject.kaa.common.dto.NotificationDto; -import org.kaaproject.kaa.server.common.dao.impl.NotificationDao; -import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoNotification; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Repository; - -import java.util.List; - import static org.kaaproject.kaa.common.dto.NotificationTypeDto.SYSTEM; import static org.kaaproject.kaa.common.dto.NotificationTypeDto.USER; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ID; @@ -36,8 +27,17 @@ import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Query.query; +import java.util.List; + +import org.kaaproject.kaa.common.dto.NotificationDto; +import org.kaaproject.kaa.server.common.dao.impl.NotificationDao; +import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoNotification; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + @Repository -public class NotificationMongoDao extends AbstractMongoDao implements NotificationDao { +public class NotificationMongoDao extends AbstractVersionableMongoDao implements NotificationDao { private static final Logger LOG = LoggerFactory.getLogger(NotificationMongoDao.class); diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/TopicListEntryMongoDao.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/TopicListEntryMongoDao.java index 19a2cc50b8..5e381d9744 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/TopicListEntryMongoDao.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/TopicListEntryMongoDao.java @@ -16,7 +16,12 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao; -import com.mongodb.DBObject; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ID; +import static org.springframework.data.mongodb.core.query.Criteria.where; +import static org.springframework.data.mongodb.core.query.Query.query; + +import java.nio.ByteBuffer; + import org.kaaproject.kaa.common.dto.TopicListEntryDto; import org.kaaproject.kaa.server.common.dao.impl.TopicListEntryDao; import org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants; @@ -25,11 +30,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Repository; -import java.nio.ByteBuffer; - -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ID; -import static org.springframework.data.mongodb.core.query.Criteria.where; -import static org.springframework.data.mongodb.core.query.Query.query; +import com.mongodb.DBObject; @Repository public class TopicListEntryMongoDao extends AbstractMongoDao implements TopicListEntryDao { diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointConfiguration.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointConfiguration.java index a0f6c87e15..e434775049 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointConfiguration.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointConfiguration.java @@ -16,19 +16,16 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao.model; -import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; -import org.kaaproject.kaa.server.common.dao.model.EndpointConfiguration; -import org.springframework.data.annotation.Id; -import org.springframework.data.annotation.Version; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; +import static org.kaaproject.kaa.server.common.dao.impl.DaoUtil.getArrayCopy; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_CONFIGURATION; import java.io.Serializable; import java.util.Arrays; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.dao.impl.DaoUtil.getArrayCopy; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_CONFIGURATION; +import org.kaaproject.kaa.common.dto.EndpointConfigurationDto; +import org.kaaproject.kaa.server.common.dao.model.EndpointConfiguration; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = ENDPOINT_CONFIGURATION) public final class MongoEndpointConfiguration implements EndpointConfiguration, Serializable { @@ -39,17 +36,12 @@ public final class MongoEndpointConfiguration implements EndpointConfiguration, private byte[] configurationHash; private byte[] configuration; - @Version - @Field(OPT_LOCK) - private Long version; - public MongoEndpointConfiguration() { } public MongoEndpointConfiguration(EndpointConfigurationDto dto) { this.configuration = dto.getConfiguration(); this.configurationHash = dto.getConfigurationHash(); - this.version = dto.getVersion(); } public byte[] getConfigurationHash() { @@ -68,16 +60,6 @@ public void setConfiguration(byte[] configuration) { this.configuration = configuration; } - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } - @Override public boolean equals(Object o) { if (this == o) return true; @@ -103,7 +85,6 @@ public EndpointConfigurationDto toDto() { EndpointConfigurationDto dto = new EndpointConfigurationDto(); dto.setConfiguration(configuration); dto.setConfigurationHash(configurationHash); - dto.setVersion(version); return dto; } diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointNotification.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointNotification.java index 2863fa1777..6aae7d1035 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointNotification.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointNotification.java @@ -17,6 +17,14 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao.model; +import static org.kaaproject.kaa.common.dto.Util.getArrayCopy; +import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_NOTIFICATION; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.EP_NF_ENDPOINT_KEY_HASH; + +import java.io.Serializable; +import java.util.Arrays; + import org.kaaproject.kaa.common.dto.EndpointNotificationDto; import org.kaaproject.kaa.server.common.dao.model.EndpointNotification; import org.springframework.data.annotation.Id; @@ -24,14 +32,6 @@ import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; -import java.io.Serializable; -import java.util.Arrays; - -import static org.kaaproject.kaa.common.dto.Util.getArrayCopy; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.EP_NF_ENDPOINT_KEY_HASH; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.ENDPOINT_NOTIFICATION; - @Document(collection = ENDPOINT_NOTIFICATION) public final class MongoEndpointNotification implements EndpointNotification, Serializable { @@ -54,7 +54,6 @@ public MongoEndpointNotification(EndpointNotificationDto dto) { this.id = dto.getId(); this.endpointKeyHash = getArrayCopy(dto.getEndpointKeyHash()); this.notification = dto.getNotificationDto() != null ? new MongoNotification(dto.getNotificationDto()) : null; - this.version = dto.getVersion(); } public String getId() { @@ -68,16 +67,6 @@ public MongoNotification getNotification() { public byte[] getEndpointKeyHash() { return endpointKeyHash; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { @@ -122,7 +111,6 @@ public EndpointNotificationDto toDto() { dto.setId(id); dto.setEndpointKeyHash(getArrayCopy(endpointKeyHash)); dto.setNotificationDto(notification != null ? notification.toDto() : null); - dto.setVersion(version); return dto; } } diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointUserConfiguration.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointUserConfiguration.java index 4736a3f13f..26f3151f9a 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointUserConfiguration.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoEndpointUserConfiguration.java @@ -15,7 +15,6 @@ */ package org.kaaproject.kaa.server.common.nosql.mongo.dao.model; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONFIGURATION; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONF_APP_TOKEN; import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.USER_CONF_BODY; @@ -27,7 +26,6 @@ import org.kaaproject.kaa.common.dto.EndpointUserConfigurationDto; import org.kaaproject.kaa.server.common.dao.model.EndpointUserConfiguration; import org.springframework.data.annotation.Id; -import org.springframework.data.annotation.Version; import org.springframework.data.mongodb.core.index.Indexed; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @@ -51,9 +49,6 @@ public class MongoEndpointUserConfiguration implements EndpointUserConfiguration private Integer schemaVersion; @Field(USER_CONF_BODY) private String body; - @Version - @Field(OPT_LOCK) - private Long version; public MongoEndpointUserConfiguration() { } @@ -64,7 +59,6 @@ public MongoEndpointUserConfiguration(EndpointUserConfigurationDto dto) { this.schemaVersion = dto.getSchemaVersion(); this.body = dto.getBody(); this.id = userId + ID_DELIMITER + appToken + ID_DELIMITER + schemaVersion; - this.version = dto.getVersion(); } public String getUserId() { @@ -98,16 +92,6 @@ public String getBody() { public void setBody(String body) { this.body = body; } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; - } @Override public boolean equals(Object o) { @@ -154,7 +138,6 @@ public EndpointUserConfigurationDto toDto() { dto.setBody(body); dto.setSchemaVersion(schemaVersion); dto.setUserId(userId); - dto.setVersion(version); return dto; } } diff --git a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoTopicListEntry.java b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoTopicListEntry.java index 903ace9b96..365b21f53f 100644 --- a/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoTopicListEntry.java +++ b/server/common/nosql/mongo-dao/src/main/java/org/kaaproject/kaa/server/common/nosql/mongo/dao/model/MongoTopicListEntry.java @@ -16,23 +16,21 @@ package org.kaaproject.kaa.server.common.nosql.mongo.dao.model; -import org.kaaproject.kaa.common.dto.TopicDto; -import org.kaaproject.kaa.common.dto.TopicListEntryDto; -import org.kaaproject.kaa.server.common.dao.model.TopicListEntry; -import org.springframework.data.annotation.Id; -import org.springframework.data.annotation.Version; -import org.springframework.data.mongodb.core.mapping.Document; -import org.springframework.data.mongodb.core.mapping.Field; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_ENTRY; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_SIMPLE_HASH; +import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_TOPIC_IDS; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_SIMPLE_HASH; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_TOPIC_IDS; -import static org.kaaproject.kaa.server.common.dao.DaoConstants.OPT_LOCK; -import static org.kaaproject.kaa.server.common.nosql.mongo.dao.model.MongoModelConstants.TOPIC_LIST_ENTRY; +import org.kaaproject.kaa.common.dto.TopicDto; +import org.kaaproject.kaa.common.dto.TopicListEntryDto; +import org.kaaproject.kaa.server.common.dao.model.TopicListEntry; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; @Document(collection = TOPIC_LIST_ENTRY) public final class MongoTopicListEntry implements TopicListEntry, Serializable { @@ -48,10 +46,6 @@ public final class MongoTopicListEntry implements TopicListEntry, Serializable { @Field(TOPIC_LIST_TOPIC_IDS) private List topicIds; - @Version - @Field(OPT_LOCK) - private Long version; - public MongoTopicListEntry() { } @@ -64,7 +58,6 @@ public MongoTopicListEntry(TopicListEntryDto dto) { topicIds.add(topic.getId()); } } - this.version = dto.getVersion(); } public byte[] getHash() { @@ -127,18 +120,6 @@ public TopicListEntryDto toDto() { topicDto.setId(topicId); topicDtos.add(topicDto); } - TopicListEntryDto dto = new TopicListEntryDto(simpleHash, hash, topicDtos); - dto.setVersion(version); - return dto; - } - - @Override - public Long getVersion() { - return version; - } - - @Override - public void setVersion(Long version) { - this.version = version; + return new TopicListEntryDto(simpleHash, hash, topicDtos); } } diff --git a/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBApplicationServiceImplTest.java b/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBApplicationServiceImplTest.java index 5c23018a24..f4e80c27b6 100644 --- a/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBApplicationServiceImplTest.java +++ b/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBApplicationServiceImplTest.java @@ -17,7 +17,6 @@ import org.junit.After; import org.junit.AfterClass; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.kaaproject.kaa.server.common.nosql.mongo.dao.MongoDBTestRunner; diff --git a/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBConfigurationServiceImplTest.java b/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBConfigurationServiceImplTest.java index 976f23a98b..8ad56da873 100644 --- a/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBConfigurationServiceImplTest.java +++ b/server/common/nosql/mongo-dao/src/test/java/org/kaaproject/kaa/server/common/dao/service/MongoDBConfigurationServiceImplTest.java @@ -15,11 +15,8 @@ */ package org.kaaproject.kaa.server.common.dao.service; -import java.io.IOException; - import org.junit.After; import org.junit.AfterClass; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.kaaproject.kaa.server.common.nosql.mongo.dao.MongoDBTestRunner;