---FILE HARVEST---

web.xml: Add file harvest mapping
fileharvest.xml: renamed from testfile.xml
testfile.xml: deleted
CsvFileHarvestJob.java: bug fixes
FileHarvestController.java: renamed from TestFileController.java
TestFileController.java: deleted
This commit is contained in:
mbarbier 2011-06-30 20:13:34 +00:00
parent 2b2d1a3769
commit 52a933c20d
4 changed files with 43 additions and 16 deletions

View file

@ -1356,6 +1356,15 @@
<url-pattern>/qrcode/about</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FileHarvestController</servlet-name>
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.harvester.FileHarvestController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileHarvestController</servlet-name>
<url-pattern>/harvester/harvest</url-pattern>
</servlet-mapping>
<!-- ============================== servlet-mappings ======================== -->
<servlet-mapping>

View file

@ -77,7 +77,7 @@
} else {
var newLi = document.createElement("li");
newLi.innerHTML = "<a href=\"No new grants were imported.\" target=\"_blank\">" + json.newlyAddedUris[i] + "</a>";
newLi.innerHTML = "${jobSpecificNoNewDataMessage}";
importedItems.appendChild(newLi);
}

View file

@ -163,8 +163,8 @@ class CsvFileHarvestJob implements FileHarvestJob {
* @return the path to the directory containing the template files
*/
private String getTemplateFileDirectory() {
String harvesterPath = TestFileController.getHarvesterPath();
String pathToTemplateFiles = harvesterPath + TestFileController.PATH_TO_TEMPLATE_FILES;
String harvesterPath = FileHarvestController.getHarvesterPath();
String pathToTemplateFiles = harvesterPath + FileHarvestController.PATH_TO_TEMPLATE_FILES;
return pathToTemplateFiles;
}
@ -173,8 +173,8 @@ class CsvFileHarvestJob implements FileHarvestJob {
* @return the path to the directory containing the script files
*/
private String getScriptFileDirectory() {
String harvesterPath = TestFileController.getHarvesterPath();
String pathToScriptFiles = harvesterPath + TestFileController.PATH_TO_HARVESTER_SCRIPTS;
String harvesterPath = FileHarvestController.getHarvesterPath();
String pathToScriptFiles = harvesterPath + FileHarvestController.PATH_TO_HARVESTER_SCRIPTS;
return pathToScriptFiles;
}
@ -286,13 +286,15 @@ class CsvFileHarvestJob implements FileHarvestJob {
private String performScriptTemplateReplacements(String scriptTemplateContents) {
String replacements = scriptTemplateContents;
String workingDirectory = TestFileController.getHarvesterPath();
String fileDirectory = TestFileController.getUploadPath(vreq);
String workingDirectory = FileHarvestController.getHarvesterPath();
String fileDirectory = FileHarvestController.getUploadPath(vreq);
String harvestedDataPath = getHarvestedDataPath();
String globalHarvestedDataRelativePath = FileHarvestController.PATH_TO_HARVESTED_DATA;
replacements = replacements.replace("${WORKING_DIRECTORY}", workingDirectory);
replacements = replacements.replace("${UPLOADS_FOLDER}", fileDirectory);
replacements = replacements.replace("${HARVESTED_DATA_PATH}", harvestedDataPath);
replacements = replacements.replace("${GLOBAL_HARVESTED_DATA_RELATIVE_PATH}", globalHarvestedDataRelativePath);
return replacements;
}
@ -322,7 +324,7 @@ class CsvFileHarvestJob implements FileHarvestJob {
}
private String getHarvestedDataPath() {
return TestFileController.getFileHarvestRootPath() + "harvested-data/csv/" + this.sessionId + "/";
return FileHarvestController.getHarvesterPath() + FileHarvestController.PATH_TO_HARVESTED_DATA + "csv/" + this.sessionId + "/";
}
@Override

View file

@ -45,11 +45,11 @@ import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.Tem
import edu.cornell.mannlib.vitro.webapp.filestorage.backend.FileStorageSetup;
import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServletRequest;
public class TestFileController extends FreemarkerHttpServlet {
public class FileHarvestController extends FreemarkerHttpServlet {
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(TestFileController.class);
private static final String TEMPLATE_DEFAULT = "testfile.ftl";
private static final Log log = LogFactory.getLog(FileHarvestController.class);
private static final String TEMPLATE_DEFAULT = "fileharvest.ftl";
private static final String PARAMETER_FIRST_UPLOAD = "firstUpload";
private static final String PARAMETER_UPLOADED_FILE = "uploadedFile";
@ -84,7 +84,8 @@ public class TestFileController extends FreemarkerHttpServlet {
/**
* Absolute path on the server of the Harvester root directory. Include final slash.
*/
private static final String PATH_TO_HARVESTER = "/home/mbarbieri/workspace/HarvesterDev/";
private static final String PATH_TO_HARVESTER = "/usr/share/vivo/harvester/";
// private static final String PATH_TO_HARVESTER = "/home/mbarbieri/workspace/HarvesterDev/";
/**
* Relative path from the Harvester root directory to the main area reserved for the VIVO File Harvest feature. Include
@ -102,6 +103,11 @@ public class TestFileController extends FreemarkerHttpServlet {
*/
public static final String PATH_TO_HARVESTER_SCRIPTS = PATH_TO_FILE_HARVEST_ROOT + "scripts/";
/**
* Relative path from the Harvester root directory to the directory containing the script templates. Include final slash.
*/
public static final String PATH_TO_HARVESTED_DATA = PATH_TO_FILE_HARVEST_ROOT + "harvested-data/";
static {
fillKnownJobTypesList();
@ -132,7 +138,7 @@ public class TestFileController extends FreemarkerHttpServlet {
String job = vreq.getParameter(PARAMETER_JOB);
String jobKnown = "false";
if((job != null) && TestFileController.knownJobs.contains(job.toLowerCase()))
if((job != null) && FileHarvestController.knownJobs.contains(job.toLowerCase()))
jobKnown = "true";
FileHarvestJob jobObject = getJob(vreq, job);
@ -514,9 +520,19 @@ public class TestFileController extends FreemarkerHttpServlet {
}
}
/**
* Returns the location in which the ready-to-run scripts, after having template replacements made on them, will be
* placed. Final slash included.
* @return the location in which the ready-to-run scripts will be placed
*/
private static String getScriptFileLocation() {
return PATH_TO_HARVESTER + PATH_TO_HARVESTER_SCRIPTS + "temp/";
}
private File createScriptFile(String script) throws IOException {
File scriptDirectory = new File(getHarvesterPath() + "scripts/temp");
File scriptDirectory = new File(getScriptFileLocation());
if(!scriptDirectory.exists()) {
scriptDirectory.mkdirs();
}
@ -790,7 +806,7 @@ public class TestFileController extends FreemarkerHttpServlet {
File scriptFile = createScriptFile(this.script);
String command = "/bin/bash " + getHarvesterPath() + "scripts/temp/" + scriptFile.getName();
String command = "/bin/bash " + getScriptFileLocation() + scriptFile.getName();
log.info("Running command: " + command);
Process pr = Runtime.getRuntime().exec(command);