if (name.equals("")) {
name = newPublicationId;
}
SourceResolver resolver = null;
Source publicationsSource = null;
PublicationManager pubManager = null;
try {
resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
publicationsSource = resolver.resolveURI("context://"
+ Publication.PUBLICATION_PREFIX_URI);
String publicationsUri = publicationsSource.getURI();
for (int i = 0; i < sourcesToCopy.length; i++) {
String source = sourcesToCopy[i];
if (source.endsWith("/")) {
copyDirSource(template, newPublicationId, resolver, publicationsUri, source);
} else {
copySource(template, newPublicationId, resolver, publicationsUri, source);
}
}
updateMetaData(resolver, newPublicationId, name, publicationsUri);
configureSearchIndex(resolver, template, newPublicationId, publicationsUri);
updateConfiguration(resolver, template, newPublicationId, publicationsUri);
pubManager = (PublicationManager) this.manager.lookup(PublicationManager.ROLE);
pubManager.addPublication(newPublicationId);
} finally {
if (resolver != null) {
this.manager.release(resolver);
if (publicationsSource != null) {
resolver.release(publicationsSource);
}
}
if (pubManager != null) {
this.manager.release(pubManager);
}