Author: dkuleshov
Date: 2010-11-03 04:03:25 -0400 (Wed, 03 Nov 2010)
New Revision: 3382
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServer.java
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientSessionImpl.java
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/command/FtpCommandImpl.java
Log:
JCR-1494: now FTP server does show list of workspaces after repository restoring
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServer.java
===================================================================
---
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServer.java 2010-11-02
15:51:38 UTC (rev 3381)
+++
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServer.java 2010-11-03
08:03:25 UTC (rev 3382)
@@ -45,6 +45,10 @@
int getClientsCount();
+ /**
+ *
+ * @return {@link ManageableRepository} or <code>null</code> if repository
can not be retrieved
+ */
ManageableRepository getRepository();
FtpCommand getCommand(String commandName);
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java
===================================================================
---
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java 2010-11-02
15:51:38 UTC (rev 3381)
+++
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServerImpl.java 2010-11-03
08:03:25 UTC (rev 3382)
@@ -26,6 +26,8 @@
import org.exoplatform.services.ftp.config.FtpConfig;
import org.exoplatform.services.ftp.data.FtpDataChannelManager;
import org.exoplatform.services.ftp.data.FtpDataChannelManagerImpl;
+import org.exoplatform.services.jcr.RepositoryService;
+import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.core.ManageableRepository;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -37,6 +39,9 @@
import java.net.Socket;
import java.util.ArrayList;
+import javax.jcr.RepositoryException;
+
+
/**
* Created by The eXo Platform SAS Author : Vitaly Guly
<gavrik-vetal(a)ukr.net/mail.ru>
*
@@ -52,7 +57,7 @@
private Catalog commandCatalog;
- private ManageableRepository repository;
+ private RepositoryService repositoryService;
private FtpConfig configuration;
@@ -62,11 +67,11 @@
private ArrayList<FtpClientSession> clients = new
ArrayList<FtpClientSession>();
- public FtpServerImpl(FtpConfig configuration, CommandService commandService,
ManageableRepository repository)
+ public FtpServerImpl(FtpConfig configuration, CommandService commandService,
RepositoryService repositoryService)
throws Exception
{
this.configuration = configuration;
- this.repository = repository;
+ this.repositoryService = repositoryService;
InputStream commandStream = getClass().getResourceAsStream(COMMAND_PATH);
@@ -153,7 +158,21 @@
public ManageableRepository getRepository()
{
- return repository;
+
+ try
+ {
+ return repositoryService.getDefaultRepository();
+ }
+ catch (RepositoryException e)
+ {
+ log.info("Repository exception. " + e.getMessage(), e);
+ }
+ catch (RepositoryConfigurationException e)
+ {
+ log.info("Repository configuration exception. " + e.getMessage(), e);
+ }
+
+ return null;
}
public FtpCommand getCommand(String commandName)
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java
===================================================================
---
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java 2010-11-02
15:51:38 UTC (rev 3381)
+++
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/FtpServiceImpl.java 2010-11-03
08:03:25 UTC (rev 3382)
@@ -61,7 +61,7 @@
log.info("Start service.");
try
{
- ftpServer = new FtpServerImpl(config, commandService,
repositoryService.getRepository());
+ ftpServer = new FtpServerImpl(config, commandService, repositoryService);
ftpServer.start();
}
catch (Exception e)
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientSessionImpl.java
===================================================================
---
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientSessionImpl.java 2010-11-02
15:51:38 UTC (rev 3381)
+++
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/client/FtpClientSessionImpl.java 2010-11-03
08:03:25 UTC (rev 3382)
@@ -329,6 +329,10 @@
public Session getSession(String workspaceName) throws Exception
{
+ if (ftpServer.getRepository() == null)
+ {
+ throw new RepositoryException("Repository can not be retrieved.");
+ }
Session curSession = sessionFactory.getSession(workspaceName,
ftpServer.getRepository());
curSession.refresh(false);
return curSession;
Modified:
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/command/FtpCommandImpl.java
===================================================================
---
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/command/FtpCommandImpl.java 2010-11-02
15:51:38 UTC (rev 3381)
+++
jcr/branches/1.12.x/exo.jcr.component.ftp/src/main/java/org/exoplatform/services/ftp/command/FtpCommandImpl.java 2010-11-03
08:03:25 UTC (rev 3382)
@@ -111,6 +111,10 @@
{
if (newPath.size() == 0)
{
+ if (clientSession().getFtpServer().getRepository() == null)
+ {
+ throw new RepositoryException("Repository can not be
retrieved.");
+ }
String[] workspaces =
clientSession().getFtpServer().getRepository().getWorkspaceNames();
for (int i = 0; i < workspaces.length; i++)
{
Show replies by date