[exo-jcr-commits] exo-jcr SVN: r3521 - in jcr/trunk: applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 23 04:32:14 EST 2010


Author: tolusha
Date: 2010-11-23 04:32:11 -0500 (Tue, 23 Nov 2010)
New Revision: 3521

Modified:
   jcr/trunk/applications/exo.jcr.applications.backupconsole/pom.xml
   jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupClientImpl.java
   jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupConsole.java
   jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/ClientTransportImpl.java
   jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml
Log:
EXOJCR-1069: Backup console throws NPE if backup agent isn't deployed on server

Modified: jcr/trunk/applications/exo.jcr.applications.backupconsole/pom.xml
===================================================================
--- jcr/trunk/applications/exo.jcr.applications.backupconsole/pom.xml	2010-11-23 09:29:59 UTC (rev 3520)
+++ jcr/trunk/applications/exo.jcr.applications.backupconsole/pom.xml	2010-11-23 09:32:11 UTC (rev 3521)
@@ -62,6 +62,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
+      <scope>runtime</scope>
     </dependency>
   </dependencies>
   <build>

Modified: jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupClientImpl.java
===================================================================
--- jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupClientImpl.java	2010-11-23 09:29:59 UTC (rev 3520)
+++ jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupClientImpl.java	2010-11-23 09:32:11 UTC (rev 3521)
@@ -18,14 +18,6 @@
  */
 package org.exoplatform.jcr.backupconsole;
 
-import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import javax.ws.rs.core.Response;
-
 import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
 import org.exoplatform.services.jcr.config.RepositoryEntry;
 import org.exoplatform.services.jcr.config.RepositoryServiceConfiguration;
@@ -55,6 +47,14 @@
 import org.jibx.runtime.IUnmarshallingContext;
 import org.jibx.runtime.JiBXException;
 
+import java.io.ByteArrayInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+import javax.ws.rs.core.Response;
+
 /**
  * Created by The eXo Platform SAS. <br/>Date:
  * 
@@ -323,7 +323,7 @@
                               + (info.getWorkspaceName().equals("") ? "" : "\t\tworkspace name          : "
                                        + info.getWorkspaceName() + "\n")
                               + "\t\tbackup type             : "
-                              + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tstarted time            : " + info.getStartedTime()
                               + "\n" + (info.getFinishedTime().equals("") ? "\n" : "\t\tfinished time           : "
                               + info.getFinishedTime() + "\n\n"));
@@ -349,7 +349,7 @@
                               + (info.getWorkspaceName().equals("") ? "" : "\t\tworkspace name           : "
                                        + info.getWorkspaceName() + "\n")
                               + "\t\tbackup type              : "
-                              + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tfull backup state        : " + (info
                               .getWorkspaceName().equals("") ? getRepositoryBackupToFullState(info.getState())
                                                          : getState(info.getState())))
@@ -613,7 +613,8 @@
 
          String result =
                   "\nThe backup service information : \n" + "\tfull backup type               : "
-                           + info.getFullBackupType() + "\n" + "\tincremetal backup type         : "
+ + info.getFullBackupType()
+               + "\n" + "\tincremental backup type         : "
                            + info.getIncrementalBackupType() + "\n" + "\tbackup log folder              : "
                            + info.getBackupLogDir() + "\n" + "\tdefault incremental job period : "
                            + info.getDefaultIncrementalJobPeriod() + "\n\n";
@@ -680,7 +681,7 @@
                               + shortInfo.getRepositoryName()
                               + "\n"
                               + "\t\tbackup type                : "
-                              + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tfull backups state         : " + getRepositoryBackupToFullState(shortInfo
                               .getState()))
                               + "\n"
@@ -706,7 +707,7 @@
                               + shortInfo.getWorkspaceName()
                               + "\n"
                               + "\t\tbackup type                : "
-                              + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tfull backup state          : " + getState(shortInfo
                               .getState()))
                               + "\n"
@@ -782,7 +783,7 @@
                               + shortInfo.getRepositoryName()
                               + "\n"
                               + "\t\tbackup type               : "
-                              + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tstarted time              : "
                               + shortInfo.getStartedTime() + "\n" + (shortInfo.getFinishedTime().equals("") ? "\n"
                               : "\t\tfinished time             : " + shortInfo.getFinishedTime() + "\n"));
@@ -801,7 +802,7 @@
                               + shortInfo.getWorkspaceName()
                               + "\n"
                               + "\t\tbackup type               : "
-                              + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (shortInfo.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\tstarted time              : "
                               + shortInfo.getStartedTime() + "\n" + (shortInfo.getFinishedTime().equals("") ? "\n"
                               : "\t\tfinished time             : " + shortInfo.getFinishedTime() + "\n"));
@@ -858,7 +859,7 @@
                               + info.getWorkspaceName()
                               + "\n"
                               + "\t\tbackup type             : "
-                              + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\trestore state           : "
                               + getRestoreState(info.getState()) + "\n" + "\t\tstarted time            : "
                               + info.getStartedTime() + "\n" + (info.getFinishedTime().equals("") ? "\n"
@@ -906,7 +907,7 @@
                               + info.getRepositoryName()
                               + "\n"
                               + "\t\tbackup type             : "
-                              + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremetal"
+                  + (configBean.getBackupType() == BackupManager.FULL_AND_INCREMENTAL ? "full + incremental"
                                        : "full only") + "\n" + "\t\trestore state           : "
                               + getRepositoryRestoreState(info.getState()) + "\n" + "\t\tstarted time            : "
                               + info.getStartedTime() + "\n" + (info.getFinishedTime().equals("") ? "\n"

Modified: jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupConsole.java
===================================================================
--- jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupConsole.java	2010-11-23 09:29:59 UTC (rev 3520)
+++ jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/BackupConsole.java	2010-11-23 09:32:11 UTC (rev 3521)
@@ -65,7 +65,7 @@
                      + "     <form auth parm>        :   form <method> <form path>\n"
                      + "     <method>                :   POST or GET\n"
                      + "     <form path>             :   /path/path?<paramName1>=<paramValue1>&<paramName2>=<paramValue2>...\n"
-                     + "     Example to <url form authentication> : http://127.0.0.1:8080/portal/rest form POST /portal/login?username=root&password=gtn\n\n"
+         + "     Example to <url form authentication> : http://127.0.0.1:8080/portal/rest form POST \"/portal/login?username=root&password=gtn\"\n\n"
 
          + " <cmd>  :   start <repo[/ws]> <backup_dir> [<incr>] \n" 
          + "            stop <backup_id> \n"

Modified: jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/ClientTransportImpl.java
===================================================================
--- jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/ClientTransportImpl.java	2010-11-23 09:29:59 UTC (rev 3520)
+++ jcr/trunk/applications/exo.jcr.applications.backupconsole/src/main/java/org/exoplatform/jcr/backupconsole/ClientTransportImpl.java	2010-11-23 09:32:11 UTC (rev 3521)
@@ -18,11 +18,6 @@
  */
 package org.exoplatform.jcr.backupconsole;
 
