Skip to content

Commit 93a7f4e

Browse files
Fix PMD
Co-Authored-By: Johannes Rabauer <8188460+JohannesRabauer@users.noreply.github.com>
1 parent c9bc5c5 commit 93a7f4e

11 files changed

Lines changed: 81 additions & 64 deletions

File tree

spring-data-eclipse-store-jpa/src/test/java/software/xdev/spring/data/eclipse/store/jpa/integration/JpaImportExplicitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class JpaImportExplicitTest
4949
private EclipseStoreClientConfiguration configuration;
5050

5151
@Test
52-
void testEclipseStoreImport_ExplicitNoComponent()
52+
void testEclipseStoreImportExplicitNoComponent()
5353
{
5454
final PersonToTestInJpa customer = new PersonToTestInJpa("", "");
5555
this.personToTestInJpaRepository.save(customer);

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/exceptions/NotComparableException.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,9 @@ public NotComparableException(final String message)
2121
{
2222
super(message);
2323
}
24+
25+
public NotComparableException(final String message, final Throwable cause)
26+
{
27+
super(message, cause);
28+
}
2429
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/lazy/SpringDataEclipseStoreLazy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ static <T> SpringDataEclipseStoreLazy.Default<T> buildWithLazy(final Lazy<T> laz
6464
*
6565
* @param <T> the type of the lazily referenced element
6666
*/
67-
@SuppressWarnings({"java:S2065", "checkstyle:FinalClass"})
68-
class Default<T> implements SpringDataEclipseStoreLazy<T>
67+
@SuppressWarnings({"java:S2065"})
68+
final class Default<T> implements SpringDataEclipseStoreLazy<T>
6969
{
7070
private T objectToBeWrapped;
7171
private Lazy<T> wrappedLazy;

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/query/EclipseStoreQueryCreator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ protected QueryExecutor<T> complete(final AbstractCriteriaNode<T> criteria, @Non
118118
return QueryExecutorCreator.createQuery(this.typeInformation, this.copier, criteria, sort);
119119
}
120120

121+
@SuppressWarnings("PMD.CyclomaticComplexity")
121122
private AbstractCriteriaNode<T> from(
122123
final Part part,
123124
final AbstractCriteriaNode<T> criteria,

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/query/criteria/CriteriaByExample.java

Lines changed: 58 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -107,64 +107,77 @@ private <T> Predicate<ExampleMatcher.PropertySpecifier> createPredicateForSpecif
107107
? example.getMatcher().getDefaultStringMatcher()
108108
: specifier.getStringMatcher();
109109

110-
switch(setOrDefaultMatcher)
110+
return this.createPredicateForStringMatcher(
111+
specifier,
112+
setOrDefaultMatcher,
113+
transformedExampledValue,
114+
transformedValue);
115+
};
116+
}
117+
118+
private boolean createPredicateForStringMatcher(
119+
final ExampleMatcher.PropertySpecifier specifier,
120+
final ExampleMatcher.StringMatcher setOrDefaultMatcher,
121+
final Optional<Object> transformedExampledValue,
122+
final Optional<Object> transformedValue)
123+
{
124+
switch(setOrDefaultMatcher)
125+
{
126+
case DEFAULT, EXACT ->
111127
{
112-
case DEFAULT, EXACT ->
128+
if(transformedExampledValue.get() instanceof String)
113129
{
114-
if(transformedExampledValue.get() instanceof String)
115-
{
116-
return this.valueToString(transformedValue, specifier).equals(this.valueToString(
117-
transformedExampledValue,
118-
specifier));
119-
}
120-
return transformedExampledValue.equals(transformedValue);
130+
return this.valueToString(transformedValue, specifier).equals(this.valueToString(
131+
transformedExampledValue,
132+
specifier));
121133
}
122-
case STARTING ->
123-
{
124-
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
125-
if(valueAsString.isEmpty())
126-
{
127-
return false;
128-
}
129-
return valueAsString.get()
130-
.startsWith(this.valueToString(transformedExampledValue, specifier).get());
131-
}
132-
case ENDING ->
134+
return transformedExampledValue.equals(transformedValue);
135+
}
136+
case STARTING ->
137+
{
138+
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
139+
if(valueAsString.isEmpty())
133140
{
134-
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
135-
if(valueAsString.isEmpty())
136-
{
137-
return false;
138-
}
139-
return valueAsString.get().endsWith(this.valueToString(transformedExampledValue, specifier).get());
141+
return false;
140142
}
141-
case CONTAINING ->
143+
return valueAsString.get()
144+
.startsWith(this.valueToString(transformedExampledValue, specifier).get());
145+
}
146+
case ENDING ->
147+
{
148+
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
149+
if(valueAsString.isEmpty())
142150
{
143-
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
144-
if(valueAsString.isEmpty())
145-
{
146-
return false;
147-
}
148-
return valueAsString.get().contains(this.valueToString(transformedExampledValue, specifier).get());
151+
return false;
149152
}
150-
case REGEX ->
153+
return valueAsString.get().endsWith(this.valueToString(transformedExampledValue, specifier).get());
154+
}
155+
case CONTAINING ->
156+
{
157+
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
158+
if(valueAsString.isEmpty())
151159
{
152-
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
153-
if(valueAsString.isEmpty())
154-
{
155-
return false;
156-
}
157-
return Pattern.compile(
158-
this.valueToString(transformedExampledValue, specifier).get()
159-
)
160-
.matcher(valueAsString.get()).find();
160+
return false;
161161
}
162-
default ->
162+
return valueAsString.get().contains(this.valueToString(transformedExampledValue, specifier).get());
163+
}
164+
case REGEX ->
165+
{
166+
final Optional<String> valueAsString = this.valueToString(transformedValue, specifier);
167+
if(valueAsString.isEmpty())
163168
{
164169
return false;
165170
}
171+
return Pattern.compile(
172+
this.valueToString(transformedExampledValue, specifier).get()
173+
)
174+
.matcher(valueAsString.get()).find();
166175
}
167-
};
176+
default ->
177+
{
178+
return false;
179+
}
180+
}
168181
}
169182

170183
private Optional<String> valueToString(

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/query/executors/EntitySorter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,8 @@ public static <T> Stream<T> sortEntitiesStream(final Class<T> clazz, final Sort
4848
}
4949
catch(final NoSuchFieldException e)
5050
{
51-
throw new NotComparableException(String.format(
52-
"Could not sort entities by property %s",
53-
order.getProperty()));
51+
throw new NotComparableException(
52+
"Could not sort entities by property " + order.getProperty(), e);
5453
}
5554
}
5655
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/EclipseStoreRepositoryFactoryBean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void setConfigurationClass(final Class<?> configurationClass)
6767
}
6868

