Skip to content
This repository was archived by the owner on Oct 4, 2018. It is now read-only.

Commit ecffea2

Browse files
committed
Renamed NamedPropertyElement to BeanPropertyElement and deleted CanonicalAccessor
1 parent 3c04983 commit ecffea2

17 files changed

Lines changed: 231 additions & 226 deletions

‎src/main/java/de/danielbechler/diff/CanonicalAccessor.java‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎src/main/java/de/danielbechler/diff/DiffNode.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ public Collection<DiffNode> getChildren()
232232
*/
233233
public DiffNode getChild(final String propertyName)
234234
{
235-
return children.get(new NamedPropertyElement(propertyName));
235+
return getChild(new BeanPropertyElement(propertyName));
236236
}
237237

238238
/**

‎src/main/java/de/danielbechler/diff/InclusionService.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ public InclusionService(final CategoryResolver categoryResolver)
2828
private static String getNodePropertyName(final DiffNode node)
2929
{
3030
final Element pathElement = node.getPathElement();
31-
if (pathElement instanceof NamedPropertyElement)
31+
if (pathElement instanceof BeanPropertyElement)
3232
{
33-
return ((NamedPropertyElement) pathElement).getPropertyName();
33+
return ((BeanPropertyElement) pathElement).getPropertyName();
3434
}
3535
return null;
3636
}

‎src/main/java/de/danielbechler/diff/NodePath.java‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
import java.util.*;
2525
import java.util.Collections;
2626

27-
/** @author Daniel Bechler */
27+
/**
28+
* @author Daniel Bechler
29+
*/
2830
public final class NodePath implements Comparable<NodePath>
2931
{
3032
private final List<Element> elements;
@@ -154,7 +156,9 @@ else if (this.getElements().size() > that.getElements().size())
154156
}
155157
}
156158

