NIHVIVO-3524 UpdateUploadedFiles (and dependent classes) was used to migrate from 0.9 to 1.0 and from 1.1.1 to 1.2 - it is no longer needed.
This commit is contained in:
parent
04eb46415a
commit
53b870da2a
1 changed files with 0 additions and 144 deletions
|
@ -1,144 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.servlet.setup;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletContextEvent;
|
||||
import javax.servlet.ServletContextListener;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorage;
|
||||
import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorageSetup;
|
||||
import edu.cornell.mannlib.vitro.webapp.filestorage.updater.FileStorageAliasAdder;
|
||||
import edu.cornell.mannlib.vitro.webapp.filestorage.updater.FileStorageUpdater;
|
||||
import edu.cornell.mannlib.vitro.webapp.startup.StartupStatus;
|
||||
|
||||
/**
|
||||
* Check that the conditions are met for updating uploaded files. If everything
|
||||
* is in place, call the two updaters.
|
||||
*
|
||||
* The first updater converts from old-style (pre 1.0) to new-style (post 1.0)
|
||||
* file storage.
|
||||
*
|
||||
* The second updater insures that all bytestreams store their own alias URLs
|
||||
* (post 1.1.1).
|
||||
*/
|
||||
public class UpdateUploadedFiles implements ServletContextListener {
|
||||
private static final Log log = LogFactory.getLog(UpdateUploadedFiles.class);
|
||||
|
||||
/**
|
||||
* Nothing to do on teardown.
|
||||
*/
|
||||
@Override
|
||||
public void contextDestroyed(ServletContextEvent sce) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that the ontology model, the old upload directory, and the file
|
||||
* storage system are all valid. Then do the update.
|
||||
*/
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent sce) {
|
||||
ServletContext ctx = sce.getServletContext();
|
||||
|
||||
try {
|
||||
WebappDaoFactory wadf = (WebappDaoFactory) ctx
|
||||
.getAttribute("assertionsWebappDaoFactory");
|
||||
if (wadf == null) {
|
||||
throw new IllegalStateException("Webapp DAO Factory is null. "
|
||||
+ "The ServletContext does not contain an attribute "
|
||||
+ "for '" + "assertionsWebappDaoFactory" + "'. "
|
||||
+ "Does the log contain a previous exception from "
|
||||
+ "JenaDataSourceSetup? Is it possible that web.xml "
|
||||
+ "is not set up to run JenaDataSourceSetup before "
|
||||
+ "UpdateUploadedFiles?");
|
||||
}
|
||||
|
||||
OntModel jenaOntModel = (OntModel) ctx
|
||||
.getAttribute(JenaBaseDao.ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME);
|
||||
if (jenaOntModel == null) {
|
||||
throw new IllegalStateException("Ontology model is null. "
|
||||
+ "The ServletContext does not contain an attribute "
|
||||
+ "for '"
|
||||
+ JenaBaseDao.ASSERTIONS_ONT_MODEL_ATTRIBUTE_NAME
|
||||
+ "'. "
|
||||
+ "Does the log contain a previous exception from "
|
||||
+ "JenaDataSourceSetup? Is it possible that web.xml "
|
||||
+ "is not set up to run JenaDataSourceSetup before "
|
||||
+ "UpdateUploadedFiles?");
|
||||
}
|
||||
|
||||
FileStorage fileStorage = (FileStorage) ctx
|
||||
.getAttribute(FileStorageSetup.ATTRIBUTE_NAME);
|
||||
if (fileStorage == null) {
|
||||
throw new IllegalStateException("File storage system is null. "
|
||||
+ "The ServletContext does not contain an attribute "
|
||||
+ "for '" + FileStorageSetup.ATTRIBUTE_NAME + "'. "
|
||||
+ "Does the log contain a previous exception from "
|
||||
+ "FileStorageSetup? Is it possible that web.xml is "
|
||||
+ "not set up to run FileStorageSetup before "
|
||||
+ "UpdateUploadedFiles?");
|
||||
}
|
||||
|
||||
String vitroHomeDirectoryName = ConfigurationProperties
|
||||
.getBean(ctx).getProperty(
|
||||
FileStorageSetup.PROPERTY_VITRO_HOME_DIR);
|
||||
if (vitroHomeDirectoryName == null) {
|
||||
throw new IllegalStateException("Upload directory name is null");
|
||||
}
|
||||
File vitroHomeDirectory = new File(vitroHomeDirectoryName);
|
||||
if (!vitroHomeDirectory.exists()) {
|
||||
throw new IllegalStateException("Vitro home directory '"
|
||||
+ vitroHomeDirectory.getAbsolutePath()
|
||||
+ "' does not exist.");
|
||||
}
|
||||
File uploadDirectory = new File(vitroHomeDirectory,
|
||||
FileStorageSetup.FILE_STORAGE_SUBDIRECTORY);
|
||||
if (!uploadDirectory.exists()) {
|
||||
uploadDirectory.mkdir();
|
||||
if (!uploadDirectory.exists()) {
|
||||
throw new IllegalStateException(
|
||||
"Failed to create the file uploads directory: "
|
||||
+ uploadDirectory.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
String vivoDefaultNamespace = ConfigurationProperties.getBean(ctx)
|
||||
.getProperty(FileStorageSetup.PROPERTY_DEFAULT_NAMESPACE);
|
||||
if (vivoDefaultNamespace == null) {
|
||||
throw new IllegalStateException("Default namespace is null.");
|
||||
}
|
||||
|
||||
String webappImagePath = ctx.getRealPath("images");
|
||||
File webappImageDirectory = (webappImagePath == null) ? null
|
||||
: new File(webappImagePath);
|
||||
|
||||
/*
|
||||
* Update from old-style storage to new-style storage.
|
||||
*/
|
||||
FileStorageUpdater fsu = new FileStorageUpdater(wadf, jenaOntModel,
|
||||
fileStorage, uploadDirectory, webappImageDirectory, ctx);
|
||||
fsu.update();
|
||||
|
||||
/*
|
||||
* Insure that every FileByteStream object has an alias URL.
|
||||
*/
|
||||
FileStorageAliasAdder fsaa = new FileStorageAliasAdder(
|
||||
jenaOntModel, uploadDirectory, vivoDefaultNamespace);
|
||||
fsaa.update();
|
||||
} catch (Exception e) {
|
||||
log.fatal("Unknown problem", e);
|
||||
StartupStatus.getBean(ctx).fatal(this, "Unknown problem", e);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue