libreccm-legacy/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsLoader.java

77 lines
2.7 KiB
Java

package com.arsdigita.cms.scipublications;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.kernel.ACSObjectInstantiator;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.loader.PackageLoader;
import com.arsdigita.persistence.DataObject;
import com.arsdigita.runtime.ScriptContext;
import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationSetup;
import com.arsdigita.web.ApplicationType;
import org.apache.log4j.Logger;
/**
*
* @author Jens Pelzetter
*/
public class SciPublicationsLoader extends PackageLoader {
private static final Logger logger = Logger.getLogger(
SciPublicationsLoader.class);
@Override
public void run(final ScriptContext ctx) {
new KernelExcursion() {
@Override
protected void excurse() {
setEffectiveParty(Kernel.getSystemParty());
/*ApplicationSetup setup = new ApplicationSetup(logger);
setup.setApplicationObjectType(
SciPublications.BASE_DATA_OBJECT_TYPE);
setup.setKey("scipubliations");
setup.setTitle("sci-publications");
setup.setDescription(
"Provides several functions like export and import for publications.");
//setup.setSingleton(true);
setup.setInstantiator(new ACSObjectInstantiator() {
@Override
public DomainObject doNewInstance(DataObject dataObject) {
return new SciPublications(dataObject);
}
});
ApplicationType type = setup.run();
type.save();
//Install the application and mount the app at 'scipublications'.
if (!Application.isInstalled(
SciPublications.BASE_DATA_OBJECT_TYPE, "/scipublications/")) {
Application app = Application.createApplication(type,
"scipublications",
"SciPublications",
null);
app.save();
}*/
final ApplicationType type = new ApplicationType(
"SciPublications",
SciPublications.BASE_DATA_OBJECT_TYPE);
type.setDescription("Publications Import and Export");
Application.createApplication(
SciPublications.BASE_DATA_OBJECT_TYPE,
"scipublications",
"SciPublications",
null);
}
}.run();
}
}