-import java.io.IOException;
-import java.net.URL;
-
-import javax.ws.rs.core.Response;
-
 import org.exoplatform.common.http.client.AuthorizationHandler;
 import org.exoplatform.common.http.client.AuthorizationInfo;
 import org.exoplatform.common.http.client.CookieModule;
@@ -31,6 +26,11 @@
 import org.exoplatform.common.http.client.ModuleException;
 import org.exoplatform.common.http.client.NVPair;
 
+import java.io.IOException;
+import java.net.URL;
+
+import javax.ws.rs.core.Response;
+
 /**
  * Created by The eXo Platform SAS. <br/>Date:
  * 
@@ -61,14 +61,9 @@
    private final String protocol;
    
    /**
-    * Is realm get.
-    */
-   private boolean isRealmGet = false;
-   
-   /**
     * Realm to connection
     */
-   private String realm;
+   private String realm = null;
    
    /**
     * Form authentication parameters.
@@ -108,7 +103,7 @@
     * Get realm by URL.
     * 
     * @param sUrl URL string.
-    * @return realm name string.
+    * @return realm name or null.
     * @throws IOException transport exception.
     * @throws ModuleException ModuleException.
     */
@@ -127,6 +122,10 @@
          HTTPResponse resp = connection.Get(url.getFile());
 
          String authHeader = resp.getHeader("WWW-Authenticate");
+         if (authHeader == null)
+         {
+            return null;
+         }
 
          String realm = authHeader.split("=")[1];
          realm = realm.substring(1, realm.length() - 1);
@@ -190,10 +189,14 @@
          else
          {
             // basic authorization
-            if (!isRealmGet)
+            if (realm == null)
             {
                realm = getRealm(complURL);
-               isRealmGet = true;
+               if (realm == null)
+               {
+                  throw new BackupExecuteException(
+                     "Can not connect to server using basic authentication. Try to use form authentication.");
+               }
             }
 
             connection.addBasicAuthorization(realm, login, password);
@@ -220,7 +223,6 @@
       {
          throw new BackupExecuteException(e.getMessage(), e);
       }
-
    }
 
    /**
@@ -273,10 +275,14 @@
          else
          {
             // basic authorization
-            if (!isRealmGet)
+            if (realm == null)
             {
                realm = getRealm(complURL);
-               isRealmGet = true;
+               if (realm == null)
+               {
+                  throw new BackupExecuteException(
+                     "Can not connect to server using basic authentication. Try to use form authentication.");
+               }
             }
 
             connection.addBasicAuthorization(realm, login, password);

Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml	2010-11-23 09:29:59 UTC (rev 3520)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/backup/backup-client.xml	2010-11-23 09:32:11 UTC (rev 3521)
@@ -999,7 +999,7 @@
      &lt;form auth parm&gt;        :   form &lt;method&gt; &lt;form path&gt;
      &lt;method&gt;                :   POST or GET
      &lt;form path&gt;             :   /path/path?&lt;paramName1&gt;=&lt;paramValue1&gt;&amp;&lt;paramName2&gt;=&lt;paramValue2&gt;...
-     Example to &lt;url form authentication&gt; : http://127.0.0.1:8080/portal/rest form POST /portal/login?username=root&amp;password=gtn
+     Example to &lt;url form authentication&gt; : http://127.0.0.1:8080/portal/rest form POST "/portal/login?username=root&amp;password=gtn"
 
  &lt;cmd&gt;  :   start &lt;repo[/ws]&gt; &lt;backup_dir&gt; [&lt;incr&gt;] 
             stop &lt;backup_id&gt; 



More information about the exo-jcr-commits mailing list