Skip to content

Commit ef8dbfc

Browse files
committed
feat: update hbase api
Signed-off-by: Otavio Santana <[email protected]>
1 parent 8f4bf15 commit ef8dbfc

File tree

10 files changed

+91
-94
lines changed

10 files changed

+91
-94
lines changed

jnosql-couchdb/src/main/java/org/eclipse/jnosql/databases/couchdb/communication/CouchDBDocumentQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public String toString() {
118118
/**
119119
* returns a new instance of {@link CouchDBDocumentQuery}
120120
*
121-
* @param query the {@link DocumentQuery}
121+
* @param query the {@link SelectQuery}
122122
* @return a new instance
123123
* @throws NullPointerException when query is null
124124
*/
@@ -130,7 +130,7 @@ public static CouchDBDocumentQuery of(SelectQuery query) {
130130
/**
131131
* returns a new instance of {@link CouchDBDocumentQuery}
132132
*
133-
* @param query the {@link DocumentQuery}
133+
* @param query the {@link SelectQuery}
134134
* @param bookmark {@link CouchDBDocumentQuery#bookmark}
135135
* @return a new instance
136136
* @throws NullPointerException when there is null parameter

jnosql-hbase/src/main/java/org/eclipse/jnosql/databases/hbase/communication/EntityUnit.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
import org.apache.hadoop.hbase.Cell;
1919
import org.apache.hadoop.hbase.client.Result;
20-
import org.eclipse.jnosql.communication.column.Column;
21-
import org.eclipse.jnosql.communication.column.ColumnEntity;
20+
import org.eclipse.jnosql.communication.semistructured.CommunicationEntity;
21+
import org.eclipse.jnosql.communication.semistructured.Element;
2222

2323
import java.util.ArrayList;
2424
import java.util.List;
@@ -34,7 +34,7 @@ class EntityUnit {
3434

3535
private String columnFamily;
3636

37-
private final List<Column> columns = new ArrayList<>();
37+
private final List<Element> columns = new ArrayList<>();
3838

3939
EntityUnit(Result result) {
4040

@@ -48,7 +48,7 @@ class EntityUnit {
4848
if (this.columnFamily == null) {
4949
this.columnFamily = new String(cloneFamily(cell));
5050
}
51-
columns.add(Column.of(name, value));
51+
columns.add(Element.of(name, value));
5252
}
5353
}
5454

@@ -57,20 +57,19 @@ public boolean isNotEmpty() {
5757
return !columns.isEmpty();
5858
}
5959

60-
public ColumnEntity toEntity() {
61-
ColumnEntity entity = ColumnEntity.of(columnFamily);
60+
public CommunicationEntity toEntity() {
61+
var entity = CommunicationEntity.of(columnFamily);
6262
entity.addAll(columns);
6363
entity.add(HBaseUtils.getKey(rowKey));
6464
return entity;
6565
}
6666

6767
@Override
6868
public String toString() {
69-
final StringBuilder sb = new StringBuilder("EntityUnit{");
70-
sb.append("rowKey='").append(rowKey).append('\'');
71-
sb.append(", columnFamily='").append(columnFamily).append('\'');
72-
sb.append(", columns=").append(columns);
73-
sb.append('}');
74-
return sb.toString();
69+
return "EntityUnit{" +
70+
"rowKey='" + rowKey + '\'' +
71+
", columnFamily='" + columnFamily + '\'' +
72+
", columns=" + columns +
73+
'}';
7574
}
7675
}

jnosql-hbase/src/main/java/org/eclipse/jnosql/databases/hbase/communication/HBaseColumnConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import org.apache.hadoop.conf.Configuration;
1919
import org.apache.hadoop.hbase.HBaseConfiguration;
2020
import org.eclipse.jnosql.communication.Settings;
21-
import org.eclipse.jnosql.communication.column.ColumnConfiguration;
21+
import org.eclipse.jnosql.communication.semistructured.DatabaseConfiguration;
2222

2323
import java.util.ArrayList;
2424
import java.util.List;
@@ -31,7 +31,7 @@
3131
* Configuration to HBase that returns {@link HBaseColumnManagerFactory}
3232
* <p>hbase.family.n: as prefix to add family, eg: hbase,family.1=column-family</p>
3333
*/
34-
public class HBaseColumnConfiguration implements ColumnConfiguration {
34+
public class HBaseColumnConfiguration implements DatabaseConfiguration {
3535

3636
private final Configuration configuration;
3737

jnosql-hbase/src/main/java/org/eclipse/jnosql/databases/hbase/communication/HBaseColumnManager.java

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
import org.eclipse.jnosql.communication.Value;
2828
import org.eclipse.jnosql.communication.ValueWriter;
2929
import org.eclipse.jnosql.communication.ValueWriterDecorator;
30-
import org.eclipse.jnosql.communication.column.Column;
31-
import org.eclipse.jnosql.communication.column.ColumnCondition;
32-
import org.eclipse.jnosql.communication.column.ColumnDeleteQuery;
33-
import org.eclipse.jnosql.communication.column.ColumnEntity;
34-
import org.eclipse.jnosql.communication.column.ColumnManager;
35-
import org.eclipse.jnosql.communication.column.ColumnQuery;
30+
import org.eclipse.jnosql.communication.semistructured.CommunicationEntity;
31+
import org.eclipse.jnosql.communication.semistructured.CriteriaCondition;
32+
import org.eclipse.jnosql.communication.semistructured.DatabaseManager;
33+
import org.eclipse.jnosql.communication.semistructured.DeleteQuery;
34+
import org.eclipse.jnosql.communication.semistructured.Element;
35+
import org.eclipse.jnosql.communication.semistructured.SelectQuery;
3636

3737
import java.io.IOException;
3838
import java.time.Duration;
@@ -50,11 +50,11 @@
5050
import static org.eclipse.jnosql.communication.Condition.OR;
5151

5252
/**
53-
* The Hbase implementation to {@link ColumnManager}.
53+
* The Hbase implementation to {@link DatabaseManager}.
5454
* It does not support TTL methods
55-
* <p>{@link HBaseColumnManager#insert(ColumnEntity, Duration)}</p>
55+
* <p>{@link HBaseColumnManager#insert(org.eclipse.jnosql.communication.semistructured.CommunicationEntity, Duration)}</p>
5656
*/
57-
public class HBaseColumnManager implements ColumnManager {
57+
public class HBaseColumnManager implements DatabaseManager {
5858

5959
private static final String KEY_REQUIRED_ERROR = "\"To save an entity is necessary to have an row, a Column that has a blank name. Documents.of(\\\"\\\", keyValue);\"";
6060

@@ -77,14 +77,14 @@ public String name() {
7777
}
7878

7979
@Override
80-
public ColumnEntity insert(ColumnEntity entity) {
80+
public CommunicationEntity insert(CommunicationEntity entity) {
8181
Objects.requireNonNull(entity, "entity is required");
8282
String family = entity.name();
83-
List<Column> columns = entity.columns();
83+
List<Element> columns = entity.elements();
8484
if (columns.isEmpty()) {
8585
return entity;
8686
}
87-
Column columnID = entity.find(HBaseUtils.KEY_COLUMN).orElseThrow(() -> new HBaseException(KEY_REQUIRED_ERROR));
87+
Element columnID = entity.find(HBaseUtils.KEY_COLUMN).orElseThrow(() -> new HBaseException(KEY_REQUIRED_ERROR));
8888

8989
Put put = new Put(Bytes.toBytes(valueToString(columnID.value())));
9090
columns.stream().filter(Predicate.isEqual(columnID).negate()).forEach(column ->
@@ -100,33 +100,33 @@ public ColumnEntity insert(ColumnEntity entity) {
100100
}
101101

102102
@Override
103-
public ColumnEntity update(ColumnEntity entity) throws NullPointerException {
103+
public CommunicationEntity update(CommunicationEntity entity) throws NullPointerException {
104104
return insert(entity);
105105
}
106106

107107
@Override
108-
public Iterable<ColumnEntity> update(Iterable<ColumnEntity> entities) {
108+
public Iterable<CommunicationEntity> update(Iterable<CommunicationEntity> entities) {
109109
Objects.requireNonNull(entities, "entities is required");
110110
return StreamSupport.stream(entities.spliterator(), false)
111111
.map(this::update)
112112
.collect(Collectors.toList());
113113
}
114114

115115
@Override
116-
public ColumnEntity insert(ColumnEntity entity, Duration ttl) throws NullPointerException {
116+
public CommunicationEntity insert(CommunicationEntity entity, Duration ttl) throws NullPointerException {
117117
throw new UnsupportedOperationException("There is not support to save async");
118118
}
119119

120120
@Override
121-
public Iterable<ColumnEntity> insert(Iterable<ColumnEntity> entities) {
121+
public Iterable<CommunicationEntity> insert(Iterable<CommunicationEntity> entities) {
122122
Objects.requireNonNull(entities, "entities is required");
123123
return StreamSupport.stream(entities.spliterator(), false)
124124
.map(this::insert)
125125
.collect(Collectors.toList());
126126
}
127127

128128
@Override
129-
public Iterable<ColumnEntity> insert(Iterable<ColumnEntity> entities, Duration ttl) {
129+
public Iterable<CommunicationEntity> insert(Iterable<CommunicationEntity> entities, Duration ttl) {
130130
Objects.requireNonNull(entities, "entities is required");
131131
Objects.requireNonNull(ttl, "ttl is required");
132132
return StreamSupport.stream(entities.spliterator(), false)
@@ -136,9 +136,9 @@ public Iterable<ColumnEntity> insert(Iterable<ColumnEntity> entities, Duration t
136136

137137

138138
@Override
139-
public void delete(ColumnDeleteQuery query) {
139+
public void delete(DeleteQuery query) {
140140
Objects.requireNonNull(query, "query is required");
141-
ColumnCondition condition = query.condition()
141+
CriteriaCondition condition = query.condition()
142142
.orElseThrow(() -> new IllegalArgumentException("Condition is required"));
143143
checkedCondition(condition);
144144
List<String> values = new ArrayList<>();
@@ -159,9 +159,9 @@ public void delete(ColumnDeleteQuery query) {
159159

160160

161161
@Override
162-
public Stream<ColumnEntity> select(ColumnQuery query) {
162+
public Stream<CommunicationEntity> select(SelectQuery query) {
163163
Objects.requireNonNull(query, "query is required");
164-
ColumnCondition condition = query.condition()
164+
var condition = query.condition()
165165
.orElseThrow(() -> new IllegalArgumentException("Condition is required"));
166166
checkedCondition(condition);
167167
return Stream.of(findById(condition))
@@ -194,7 +194,7 @@ private String valueToString(Value value) {
194194
}
195195
}
196196

197-
private Result[] findById(ColumnCondition condition) {
197+
private Result[] findById(CriteriaCondition condition) {
198198
List<String> values = new ArrayList<>();
199199
convert(condition, values);
200200

@@ -209,29 +209,29 @@ private Result[] findById(ColumnCondition condition) {
209209
}
210210

211211

212-
private void convert(ColumnCondition columnCondition, List<String> values) {
212+
private void convert(CriteriaCondition columnCondition, List<String> values) {
213213
Condition condition = columnCondition.condition();
214214

215215
if (OR.equals(condition)) {
216-
columnCondition.column().get(new TypeReference<List<ColumnCondition>>() {
216+
columnCondition.element().get(new TypeReference<List<CriteriaCondition>>() {
217217
}).forEach(c -> convert(c, values));
218218
} else if (IN.equals(condition)) {
219-
values.addAll(columnCondition.column().get(new TypeReference<List<String>>() {
219+
values.addAll(columnCondition.element().get(new TypeReference<List<String>>() {
220220
}));
221221
} else if (EQUALS.equals(condition)) {
222-
values.add(valueToString(columnCondition.column().value()));
222+
values.add(valueToString(columnCondition.element().value()));
223223
}
224224

225225

226226
}
227227

228-
private void checkedCondition(ColumnCondition columnCondition) {
228+
private void checkedCondition(CriteriaCondition columnCondition) {
229229

230230
Condition condition = columnCondition.condition();
231231
if (OR.equals(condition)) {
232-
List<ColumnCondition> columnConditions = columnCondition.column().get(new TypeReference<>() {
232+
List<CriteriaCondition> columnConditions = columnCondition.element().get(new TypeReference<>() {
233233
});
234-
for (ColumnCondition cc : columnConditions) {
234+
for (CriteriaCondition cc : columnConditions) {
235235
checkedCondition(cc);
236236
}
237237
return;

jnosql-hbase/src/main/java/org/eclipse/jnosql/databases/hbase/communication/HBaseColumnManagerFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
import org.apache.hadoop.hbase.client.Table;
2626
import org.apache.hadoop.hbase.client.TableDescriptor;
2727
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
28-
import org.eclipse.jnosql.communication.column.ColumnManagerFactory;
28+
import org.eclipse.jnosql.communication.semistructured.DatabaseManagerFactory;
2929

3030
import java.io.IOException;
3131
import java.util.Arrays;
3232
import java.util.List;
3333
import java.util.stream.Collectors;
3434

35-
public class HBaseColumnManagerFactory implements ColumnManagerFactory {
35+
public class HBaseColumnManagerFactory implements DatabaseManagerFactory {
3636

3737
private final Configuration configuration;
3838

jnosql-hbase/src/main/java/org/eclipse/jnosql/databases/hbase/communication/HBaseUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
package org.eclipse.jnosql.databases.hbase.communication;
1616

1717

18-
import org.eclipse.jnosql.communication.column.Column;
18+
import org.eclipse.jnosql.communication.semistructured.Element;
1919

2020
final class HBaseUtils {
2121

@@ -25,8 +25,8 @@ private HBaseUtils() {
2525
}
2626

2727

28-
static Column getKey(Object value) {
29-
return Column.of(KEY_COLUMN, value);
28+
static Element getKey(Object value) {
29+
return Element.of(KEY_COLUMN, value);
3030
}
3131

3232

jnosql-hbase/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.column.ColumnConfiguration renamed to jnosql-hbase/src/main/resources/META-INF/services/org.eclipse.jnosql.communication.semistructured.DatabaseConfiguration

File renamed without changes.

jnosql-hbase/src/test/java/org/eclipse/jnosql/databases/hbase/communication/HBaseColumnConfigurationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ public class HBaseColumnConfigurationTest {
3131

3232
@Test
3333
public void shouldCreatesColumnManagerFactory() {
34-
ColumnConfiguration configuration = new HBaseColumnConfiguration();
34+
var configuration = new HBaseColumnConfiguration();
3535
assertNotNull(configuration.apply(Settings.builder().build()));
3636
}
3737

3838
@Test
3939
public void shouldCreatesColumnManagerFactoryFromConfiguration() {
40-
ColumnConfiguration configuration = new HBaseColumnConfiguration();
40+
var configuration = new HBaseColumnConfiguration();
4141
assertNotNull(configuration.apply(Settings.builder().build()));
4242
}
4343

jnosql-hbase/src/test/java/org/eclipse/jnosql/databases/hbase/communication/HBaseColumnManagerFactoryTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
package org.eclipse.jnosql.databases.hbase.communication;
1717

1818
import org.eclipse.jnosql.communication.Settings;
19-
import org.eclipse.jnosql.communication.column.ColumnConfiguration;
20-
import org.eclipse.jnosql.communication.column.ColumnManagerFactory;
19+
import org.eclipse.jnosql.communication.semistructured.DatabaseConfiguration;
2120
import org.junit.jupiter.api.Test;
2221
import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
2322

@@ -28,11 +27,11 @@
2827

2928
@EnabledIfSystemProperty(named = NAMED, matches = MATCHES)
3029
public class HBaseColumnManagerFactoryTest {
31-
private ColumnConfiguration configuration = new HBaseColumnConfiguration();
30+
private DatabaseConfiguration configuration = new HBaseColumnConfiguration();
3231

3332
@Test
3433
public void shouldCreateColumnManager() {
35-
ColumnManagerFactory managerFactory = configuration.apply(Settings.builder().build());
34+
var managerFactory = configuration.apply(Settings.builder().build());
3635
assertNotNull(managerFactory);
3736
}
3837

0 commit comments

Comments
 (0)