[maven-release-plugin] copy for tag org.apache.sling.jcr.repoinit-1.1.0
git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.0@1768890 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/jcr/repoinit/impl/RepositoryInitializer.java b/src/main/java/org/apache/sling/jcr/repoinit/impl/RepositoryInitializer.java
index f4abbe3..17f3640 100644
--- a/src/main/java/org/apache/sling/jcr/repoinit/impl/RepositoryInitializer.java
+++ b/src/main/java/org/apache/sling/jcr/repoinit/impl/RepositoryInitializer.java
@@ -30,6 +30,7 @@
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.ConfigurationPolicy;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.Designate;
@@ -42,6 +43,7 @@
*/
@Designate(ocd = RepositoryInitializer.Config.class)
@Component(service = SlingRepositoryInitializer.class,
+ configurationPolicy=ConfigurationPolicy.REQUIRE,
property = {
Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
// SlingRepositoryInitializers are executed in ascending
@@ -84,19 +86,21 @@
@Override
public void processRepository(SlingRepository repo) throws Exception {
- // loginAdministrative is ok here, definitely an admin operation
- final Session s = repo.loginAdministrative(null);
- try {
- final RepoinitTextProvider p = new RepoinitTextProvider();
- for(String reference : config.references()) {
- final String repoinitText = p.getRepoinitText(reference);
- final List<Operation> ops = parser.parse(new StringReader(repoinitText));
- log.info("Executing {} repoinit operations", ops.size());
- processor.apply(s, ops);
- s.save();
+ if ( config.references() != null && config.references().length > 0 ) {
+ // loginAdministrative is ok here, definitely an admin operation
+ final Session s = repo.loginAdministrative(null);
+ try {
+ final RepoinitTextProvider p = new RepoinitTextProvider();
+ for(String reference : config.references()) {
+ final String repoinitText = p.getRepoinitText(reference);
+ final List<Operation> ops = parser.parse(new StringReader(repoinitText));
+ log.info("Executing {} repoinit operations", ops.size());
+ processor.apply(s, ops);
+ s.save();
+ }
+ } finally {
+ s.logout();
}
- } finally {
- s.logout();
}
}
}