|
From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-04-20 15:03:06
|
Revision: 498
http://sword-app.svn.sourceforge.net/sword-app/?rev=498&view=rev
Author: richard-jones
Date: 2012-04-20 15:02:55 +0000 (Fri, 20 Apr 2012)
Log Message:
-----------
Add clean up operation to deposit operations
All deposit operations which take a Deposit object now run a cleanup on the deposit object to remove any temp files that are created
Modified Paths:
--------------
JavaServer2.0/trunk/src/main/java/org/swordapp/server/CollectionAPI.java
JavaServer2.0/trunk/src/main/java/org/swordapp/server/ContainerAPI.java
JavaServer2.0/trunk/src/main/java/org/swordapp/server/MediaResourceAPI.java
JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java
Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/CollectionAPI.java
===================================================================
--- JavaServer2.0/trunk/src/main/java/org/swordapp/server/CollectionAPI.java 2012-04-20 10:41:40 UTC (rev 497)
+++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/CollectionAPI.java 2012-04-20 15:02:55 UTC (rev 498)
@@ -122,6 +122,7 @@
}
}
+ Deposit deposit = null;
try
{
// the first thing to do is determine what the deposit type is:
@@ -134,7 +135,7 @@
String slug = req.getHeader("Slug");
boolean inProgress = this.getInProgress(req);
- Deposit deposit = new Deposit();
+ deposit = new Deposit();
deposit.setInProgress(inProgress);
deposit.setSlug(slug);
DepositReceipt receipt = null;
@@ -213,6 +214,11 @@
// need to throw a 403 Forbidden
resp.sendError(403);
}
+ finally
+ {
+ // get rid of any temp files used
+ this.cleanup(deposit);
+ }
}
protected void addGenerator(DepositReceipt doc, SwordConfiguration config)
{
Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/ContainerAPI.java
===================================================================
--- JavaServer2.0/trunk/src/main/java/org/swordapp/server/ContainerAPI.java 2012-04-20 10:41:40 UTC (rev 497)
+++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/ContainerAPI.java 2012-04-20 15:02:55 UTC (rev 498)
@@ -179,6 +179,7 @@
}
}
+ Deposit deposit = null;
try
{
// the first thing to do is determine what the deposit type is:
@@ -189,7 +190,7 @@
// get the In-Progress header
boolean inProgress = this.getInProgress(req);
- Deposit deposit = new Deposit();
+ deposit = new Deposit();
deposit.setInProgress(inProgress);
String iri = this.getFullUrl(req);
DepositReceipt receipt;
@@ -277,6 +278,11 @@
// need to throw a 403 Forbidden
resp.sendError(403);
}
+ finally
+ {
+ // get rid of any temp files used
+ this.cleanup(deposit);
+ }
}
public void post(HttpServletRequest req, HttpServletResponse resp)
@@ -304,6 +310,7 @@
}
}
+ Deposit deposit = null;
try
{
// the first thing to do is determine what the deposit type is:
@@ -321,7 +328,7 @@
boolean inProgress = this.getInProgress(req);
String iri = this.getFullUrl(req);
- Deposit deposit = new Deposit();
+ deposit = new Deposit();
deposit.setInProgress(inProgress);
DepositReceipt receipt;
@@ -400,6 +407,11 @@
// need to throw a 403 Forbidden
resp.sendError(403);
}
+ finally
+ {
+ // get rid of any temp files used
+ this.cleanup(deposit);
+ }
}
public void delete(HttpServletRequest req, HttpServletResponse resp)
Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/MediaResourceAPI.java
===================================================================
--- JavaServer2.0/trunk/src/main/java/org/swordapp/server/MediaResourceAPI.java 2012-04-20 10:41:40 UTC (rev 497)
+++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/MediaResourceAPI.java 2012-04-20 15:02:55 UTC (rev 498)
@@ -156,10 +156,12 @@
}
}
+ Deposit deposit = null;
+
try
{
String editMediaIRI = this.getFullUrl(req);
- Deposit deposit = new Deposit();
+ deposit = new Deposit();
// add the properties from the binary deposit
this.addDepositPropertiesFromBinary(deposit, req);
@@ -186,6 +188,11 @@
// need to throw a 403 Forbidden
resp.sendError(403);
}
+ finally
+ {
+ // get rid of any temp files used
+ this.cleanup(deposit);
+ }
}
public void post(HttpServletRequest req, HttpServletResponse resp)
@@ -213,6 +220,7 @@
}
}
+ Deposit deposit = null;
try
{
// the first thing to do is determine what the deposit type is:
@@ -220,7 +228,7 @@
boolean isMultipart = contentType.startsWith("multipart/related");
String uri = this.getFullUrl(req);
- Deposit deposit = new Deposit();
+ deposit = new Deposit();
if (isMultipart)
{
@@ -275,6 +283,11 @@
// need to throw a 403 Forbidden
resp.sendError(403);
}
+ finally
+ {
+ // get rid of any temp files used
+ this.cleanup(deposit);
+ }
}
public void delete(HttpServletRequest req, HttpServletResponse resp)
Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java
===================================================================
--- JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java 2012-04-20 10:41:40 UTC (rev 497)
+++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java 2012-04-20 15:02:55 UTC (rev 498)
@@ -257,6 +257,22 @@
}
}
+ protected void cleanup(Deposit deposit)
+ {
+ if (deposit == null)
+ {
+ return;
+ }
+
+ File tmp = deposit.getFile();
+ if (tmp == null)
+ {
+ return;
+ }
+
+ tmp.delete();
+ }
+
protected Element getGenerator(SwordConfiguration config)
{
String generatorUri = config.generator();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|