157-
/** @author Daniel Bechler */
159+
/**
160+
* @author Daniel Bechler
161+
*/
158162
@SuppressWarnings({"UnusedDeclaration"})
159163
private static final class InitialBuilderImpl implements InitialBuilder
160164
{
@@ -195,10 +199,10 @@ public AppendableBuilder withElement(final Element element)
195199

196200
public AppendableBuilder withPropertyName(final String name, final String... names)
197201
{
198-
elements.add(new NamedPropertyElement(name));
202+
elements.add(new BeanPropertyElement(name));
199203
for (final String s : names)
200204
{
201-
elements.add(new NamedPropertyElement(s));
205+
elements.add(new BeanPropertyElement(s));
202206
}
203207
return this;
204208
}

‎src/main/java/de/danielbechler/diff/bean/BeanPropertyAccessExceptionHandler.java‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import de.danielbechler.diff.*;
44

5-
/** @author Daniel Bechler */
5+
/**
6+
* @author Daniel Bechler
7+
*/
8+
@SuppressWarnings("UnusedDeclaration")
69
public interface BeanPropertyAccessExceptionHandler
710
{
811
DiffNode onPropertyWriteException(BeanPropertyWriteException ex, DiffNode propertyNode);

‎src/main/java/de/danielbechler/diff/bean/BeanPropertyAccessor.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ public String getPropertyName()
221221

222222
public Element getPathElement()
223223
{
224-
return new NamedPropertyElement(this.propertyName);
224+
return new BeanPropertyElement(this.propertyName);
225225
}
226226

227227
/**

src/main/java/de/danielbechler/diff/bean/NamedPropertyElement.java renamed to src/main/java/de/danielbechler/diff/bean/BeanPropertyElement.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@
1919
import de.danielbechler.diff.*;
2020
import de.danielbechler.util.*;
2121

22-
/** @author Daniel Bechler */
23-
public final class NamedPropertyElement extends Element
22+
/**
23+
* @author Daniel Bechler
24+
*/
25+
public final class BeanPropertyElement extends Element
2426
{
2527
private final String propertyName;
2628

27-
public NamedPropertyElement(final String propertyName)
29+
public BeanPropertyElement(final String propertyName)
2830
{
2931
Assert.hasText(propertyName, "propertyName");
3032
this.propertyName = propertyName;
@@ -53,7 +55,7 @@ public boolean equals(final Object o)
5355
return false;
5456
}
5557

56-
final NamedPropertyElement that = (NamedPropertyElement) o;
58+
final BeanPropertyElement that = (BeanPropertyElement) o;
5759

5860
if (!propertyName.equals(that.propertyName))
5961
{

‎src/test/java/de/danielbechler/diff/CategoryServiceTest.groovy‎

Lines changed: 74 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -16,94 +16,85 @@
1616

1717
package de.danielbechler.diff
1818

19-
import de.danielbechler.diff.bean.NamedPropertyElement
19+
import de.danielbechler.diff.bean.BeanPropertyElement
2020
import spock.lang.Specification
2121

2222
import static DiffNode.ROOT
2323

2424
/**
2525
* @author Daniel Bechler
2626
*/
27-
class CategoryServiceTest extends Specification
28-
{
29-
def categoryService = new CategoryService()
30-
def accessor = Mock(PropertyAwareAccessor)
31-
def nodePath = NodePath.buildWith("foo")
32-
def nodeType = Alliance
33-
def DiffNode node
34-
def DiffNode rootNode
35-
36-
def "setup"()
37-
{
38-
accessor.pathElement >> new NamedPropertyElement("foo")
39-
rootNode = new DiffNode(ROOT, RootAccessor.instance, null)
40-
node = new DiffNode(rootNode, accessor, nodeType)
41-
}
42-
43-
def "resolveCategories: should return categories configured via path"()
44-
{
45-
given:
46-
categoryService.ofNode(nodePath).toBe("Stark", "Lannister")
47-
48-
expect:
49-
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
50-
}
51-
52-
def "resolveCategories: should return categories configured via type"()
53-
{
54-
given:
55-
categoryService.ofType(nodeType).toBe("Stark", "Lannister")
56-
57-
expect:
58-
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
59-
}
60-
61-
def "resolveCategories: should return categories configured via node"()
62-
{
63-
given:
64-
accessor.categories >> ["Stark", "Lannister"]
65-
66-
expect:
67-
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
68-
}
69-
70-
def "resolveCategories: should return combined categories configured via all possible options"()
71-
{
72-
given:
73-
categoryService.ofNode(nodePath).toBe("A")
74-
75-
and:
76-
categoryService.ofType(nodeType).toBe("B")
77-
78-
and:
79-
accessor.categories >> ["C"]
80-
81-
expect:
82-
categoryService.resolveCategories(node) == ["A", "B", "C"] as Set
83-
}
84-
85-
def "resolveCategories: should not return categories of parent nodes"()
86-
{
87-
given:
88-
accessor.categories >> ["B"]
89-
90-
and:
91-
categoryService.ofNode(NodePath.buildRootPath()).toBe("A")
92-
93-
expect:
94-
categoryService.resolveCategories(node) == ["B"] as Set
95-
}
96-
97-
def "resolveCategories: should return empty Set if no category is defined"()
98-
{
99-
given:
100-
node = new DiffNode()
101-
102-
expect:
103-
categoryService.resolveCategories(node) == [] as Set
104-
}
105-
106-
class Alliance
107-
{
108-
}
27+
class CategoryServiceTest extends Specification {
28+
def categoryService = new CategoryService()
29+
def accessor = Mock(PropertyAwareAccessor)
30+
def nodePath = NodePath.buildWith("foo")
31+
def nodeType = Alliance
32+
def DiffNode node
33+
def DiffNode rootNode
34+
35+
def "setup"() {
36+
accessor.pathElement >> new BeanPropertyElement("foo")
37+
rootNode = new DiffNode(ROOT, RootAccessor.instance, null)
38+
node = new DiffNode(rootNode, accessor, nodeType)
39+
}
40+
41+
def "resolveCategories: should return categories configured via path"() {
42+
given:
43+
categoryService.ofNode(nodePath).toBe("Stark", "Lannister")
44+
45+
expect:
46+
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
47+
}
48+
49+
def "resolveCategories: should return categories configured via type"() {
50+
given:
51+
categoryService.ofType(nodeType).toBe("Stark", "Lannister")
52+
53+
expect:
54+
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
55+
}
56+
57+
def "resolveCategories: should return categories configured via node"() {
58+
given:
59+
accessor.categories >> ["Stark", "Lannister"]
60+
61+
expect:
62+
categoryService.resolveCategories(node) == ["Stark", "Lannister"] as Set
63+
}
64+
65+
def "resolveCategories: should return combined categories configured via all possible options"() {
66+
given:
67+
categoryService.ofNode(nodePath).toBe("A")
68+
69+
and:
70+
categoryService.ofType(nodeType).toBe("B")
71+
72+
and:
73+
accessor.categories >> ["C"]
74+
75+
expect:
76+
categoryService.resolveCategories(node) == ["A", "B", "C"] as Set
77+
}
78+
79+
def "resolveCategories: should not return categories of parent nodes"() {
80+
given:
81+
accessor.categories >> ["B"]
82+
83+
and:
84+
categoryService.ofNode(NodePath.buildRootPath()).toBe("A")
85+
86+
expect:
87+
categoryService.resolveCategories(node) == ["B"] as Set
88+
}
89+
90+
def "resolveCategories: should return empty Set if no category is defined"() {
91+
given:
92+
node = new DiffNode()
93+
94+
expect:
95+
categoryService.resolveCategories(node) == [] as Set
96+
}
97+
98+
class Alliance {
99+
}
109100
}

‎src/test/java/de/danielbechler/diff/DiffNodeTest.java‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,16 @@
2929

3030
import static org.fest.assertions.api.Assertions.assertThat;
3131
import static org.hamcrest.MatcherAssert.assertThat;
32-
import static org.mockito.Mockito.*;
33-
import static org.mockito.MockitoAnnotations.*;
34-
35-
/** @author Daniel Bechler */
32+
import static org.mockito.Mockito.mock;
33+
import static org.mockito.Mockito.times;
34+
import static org.mockito.Mockito.verify;
35+
import static org.mockito.Mockito.when;
36+
import static org.mockito.MockitoAnnotations.Mock;
37+
import static org.mockito.MockitoAnnotations.initMocks;
38+
39+
/**
40+
* @author Daniel Bechler
41+
*/
3642
public class DiffNodeTest
3743
{
3844
@Mock
@@ -106,7 +112,7 @@ public void testHasChanges_returns_true_when_child_has_changed()
106112
public void testGetPropertyPath_with_parent_node_should_return_canonical_path()
107113
{
108114
final DiffNode parentNode = new DiffNode(RootAccessor.getInstance(), String.class);
109-
when(accessor.getPathElement()).thenReturn(new NamedPropertyElement("foo"));
115+
when(accessor.getPathElement()).thenReturn(new BeanPropertyElement("foo"));
110116

111117
final DiffNode root = new DiffNode(parentNode, accessor, Object.class);
112118

src/test/java/de/danielbechler/diff/DefaultDifferProviderShould.java renamed to src/test/java/de/danielbechler/diff/DifferProviderShould.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,13 @@
2222

2323
import java.util.*;
2424

25-
import static org.mockito.Mockito.*;
25+
import static org.mockito.Mockito.mock;
26+
import static org.mockito.Mockito.when;
2627

27-
/** @author Daniel Bechler */
28-
public class DefaultDifferProviderShould
28+
/**
29+
* @author Daniel Bechler
30+
*/
31+
public class DifferProviderShould
2932
{
3033
private DifferProvider differProvider;
3134

0 commit comments

Comments
 (0)