Skip to content

Commit d078aa3

Browse files
committed
fixes bucket factory
1 parent 0481377 commit d078aa3

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

couchbase-driver/src/main/java/org/jnosql/diana/couchbase/key/DefaultCouchbaseBucketManagerFactory.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ public <K, V> Map<K, V> getMap(String bucketName, Class<K> keyValue, Class<V> va
6767
requireNonNull(bucketName, "bucketName is required");
6868
requireNonNull(valueValue, "valueValue is required");
6969
requireNonNull(keyValue, "keyValue is required");
70+
71+
if(!String.class.isAssignableFrom(keyValue)) {
72+
throw new UnsupportedOperationException("Couchbase Map does not support a not String key instead of: "
73+
+ keyValue);
74+
}
75+
7076
return new CouchbaseMap<>(getBucket(bucketName), bucketName, keyValue, valueValue);
7177
}
7278

@@ -77,6 +83,17 @@ public <K, V> Map<K, V> getMap(String bucketName, String key, Class<K> keyValue,
7783
requireNonNull(key, "key is required");
7884
requireNonNull(valueValue, "valueValue is required");
7985
requireNonNull(keyValue, "keyValue is required");
86+
87+
if(!String.class.isAssignableFrom(keyValue)) {
88+
throw new UnsupportedOperationException("Couchbase Map does not support a not String key instead of: "
89+
+ keyValue);
90+
}
91+
92+
if (JsonValueCheck.checkType(valueValue)) {
93+
return (Map<K, V>)
94+
new com.couchbase.client.java.datastructures.collections.CouchbaseMap<V>(key, getBucket(bucketName));
95+
}
96+
8097
return new CouchbaseMap<>(getBucket(bucketName), key, keyValue, valueValue);
8198
}
8299

@@ -121,7 +138,7 @@ public <T> Queue<T> getQueue(String bucketName, String key, Class<T> clazz) {
121138
requireNonNull(clazz, "valueValue is required");
122139
requireNonNull(key, "key is required");
123140
if (JsonValueCheck.checkType(clazz)) {
124-
return new com.couchbase.client.java.datastructures.collections.CouchbaseQueue<>(bucketName + QUEUE,
141+
return new com.couchbase.client.java.datastructures.collections.CouchbaseQueue<>(key + QUEUE,
125142
getBucket(bucketName));
126143
} else {
127144
return new CouchbaseQueue<>(getBucket(bucketName), key, clazz);
@@ -135,7 +152,7 @@ public <T> Set<T> getSet(String bucketName, String key, Class<T> clazz) {
135152
requireNonNull(clazz, "valueValue is required");
136153
requireNonNull(key, "key is required");
137154
if (JsonValueCheck.checkType(clazz) && !JsonValue.class.isAssignableFrom(clazz)) {
138-
return new CouchbaseArraySet<>(bucketName + SET, getBucket(key));
155+
return new CouchbaseArraySet<>(key + SET, getBucket(key));
139156
} else {
140157
return new CouchbaseSet<>(getBucket(key), bucketName, clazz);
141158
}
@@ -148,7 +165,7 @@ public <T> List<T> getList(String bucketName, String key, Class<T> clazz) {
148165
requireNonNull(clazz, "valueValue is required");
149166
requireNonNull(key, "key is required");
150167
if (JsonValueCheck.checkType(clazz)) {
151-
return new CouchbaseArrayList<>(bucketName + LIST, getBucket(key));
168+
return new CouchbaseArrayList<>(key + LIST, getBucket(key));
152169
} else {
153170
return new CouchbaseList<>(getBucket(bucketName), key, clazz);
154171
}

0 commit comments

Comments
 (0)