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