Skip to content

Instantly share code, notes, and snippets.

@justinedelson
Created May 20, 2016 15:54
Show Gist options
  • Save justinedelson/ae1366b9ffc04e7cc07b14c6942aad34 to your computer and use it in GitHub Desktop.
Save justinedelson/ae1366b9ffc04e7cc07b14c6942aad34 to your computer and use it in GitHub Desktop.
Sling Models IT for child property injection
diff --git a/bundles/extensions/models/integration-tests/pom.xml b/bundles/extensions/models/integration-tests/pom.xml
index ae51b2a..df91e58 100644
--- a/bundles/extensions/models/integration-tests/pom.xml
+++ b/bundles/extensions/models/integration-tests/pom.xml
@@ -280,13 +280,13 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.api</artifactId>
- <version>1.2.3-SNAPSHOT</version>
+ <version>1.2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.impl</artifactId>
- <version>1.2.7-SNAPSHOT</version>
+ <version>1.2.8</version>
<scope>provided</scope>
</dependency>
<!-- not part of launchpad 7 (see SLING-4710) -->
diff --git a/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/SimpleTest.java b/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/SimpleTest.java
index 704e239..72d4386 100644
--- a/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/SimpleTest.java
+++ b/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/SimpleTest.java
@@ -42,6 +42,7 @@ public class SimpleTest {
private ResourceResolverFactory rrFactory;
private String value;
+ private String childValue;
private ResourceResolver resolver;
private Resource resource;
private Node createdNode;
@@ -49,12 +50,15 @@ public class SimpleTest {
@Before
public void setUp() throws Exception {
value = RandomStringUtils.randomAlphanumeric(10);
+ childValue = RandomStringUtils.randomAlphanumeric(10);
- resolver = rrFactory.getAdministrativeResourceResolver(null);
+ resolver = rrFactory.getAdministrativeResourceResolver(null);
Session session = resolver.adaptTo(Session.class);
Node rootNode = session.getRootNode();
createdNode = rootNode.addNode("test_" + RandomStringUtils.randomAlphanumeric(10));
createdNode.setProperty("testProperty", value);
+ Node child = createdNode.addNode("child");
+ child.setProperty("childProperty", childValue);
session.save();
resource = resolver.getResource(createdNode.getPath());
@@ -76,6 +80,7 @@ public class SimpleTest {
assertNotNull("Model is null", model);
assertEquals("Test Property is not set correctly", value, model.getTestProperty());
+ assertEquals("Child Test Property is not set correctly", childValue, model.getChildProperty());
assertNotNull("Filters is null", model.getFilters());
assertSame("Adaptable is not injected", resource, model.getResource());
}
diff --git a/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/models/FieldInjectionTestModel.java b/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/models/FieldInjectionTestModel.java
index c5c39d5..2467a0f 100644
--- a/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/models/FieldInjectionTestModel.java
+++ b/bundles/extensions/models/integration-tests/src/main/java/org/apache/sling/models/it/models/FieldInjectionTestModel.java
@@ -19,6 +19,7 @@ package org.apache.sling.models.it.models;
import java.util.List;
import javax.inject.Inject;
+import javax.inject.Named;
import javax.servlet.Filter;
import org.apache.sling.api.resource.Resource;
@@ -31,6 +32,10 @@ public class FieldInjectionTestModel {
private String testProperty;
@Inject
+ @Named("child/childProperty")
+ private String childProperty;
+
+ @Inject
private List<Filter> filters;
private final Resource resource;
@@ -43,6 +48,8 @@ public class FieldInjectionTestModel {
return testProperty;
}
+ public String getChildProperty() { return childProperty; }
+
public List<Filter> getFilters() {
return filters;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment