You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2008/10/20 10:35:23 UTC
svn commit: r706149 - in /portals/jetspeed-2/applications/j2-admin/trunk:
pom.xml
src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java
Author: woonsan
Date: Mon Oct 20 01:35:22 2008
New Revision: 706149
URL: http://svn.apache.org/viewvc?rev=706149&view=rev
Log:
Fixed a bug retrieving user principal name by toString() and code clean up.
Modified:
portals/jetspeed-2/applications/j2-admin/trunk/pom.xml
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java
Modified: portals/jetspeed-2/applications/j2-admin/trunk/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/pom.xml?rev=706149&r1=706148&r2=706149&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/pom.xml (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/pom.xml Mon Oct 20 01:35:22 2008
@@ -67,7 +67,7 @@
<commons-digester.version>1.8</commons-digester.version>
<commons-fileupload.version>1.2</commons-fileupload.version>
<commons-httpclient.version>3.0.1</commons-httpclient.version>
- <commons-io.version>0.1</commons-io.version>
+ <commons-io.version>1.4</commons-io.version>
<commons-lang.version>2.1</commons-lang.version>
<commons-logging.version>1.1</commons-logging.version>
<commons-pool.version>1.3</commons-pool.version>
@@ -209,7 +209,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>1.3.1</version>
+ <version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java?rev=706149&r1=706148&r2=706149&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/admin/JetspeedDataImporter.java Mon Oct 20 01:35:22 2008
@@ -34,6 +34,7 @@
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.portlet.PortletFileUpload;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.jetspeed.CommonPortletServices;
@@ -139,43 +140,48 @@
ActionResponse actionResponse) throws PortletException,
java.io.IOException
{
- String fileName = "";
- String path = "";
- String usrFolder = "";
+ File userTempDir = getUserTempDir(request.getUserPrincipal().getName());
+
+ File importFile = null;
boolean success = false;
- String filePath = "";
- cleanUserFolder(request.getUserPrincipal().toString());
+
try
{
- DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
- PortletFileUpload portletFileUpload = new PortletFileUpload(
- diskFileItemFactory);
if (PortletFileUpload.isMultipartContent(request))
{
- Iterator fileIt = portletFileUpload.parseRequest(request).iterator();
- while (fileIt.hasNext())
+ DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
+ PortletFileUpload portletFileUpload = new PortletFileUpload(diskFileItemFactory);
+
+ for (Object item : portletFileUpload.parseRequest(request))
{
- FileItem fileItem = (FileItem) fileIt.next();
- if (fileItem.getFieldName().equals("importFile"))
+ FileItem fileItem = (FileItem) item;
+
+ if ("importFile".equals(fileItem.getFieldName()))
{
synchronized (this)
{
- fileName = fileItem.getName();
- usrFolder = getTempFolder(request);
- path = System.getProperty("file.separator");
- filePath = usrFolder + path + fileItem.getName();
- FileOutputStream out = new FileOutputStream(filePath);
- out.write(fileItem.get());
- out.close();
+ if (userTempDir.isDirectory())
+ {
+ FileUtils.cleanDirectory(userTempDir);
+ }
+ else
+ {
+ userTempDir.mkdirs();
+ }
+
+ importFile = new File(userTempDir, fileItem.getName());
+ fileItem.write(importFile);
+ success = importJetspeedData(importFile);
}
-
+
+ break;
}
}
- success = importJetspeedData(filePath);
}
+
if (success)
{
- request.getPortletSession().setAttribute("status", fileName);
+ request.getPortletSession().setAttribute("status", importFile.getName());
request.getPortletSession().setAttribute("msg", "File imported succesfully");
}
else
@@ -183,18 +189,20 @@
request.getPortletSession().setAttribute("status", "false");
request.getPortletSession().setAttribute("msg", "Failed to import file. Please check XML file for correctness.");
}
- } catch (Exception e)
+ }
+ catch (Exception e)
{
request.getPortletSession().setAttribute("status", "false");
request.getPortletSession().setAttribute("msg", e.getMessage());
}
}
- private boolean importJetspeedData(String filePath)
+ private boolean importJetspeedData(File importFile)
{
try
{
Map settings = new HashMap();
+
settings.put(JetspeedSerializer.KEY_PROCESS_USERS, Boolean.TRUE);
settings.put(JetspeedSerializer.KEY_PROCESS_CAPABILITIES, Boolean.TRUE);
settings.put(JetspeedSerializer.KEY_PROCESS_PROFILER, Boolean.TRUE);
@@ -204,7 +212,8 @@
settings.put(JetspeedSerializer.KEY_OVERWRITE_EXISTING, Boolean.TRUE);
settings.put(JetspeedSerializer.KEY_BACKUP_BEFORE_PROCESS, Boolean.FALSE);
- serializer.importData(filePath, settings);
+ serializer.importData(importFile.getCanonicalPath(), settings);
+
return true;
}
catch (Exception e)
@@ -213,49 +222,9 @@
}
}
- private boolean cleanUserFolder(String userName)
- {
- boolean success = false;
- synchronized (this)
- {
- String tmpdir = System.getProperty("java.io.tmpdir");
- String path = System.getProperty("file.separator");
- String folder = tmpdir + path + userName;
- File dir = new File(folder);
- if (dir.exists())
- {
- success = deleteDir(dir);
- }
- success = dir.mkdir();
- }
- return success;
- }
-
- private boolean deleteDir(File dir)
- {
- if (dir.exists())
- {
- File[] files = dir.listFiles();
- for (int i = 0; i < files.length; i++)
- {
- if (files[i].isDirectory())
- {
- deleteDir(files[i]);
- } else
- {
- files[i].delete();
- }
- }
- }
- return (dir.delete());
- }
-
- private String getTempFolder(ActionRequest request)
+ private File getUserTempDir(String userName)
{
- String dir = System.getProperty("java.io.tmpdir");
- String path = System.getProperty("file.separator");
- File file = new File(dir + path + request.getUserPrincipal());
- file.mkdir();
- return dir + path + request.getUserPrincipal();
+ File tempDir = new File(System.getProperty("java.io.tmpdir"));
+ return new File(tempDir, userName);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org