Skip to content

Commit

Permalink
KAA-1443: Update version of spring data to fix the issue
Browse files Browse the repository at this point in the history
  • Loading branch information
ashvayka committed Oct 6, 2016
1 parent a156394 commit 3914ad7
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 40 deletions.
20 changes: 10 additions & 10 deletions pom.xml
Expand Up @@ -35,7 +35,9 @@ Copyright 2014-2016 CyberVision, Inc.
<akka.version>2.4.1</akka.version>
<spring.version>4.2.5.RELEASE</spring.version>
<spring.security.version>3.2.9.RELEASE</spring.security.version>
<spring.data.version>Fowler-RELEASE</spring.data.version>
<spring.data.mongodb.version>1.9.4.RELEASE</spring.data.mongodb.version>
<spring.data.couchbase.version>2.1.4.RELEASE</spring.data.couchbase.version>

<spring.retry.version>1.1.2.RELEASE</spring.retry.version>
<ehcache.version>2.8.1</ehcache.version>
<ehcache-spring.version>1.2.0</ehcache-spring.version>
Expand Down Expand Up @@ -907,21 +909,19 @@ Copyright 2014-2016 CyberVision, Inc.
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>${spring.data.version}</version>
<type>pom</type>
<scope>import</scope>
<artifactId>spring-data-mongodb</artifactId>
<version>${spring.data.mongodb.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-couchbase</artifactId>
<version>${spring.data.couchbase.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
<version>${spring.retry.version}</version>
</dependency>
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>${couchbase.client.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-digester3</artifactId>
Expand Down
4 changes: 0 additions & 4 deletions server/appenders/couchbase-appender/pom.xml
Expand Up @@ -59,10 +59,6 @@
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-couchbase</artifactId>
Expand Down
Expand Up @@ -17,7 +17,7 @@
{
"name":"serverUri",
"displayName":"Server URI",
"by_default":"http://127.0.0.1:8091/pools",
"by_default":"http://127.0.0.1:8091",
"type":"string"
}
]
Expand Down
@@ -0,0 +1,60 @@
/*
* Copyright 2014-2016 CyberVision, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kaaproject.kaa.server.appenders.couchbase.appender;

import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
import org.springframework.data.couchbase.core.CouchbaseTemplate;

import java.util.List;

public class KaaCouchbaseCluster extends AbstractCouchbaseConfiguration {

private final List<String> bootstrapHosts;
private final String bucketName;
private final String bucketPassword;

public KaaCouchbaseCluster(List<String> bootstrapHosts, String bucketName, String bucketPassword) {
this.bootstrapHosts = bootstrapHosts;
this.bucketName = bucketName;
this.bucketPassword = bucketPassword;
}

@Override
protected List<String> getBootstrapHosts() {
return bootstrapHosts;
}

@Override
protected String getBucketName() {
return bucketName;
}

@Override
protected String getBucketPassword() {
return bucketPassword;
}

public CouchbaseTemplate createTemplate() throws Exception {
CouchbaseTemplate template = new CouchbaseTemplate(
couchbaseClusterInfo(),
couchbaseCluster().openBucket(getBucketName(), getBucketPassword()));
return template;
}

public void disconnect() throws Exception {
couchbaseCluster().disconnect();
}
}
Expand Up @@ -19,11 +19,11 @@
import java.io.Serializable;
import java.util.Map;

import com.couchbase.client.java.repository.annotation.Field;
import org.kaaproject.kaa.common.dto.logs.LogEventDto;
import org.kaaproject.kaa.server.common.log.shared.avro.gen.RecordHeader;
import org.springframework.data.annotation.Id;
import org.springframework.data.couchbase.core.mapping.Document;
import org.springframework.data.couchbase.core.mapping.Field;

import com.couchbase.client.java.document.json.JsonObject;

Expand Down
Expand Up @@ -16,46 +16,35 @@

package org.kaaproject.kaa.server.appenders.couchbase.appender;

import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import java.util.stream.Collectors;

import org.kaaproject.kaa.common.dto.logs.LogEventDto;
import org.kaaproject.kaa.server.appenders.couchbase.config.gen.CouchbaseConfig;
import org.kaaproject.kaa.server.appenders.couchbase.config.gen.CouchbaseServerUri;
import org.kaaproject.kaa.server.common.log.shared.avro.gen.RecordHeader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.couchbase.core.CouchbaseTemplate;
import org.springframework.data.couchbase.core.WriteResultChecking;

import com.couchbase.client.CouchbaseClient;

public class LogEventCouchbaseDao implements LogEventDao {

private static final Logger LOG = LoggerFactory.getLogger(LogEventCouchbaseDao.class);

private final Random RANDOM = new Random();

private CouchbaseClient couchbaseClient;
private KaaCouchbaseCluster couchbaseConfiguration;
private CouchbaseTemplate couchbaseTemplate;

public LogEventCouchbaseDao(CouchbaseConfig configuration) throws Exception {
couchbaseConfiguration = new KaaCouchbaseCluster(
configuration.getCouchbaseServerUris().stream().map(v -> v.getServerUri()).collect(Collectors.toList()),
configuration.getBucket(),
configuration.getPassword());

List<CouchbaseServerUri> couchbaseUris = configuration.getCouchbaseServerUris();
List<URI> baseList = new ArrayList<URI>(couchbaseUris.size());
for (CouchbaseServerUri couchbaseServerUri : couchbaseUris) {
baseList.add(new URI(couchbaseServerUri.getServerUri()));
}
String pass = configuration.getPassword();
if (pass == null) {
pass = "";
}
couchbaseClient = new CouchbaseClient(baseList, configuration.getBucket(), pass);

couchbaseTemplate = new CouchbaseTemplate(couchbaseClient);
couchbaseTemplate = couchbaseConfiguration.createTemplate();
couchbaseTemplate.setWriteResultChecking(WriteResultChecking.EXCEPTION);
}

Expand All @@ -74,11 +63,15 @@ public List<LogEvent> save(RecordHeader recordHeader, List<LogEventDto> logEvent

@Override
public void close() {
if (couchbaseClient != null) {
couchbaseClient.shutdown();
if (couchbaseConfiguration != null) {
try {
couchbaseConfiguration.disconnect();
} catch (Exception e) {
LOG.error("Failed to disconnect from couchbase claster!", e);
}
}
}

private String getId(String id) {
if (id == null || id.length() == 0) {
id = new UUID(System.currentTimeMillis(), RANDOM.nextLong()).toString();
Expand Down
Expand Up @@ -7,7 +7,7 @@
@SuppressWarnings("all")
@org.apache.avro.specific.AvroGenerated
public class CouchbaseConfig extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CouchbaseConfig\",\"namespace\":\"org.kaaproject.kaa.server.appenders.couchbase.config.gen\",\"fields\":[{\"name\":\"couchbaseServerUris\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CouchbaseServerUri\",\"fields\":[{\"name\":\"serverUri\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Server URI\",\"by_default\":\"http://127.0.0.1:8091/pools\"}]}},\"displayName\":\"Couchbase servers list\",\"minRowCount\":1},{\"name\":\"bucket\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Couchbase bucket name\",\"by_default\":\"default\"},{\"name\":\"password\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Couchbase bucket password\",\"inputType\":\"password\"}]}");
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CouchbaseConfig\",\"namespace\":\"org.kaaproject.kaa.server.appenders.couchbase.config.gen\",\"fields\":[{\"name\":\"couchbaseServerUris\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"CouchbaseServerUri\",\"fields\":[{\"name\":\"serverUri\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Server URI\",\"by_default\":\"http://127.0.0.1:8091\"}]}},\"displayName\":\"Couchbase servers list\",\"minRowCount\":1},{\"name\":\"bucket\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Couchbase bucket name\",\"by_default\":\"default\"},{\"name\":\"password\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"],\"displayName\":\"Couchbase bucket password\",\"inputType\":\"password\"}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
private java.util.List<org.kaaproject.kaa.server.appenders.couchbase.config.gen.CouchbaseServerUri> couchbaseServerUris;
private java.lang.String bucket;
Expand Down
Expand Up @@ -7,7 +7,7 @@
@SuppressWarnings("all")
@org.apache.avro.specific.AvroGenerated
public class CouchbaseServerUri extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CouchbaseServerUri\",\"namespace\":\"org.kaaproject.kaa.server.appenders.couchbase.config.gen\",\"fields\":[{\"name\":\"serverUri\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Server URI\",\"by_default\":\"http://127.0.0.1:8091/pools\"}]}");
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CouchbaseServerUri\",\"namespace\":\"org.kaaproject.kaa.server.appenders.couchbase.config.gen\",\"fields\":[{\"name\":\"serverUri\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"displayName\":\"Server URI\",\"by_default\":\"http://127.0.0.1:8091\"}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
private java.lang.String serverUri;

Expand Down

0 comments on commit 3914ad7

Please sign in to comment.