public AbstractCampaign createCampaign(AbstractCampaign template)
throws ObjectCreationException {
logger.info("Creating new campaign from template: " + template);
AbstractCampaign c = (AbstractCampaign)appContext.getBean("campaign");
c.setId(template.getId());
// c.setGuid(template.getGuid());
c.setName(template.getName());
c.setDescription(template.getDescription());
c.setInception(template.getInception());
c.setNotes(template.getNotes());
// c.setVersion(template.getVersion());
c.setSetting(template.getSetting());
c.setParticipants(template.getParticipants());
c.setCalendar(template.getCalendar());
c.setSections(template.getSections());
c.setLibraries(template.getLibraries());
c.setTimeline(template.getTimeline());
c.setObjectInstances(template.getObjectInstances());
c.setObjects(template.getObjects());
c.setStorageUri(template.getStorageUri());
c.setStorageType(template.getStorageType());
c.setStoragePrincipal(template.getStoragePrincipal());
c.setStorageCredentials(template.getStorageCredentials());
logger.info("Campaign created: " + c);
return c;
}