Skip to content

Commit f16eb8d

Browse files
authored
Merge pull request #288 from eclipse/enable-pmd
Enable pmd
2 parents e1a65af + 5450791 commit f16eb8d

File tree

8 files changed

+66
-26
lines changed

8 files changed

+66
-26
lines changed

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBBuilders.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.eclipse.jnosql.communication.Configurations;
2020
import org.eclipse.jnosql.communication.Settings;
2121

22-
import java.util.Arrays;
2322
import java.util.List;
2423

2524
import static java.util.Arrays.asList;
@@ -62,7 +61,7 @@ static void load(Settings settings, ArangoDBBuilder arangoDB) {
6261
settings.get(ArangoDBConfigurations.PROTOCOL).map(Object::toString).map(Protocol::valueOf)
6362
.ifPresent(arangoDB::protocol);
6463

65-
settings.prefixSupplier(Arrays.asList(ArangoDBConfigurations.HOST, Configurations.HOST))
64+
settings.prefixSupplier(asList(ArangoDBConfigurations.HOST, Configurations.HOST))
6665
.stream()
6766
.map(Object::toString)
6867
.map(ArangoDBHost::new)

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBUtil.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import com.arangodb.entity.BaseDocument;
2020
import com.arangodb.entity.CollectionEntity;
2121
import org.eclipse.jnosql.communication.Value;
22-
2322
import org.eclipse.jnosql.communication.ValueUtil;
2423
import org.eclipse.jnosql.communication.semistructured.CommunicationEntity;
2524
import org.eclipse.jnosql.communication.semistructured.Element;
@@ -33,8 +32,6 @@
3332
import java.util.function.Function;
3433
import java.util.logging.Level;
3534
import java.util.logging.Logger;
36-
import java.util.stream.Collectors;
37-
import java.util.stream.StreamSupport;
3835

3936
import static java.util.Collections.singletonMap;
4037
import static java.util.stream.Collectors.toList;
@@ -85,7 +82,7 @@ static CommunicationEntity toEntity(BaseDocument document) {
8582
Map<String, Object> properties = document.getProperties();
8683
List<Element> documents = properties.keySet().stream()
8784
.map(k -> toDocument(k, properties))
88-
.collect(Collectors.toList());
85+
.collect(toList());
8986

9087
documents.add(Element.of(KEY, document.getKey()));
9188
documents.add(Element.of(ID, document.getId()));
@@ -110,7 +107,7 @@ private static Element toDocument(String key, Map<String, Object> properties) {
110107
if (value instanceof Map map) {
111108
return Element.of(key, map.keySet()
112109
.stream().map(k -> toDocument(k.toString(), map))
113-
.collect(Collectors.toList()));
110+
.collect(toList()));
114111
}
115112
if (isADocumentIterable(value)) {
116113
List<List<Element>> documents = new ArrayList<>();
@@ -141,7 +138,7 @@ private static Object convert(Value value) {
141138
return getMap(val);
142139
}
143140
if (isSudDocumentList(val)) {
144-
return StreamSupport.stream(Iterable.class.cast(val).spliterator(), false)
141+
return stream(Iterable.class.cast(val).spliterator(), false)
145142
.map(ArangoDBUtil::getMap).collect(toList());
146143
}
147144
return val;
@@ -158,12 +155,12 @@ private static Object getMap(Object val) {
158155
}
159156

160157
private static boolean isSudDocumentList(Object value) {
161-
return value instanceof Iterable && StreamSupport.stream(Iterable.class.cast(value).spliterator(), false).
158+
return value instanceof Iterable && stream(Iterable.class.cast(value).spliterator(), false).
162159
allMatch(d -> d instanceof Iterable && isSudDocument(d));
163160
}
164161

165162
private static boolean isSudDocument(Object value) {
166-
return value instanceof Iterable && StreamSupport.stream(Iterable.class.cast(value).spliterator(), false).
163+
return value instanceof Iterable && stream(Iterable.class.cast(value).spliterator(), false).
167164
allMatch(Element.class::isInstance);
168165
}
169166

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import java.time.Duration;
2828
import java.util.Map;
29-
import java.util.Objects;
3029
import java.util.logging.Level;
3130
import java.util.logging.Logger;
3231
import java.util.stream.Collectors;
@@ -61,7 +60,7 @@ public String name() {
6160

6261
@Override
6362
public CommunicationEntity insert(CommunicationEntity entity) {
64-
Objects.requireNonNull(entity, "entity is required");
63+
requireNonNull(entity, "entity is required");
6564
String collectionName = entity.name();
6665
checkCollection(collectionName);
6766
BaseDocument baseDocument = ArangoDBUtil.getBaseDocument(entity);
@@ -73,7 +72,7 @@ public CommunicationEntity insert(CommunicationEntity entity) {
7372

7473
@Override
7574
public CommunicationEntity update(CommunicationEntity entity) {
76-
Objects.requireNonNull(entity, "entity is required");
75+
requireNonNull(entity, "entity is required");
7776
String collectionName = entity.name();
7877
checkCollection(collectionName);
7978
String id = entity.find(ID, String.class)
@@ -90,7 +89,7 @@ public CommunicationEntity update(CommunicationEntity entity) {
9089

9190
@Override
9291
public Iterable<CommunicationEntity> update(Iterable<CommunicationEntity> entities) {
93-
Objects.requireNonNull(entities, "entities is required");
92+
requireNonNull(entities, "entities is required");
9493
return StreamSupport.stream(entities.spliterator(), false)
9594
.map(this::update)
9695
.collect(Collectors.toList());
@@ -135,7 +134,7 @@ public Stream<CommunicationEntity> select(SelectQuery query) throws NullPointerE
135134

136135
@Override
137136
public long count(String documentCollection) {
138-
Objects.requireNonNull(documentCollection, "document collection is required");
137+
requireNonNull(documentCollection, "document collection is required");
139138
String aql = "RETURN LENGTH(" + documentCollection + ")";
140139
ArangoCursor<Object> query = arangoDB.db(database).query(aql, Object.class, emptyMap(), null);
141140
return StreamSupport.stream(query.spliterator(), false).findFirst().map(Number.class::cast)
@@ -188,16 +187,16 @@ public CommunicationEntity insert(CommunicationEntity entity, Duration ttl) {
188187

189188
@Override
190189
public Iterable<CommunicationEntity> insert(Iterable<CommunicationEntity> entities) {
191-
Objects.requireNonNull(entities, "entities is required");
190+
requireNonNull(entities, "entities is required");
192191
return StreamSupport.stream(entities.spliterator(), false)
193192
.map(this::insert)
194193
.collect(Collectors.toList());
195194
}
196195

197196
@Override
198197
public Iterable<CommunicationEntity> insert(Iterable<CommunicationEntity> entities, Duration ttl) {
199-
Objects.requireNonNull(entities, "entities is required");
200-
Objects.requireNonNull(ttl, "ttl is required");
198+
requireNonNull(entities, "entities is required");
199+
requireNonNull(ttl, "ttl is required");
201200
return StreamSupport.stream(entities.spliterator(), false)
202201
.map(e -> this.insert(e, ttl))
203202
.collect(Collectors.toList());

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/QueryAQLConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ private static void definesCondition(CriteriaCondition condition,
157157
if (isFirstCondition(aql, counter)) {
158158
aql.append(AND);
159159
}
160-
definesCondition(dc, aql, params, entity, ++counter);
160+
definesCondition(dc, aql, params, entity, counter +1);
161161
}
162162
return;
163163
case OR:

jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/mapping/ArangoDBExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void onAfterBeanDiscovery(@Observes final AfterBeanDiscovery afterBeanDiscovery)
3333

3434
LOGGER.info("Starting the onAfterBeanDiscovery with elements number: " + crudTypes.size());
3535

36-
crudTypes.forEach(type -> afterBeanDiscovery.addBean(new ArangoDBRepositoryBean(type)));
36+
crudTypes.forEach(type -> afterBeanDiscovery.addBean(new ArangoDBRepositoryBean<>(type)));
3737

3838
LOGGER.info("Finished the onAfterBeanDiscovery");
3939
}

jnosql-database-commons/src/main/java/org/eclipse/jnosql/communication/driver/DefaultJsonbSupplier.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,16 @@ enum DefaultJsonbSupplier implements JsonbSupplier {
2626

2727
INSTANCE;
2828

29-
{
30-
JsonbConfig config = new JsonbConfig().withPropertyVisibilityStrategy(new PrivateVisibilityStrategy());
31-
this.json = JsonbBuilder.newBuilder().withConfig(config).build();
32-
}
33-
3429
private final Jsonb json;
3530

31+
DefaultJsonbSupplier() {
32+
JsonbConfig config = new JsonbConfig()
33+
.withPropertyVisibilityStrategy(new PrivateVisibilityStrategy());
34+
this.json = JsonbBuilder.newBuilder()
35+
.withConfig(config)
36+
.build();
37+
}
38+
3639
@Override
3740
public Jsonb get() {
3841
return json;

jnosql-database-commons/src/main/java/org/eclipse/jnosql/communication/driver/attachment/ByteArrayEntityAttachment.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.io.ByteArrayInputStream;
1818
import java.io.IOException;
1919
import java.io.InputStream;
20+
import java.util.Arrays;
2021

2122
/**
2223
* Default representation of {@link EntityAttachment} for in-memory data.
@@ -33,7 +34,8 @@ public ByteArrayEntityAttachment(String name, String contentType, long lastModif
3334
this.name = name;
3435
this.contentType = contentType;
3536
this.lastModified = lastModified;
36-
this.data = data;
37+
this.data = data != null ? Arrays.copyOf(data, data.length) : new byte[0];
38+
3739
}
3840

3941
@Override

pmd/pmd-rules.xml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0"?>
2+
3+
<!--
4+
This file is uploaded to https://nexus.cicd.portit.io/#browse/upload:portit-webapps (`/pmd-ruleset/` dir)
5+
and then referenced by URL https://nexus.cicd.portit.io/repository/portit-webapps/pmd-ruleset/pmd-ruleset.xml
6+
-->
7+
<ruleset name="Custom Rules"
8+
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
9+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
11+
<description>Remove rules</description>
12+
<rule ref="category/java/bestpractices.xml">
13+
<exclude name="GuardLogStatement" />
14+
<exclude name="AbstractClassWithoutAbstractMethod" />
15+
<exclude name="JUnitTestsShouldIncludeAssert" />
16+
<exclude name="UseVarargs" />
17+
<exclude name="MethodReturnsInternalArray" />
18+
</rule>
19+
<rule ref="category/java/codestyle.xml">
20+
<exclude name="LongVariable" />
21+
<exclude name="MethodArgumentCouldBeFinal" />
22+
<exclude name="ShortMethodName" />
23+
<exclude name="ShortVariable" />
24+
<exclude name="AtLeastOneConstructor" />
25+
<exclude name="LocalVariableCouldBeFinal" />
26+
<exclude name="UseExplicitTypes" />
27+
<exclude name="OnlyOneReturn" />
28+
<exclude name="CommentDefaultAccessModifier" />
29+
<exclude name="UnnecessaryBoxing" />
30+
<exclude name="UnnecessaryCast" />
31+
<exclude name="TooManyStaticImports" />
32+
<exclude name="CallSuperInConstructor" />
33+
<exclude name="LinguisticNaming" />
34+
<exclude name="EmptyMethodInAbstractClassShouldBeAbstract" />
35+
<exclude name="LambdaCanBeMethodReference" />
36+
</rule>
37+
<rule ref="category/java/security.xml" />
38+
<rule ref="category/java/performance.xml" />
39+
40+
</ruleset>

0 commit comments

Comments
 (0)