6969
@Override
70-
public void setBeanFactory(final BeanFactory beanFactory) throws BeansException
70+
public void setBeanFactory(final BeanFactory beanFactory)
7171
{
7272
super.setBeanFactory(beanFactory);
7373
this.beanFactory = beanFactory;

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/reposyncer/SimpleRepositorySynchronizer.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,11 @@ public SimpleRepositorySynchronizer(final Root root)
5151
}
5252
final Class<Object> objectInGraphClass = (Class<Object>)objectInGraph.getClass();
5353
final IdentitySet<Object> entityListForCurrentObject = this.root.getEntityList(objectInGraphClass);
54-
if(entityListForCurrentObject != null)
54+
if(entityListForCurrentObject != null
55+
&& !entityListForCurrentObject.contains(objectInGraph))
5556
{
56-
57-
if(!entityListForCurrentObject.contains(objectInGraph))
58-
{
59-
entityListForCurrentObject.add(objectInGraph);
60-
this.listsToStore.add(entityListForCurrentObject);
61-
}
57+
entityListForCurrentObject.add(objectInGraph);
58+
this.listsToStore.add(entityListForCurrentObject);
6259
}
6360
}
6461
).buildObjectGraphTraverser();

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/transactions/EclipseStoreTransactionManager.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.xdev.spring.data.eclipse.store.transactions;
1717

1818
import org.springframework.transaction.TransactionDefinition;
19-
import org.springframework.transaction.TransactionException;
2019
import org.springframework.transaction.support.AbstractPlatformTransactionManager;
2120
import org.springframework.transaction.support.DefaultTransactionStatus;
2221
import org.springframework.transaction.support.TransactionSynchronizationManager;
@@ -28,15 +27,15 @@ public class EclipseStoreTransactionManager extends AbstractPlatformTransactionM
2827
private static final String TRANSACTION_MANAGER = "ATransactionManagerForThisThread";
2928

3029
@Override
31-
protected Object doGetTransaction() throws TransactionException
30+
protected Object doGetTransaction()
3231
{
3332
final EclipseStoreExistingTransactionObject transactionObject =
3433
(EclipseStoreExistingTransactionObject)TransactionSynchronizationManager.getResource(TRANSACTION_MANAGER);
3534
return transactionObject == null ? new EclipseStoreExistingTransactionObject() : transactionObject;
3635
}
3736

3837
@Override
39-
protected void doBegin(final Object transaction, final TransactionDefinition definition) throws TransactionException
38+
protected void doBegin(final Object transaction, final TransactionDefinition definition)
4039
{
4140
final EclipseStoreExistingTransactionObject transactionObject =
4241
this.extractEclipseStoreTransaction(transaction);
@@ -45,13 +44,13 @@ protected void doBegin(final Object transaction, final TransactionDefinition def
4544
}
4645

4746
@Override
48-
protected void doCommit(final DefaultTransactionStatus status) throws TransactionException
47+
protected void doCommit(final DefaultTransactionStatus status)
4948
{
5049
this.extractEclipseStoreTransaction(status.getTransaction()).commitTransaction();
5150
}
5251

5352
@Override
54-
protected void doRollback(final DefaultTransactionStatus status) throws TransactionException
53+
protected void doRollback(final DefaultTransactionStatus status)
5554
{
5655
this.extractEclipseStoreTransaction(status.getTransaction()).rollbackTransaction();
5756
}

spring-data-eclipse-store/src/test/java/software/xdev/spring/data/eclipse/store/integration/isolated/tests/special/types/LazyDaoObject.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@ public LazyDaoObject(final Integer id, final Lazy<String> value)
2727
super(id, value);
2828
}
2929

30+
@SuppressWarnings("PMD.UselessOverridingMethod")
3031
@Override
3132
public int hashCode()
3233
{
34+
// TODO: Why is hashCode different than equals?
3335
return super.hashCode();
3436
}
3537

0 commit comments

Comments
 (0)