http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/FileTransferServiceImpl.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/FileTransferServiceImpl.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/FileTransferServiceImpl.java index 7558d4b..b5ab8fb 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/FileTransferServiceImpl.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/FileTransferServiceImpl.java @@ -29,7 +29,7 @@ import org.apache.airavata.file.manager.core.remote.client.scp.SCPStorageClient; import org.apache.airavata.file.manager.core.remote.client.sftp.SFTPStorageClient; import org.apache.airavata.file.manager.cpi.FileManagerException; import org.apache.airavata.file.manager.cpi.FileTransferService; -import org.apache.airavata.model.file.*; +import org.apache.airavata.model.file.transfer.*; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,6 +55,8 @@ public class FileTransferServiceImpl implements FileTransferService { /** * Method to upload the give bytes to the destination storage system * + * @param gatewayId + * @param username * @param fileData * @param destHostName * @param destLoginName @@ -66,7 +68,7 @@ public class FileTransferServiceImpl implements FileTransferService { * @throws FileManagerException */ @Override - public String uploadFile(byte[] fileData, String destHostName, String destLoginName, int destPort, + public String uploadFile(String gatewayId, String username, byte[] fileData, String destHostName, String destLoginName, int destPort, StorageResourceProtocol destProtocol, String destinationPath, String destHostCredToken) throws FileManagerException { long transferTime = System.currentTimeMillis(); @@ -77,7 +79,7 @@ public class FileTransferServiceImpl implements FileTransferService { sshCredential = (SSHCredential) credential; File srcFile = null; FileWriter fileWriter = null; - FileTransferRequest fileTransferRequest = null; + FileTransferRequestModel fileTransferRequestModel = null; try { String srcFilePath = System.getProperty("java.io.tmpdir")+File.separator+ UUID.randomUUID().toString(); srcFile = new File(srcFilePath); @@ -94,31 +96,33 @@ public class FileTransferServiceImpl implements FileTransferService { sshCredential.getPrivateKey(), sshCredential.getPublicKey(), sshCredential.getPassphrase().getBytes()); - fileTransferRequest = new FileTransferRequest(); - fileTransferRequest.setSrcHostname(InetAddress.getLocalHost().getHostName()); - fileTransferRequest.setSrcProtocol(StorageResourceProtocol.LOCAL); - fileTransferRequest.setDestHostname(destHostName); - fileTransferRequest.setDestLoginName(destLoginName); - fileTransferRequest.setDestPort(destPort); - fileTransferRequest.setDestProtocol(destProtocol); - fileTransferRequest.setDestFilePath(destinationPath); - fileTransferRequest.setDestHostCredToken(destHostCredToken); - fileTransferRequest.setFileTransferMode(FileTransferMode.SYNC); + fileTransferRequestModel = new FileTransferRequestModel(); + fileTransferRequestModel.setGatewayId(gatewayId); + fileTransferRequestModel.setUsername(username); + fileTransferRequestModel.setSrcHostname(InetAddress.getLocalHost().getHostName()); + fileTransferRequestModel.setSrcProtocol(StorageResourceProtocol.LOCAL); + fileTransferRequestModel.setDestHostname(destHostName); + fileTransferRequestModel.setDestLoginName(destLoginName); + fileTransferRequestModel.setDestPort(destPort); + fileTransferRequestModel.setDestProtocol(destProtocol); + fileTransferRequestModel.setDestFilePath(destinationPath); + fileTransferRequestModel.setDestHostCredToken(destHostCredToken); + fileTransferRequestModel.setFileTransferMode(FileTransferMode.SYNC); remoteStorageClient.writeFile(srcFile, destinationPath); transferTime = System.currentTimeMillis() - transferTime; - fileTransferRequest.setTransferTime(transferTime); - fileTransferRequest.setTransferStatus(FileTransferStatus.COMPLETED); - fileTransferRequest.setCreatedTime(System.currentTimeMillis()); - fileTransferRequest.setLastModifiedType(fileTransferRequest.getCreatedTime()); - fileTransferRequest.setFileSize(srcFile.length()); - String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequest); + fileTransferRequestModel.setTransferTime(transferTime); + fileTransferRequestModel.setTransferStatus(FileTransferStatus.COMPLETED); + fileTransferRequestModel.setCreatedTime(System.currentTimeMillis()); + fileTransferRequestModel.setLastModifiedType(fileTransferRequestModel.getCreatedTime()); + fileTransferRequestModel.setFileSize(srcFile.length()); + String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequestModel); return transferId; } catch (Exception e) { logger.error(e.getMessage(), e); - if(fileTransferRequest != null) { - fileTransferRequest.setTransferStatus(FileTransferStatus.FAILED); + if(fileTransferRequestModel != null) { + fileTransferRequestModel.setTransferStatus(FileTransferStatus.FAILED); try { - fileTransferRequestDao.createFileTransferRequest(fileTransferRequest); + fileTransferRequestDao.createFileTransferRequest(fileTransferRequestModel); } catch (JsonProcessingException e1) { logger.error(e.getMessage(), e); throw new FileManagerException(e); @@ -147,6 +151,8 @@ public class FileTransferServiceImpl implements FileTransferService { /** * Transfer file between two storage resources synchronously. Returns the file transfer request id * + * @param gatewayId + * @param username * @param srcHostname * @param srcLoginName * @param srcPort @@ -163,30 +169,32 @@ public class FileTransferServiceImpl implements FileTransferService { * @throws FileManagerException */ @Override - public String transferFile(String srcHostname, String srcLoginName, int srcPort, StorageResourceProtocol srcProtocol, + public String transferFile(String gatewayId, String username, String srcHostname, String srcLoginName, int srcPort, StorageResourceProtocol srcProtocol, String srcPath, String srcHostCredToken, String destHostname, String destLoginName, int destPort, StorageResourceProtocol destProtocol, String destinationPath, String destHostCredToken) throws FileManagerException { long transferTime = System.currentTimeMillis(); File srcFile = null; - FileTransferRequest fileTransferRequest = null; + FileTransferRequestModel fileTransferRequestModel = null; try{ - fileTransferRequest = new FileTransferRequest(); - fileTransferRequest.setSrcHostname(srcHostname); - fileTransferRequest.setSrcPort(srcPort); - fileTransferRequest.setSrcLoginName(srcLoginName); - fileTransferRequest.setSrcFilePath(srcPath); - fileTransferRequest.setSrcProtocol(srcProtocol); - fileTransferRequest.setSrcHostCredToken(srcHostCredToken); - fileTransferRequest.setDestHostname(destHostname); - fileTransferRequest.setDestPort(destPort); - fileTransferRequest.setDestLoginName(destLoginName); - fileTransferRequest.setDestFilePath(destinationPath); - fileTransferRequest.setDestProtocol(destProtocol); - fileTransferRequest.setDestHostCredToken(destHostCredToken); - fileTransferRequest.setCreatedTime(System.currentTimeMillis()); - fileTransferRequest.setLastModifiedType(fileTransferRequest.getCreatedTime()); - fileTransferRequest.setFileTransferMode(FileTransferMode.SYNC); + fileTransferRequestModel = new FileTransferRequestModel(); + fileTransferRequestModel.setGatewayId(gatewayId); + fileTransferRequestModel.setUsername(username); + fileTransferRequestModel.setSrcHostname(srcHostname); + fileTransferRequestModel.setSrcPort(srcPort); + fileTransferRequestModel.setSrcLoginName(srcLoginName); + fileTransferRequestModel.setSrcFilePath(srcPath); + fileTransferRequestModel.setSrcProtocol(srcProtocol); + fileTransferRequestModel.setSrcHostCredToken(srcHostCredToken); + fileTransferRequestModel.setDestHostname(destHostname); + fileTransferRequestModel.setDestPort(destPort); + fileTransferRequestModel.setDestLoginName(destLoginName); + fileTransferRequestModel.setDestFilePath(destinationPath); + fileTransferRequestModel.setDestProtocol(destProtocol); + fileTransferRequestModel.setDestHostCredToken(destHostCredToken); + fileTransferRequestModel.setCreatedTime(System.currentTimeMillis()); + fileTransferRequestModel.setLastModifiedType(fileTransferRequestModel.getCreatedTime()); + fileTransferRequestModel.setFileTransferMode(FileTransferMode.SYNC); if(srcProtocol == StorageResourceProtocol.HTTP || srcProtocol == StorageResourceProtocol.HTTPS || srcProtocol == StorageResourceProtocol.SCP || srcProtocol == StorageResourceProtocol.SFTP){ @@ -214,7 +222,7 @@ public class FileTransferServiceImpl implements FileTransferService { throw new FileManagerException("Only support SSHCredentials for SFTP host"); } } - fileTransferRequest.setTransferStatus(FileTransferStatus.RUNNING); + fileTransferRequestModel.setTransferStatus(FileTransferStatus.RUNNING); srcFile = srcClient.readFile(srcPath); }else{ throw new FileManagerException("Unsupported src protocol " + srcProtocol); @@ -243,20 +251,20 @@ public class FileTransferServiceImpl implements FileTransferService { } destClient.writeFile(srcFile, destinationPath); transferTime = System.currentTimeMillis() - transferTime; - fileTransferRequest.setTransferTime(transferTime); - fileTransferRequest.setFileSize(srcFile.length()); - fileTransferRequest.setTransferStatus(FileTransferStatus.COMPLETED); - String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequest); + fileTransferRequestModel.setTransferTime(transferTime); + fileTransferRequestModel.setFileSize(srcFile.length()); + fileTransferRequestModel.setTransferStatus(FileTransferStatus.COMPLETED); + String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequestModel); return transferId; }else{ throw new FileManagerException("Unsupported src protocol " + srcProtocol); } }catch (Exception e){ logger.error(e.getMessage(), e); - if(fileTransferRequest != null) { - fileTransferRequest.setTransferStatus(FileTransferStatus.FAILED); + if(fileTransferRequestModel != null) { + fileTransferRequestModel.setTransferStatus(FileTransferStatus.FAILED); try { - fileTransferRequestDao.createFileTransferRequest(fileTransferRequest); + fileTransferRequestDao.createFileTransferRequest(fileTransferRequestModel); } catch (JsonProcessingException ex) { logger.error(ex.getMessage(), ex); throw new FileManagerException(ex); @@ -272,6 +280,8 @@ public class FileTransferServiceImpl implements FileTransferService { /** * Transfer file between two storage resources asynchronously. Returns the file transfer request id * + * @param gatewayId + * @param username * @param srcHostname * @param srcLoginName * @param srcPort @@ -289,7 +299,7 @@ public class FileTransferServiceImpl implements FileTransferService { * @throws FileManagerException */ @Override - public String transferFileAsync(String srcHostname, String srcLoginName, int srcPort, StorageResourceProtocol srcProtocol, + public String transferFileAsync(String gatewayId, String username, String srcHostname, String srcLoginName, int srcPort, StorageResourceProtocol srcProtocol, String srcPath, String srcHostCredToken, String destHostname, String destLoginName, int destPort, StorageResourceProtocol destProtocol, String destinationPath, String destHostCredToken, String[] callbackEmails) throws FileManagerException { @@ -309,7 +319,7 @@ public class FileTransferServiceImpl implements FileTransferService { * @throws FileManagerException */ @Override - public List<FileNode> getDirectoryListing(String hostname, String loginName, int port, StorageResourceProtocol protocol, + public List<LSEntryModel> getDirectoryListing(String hostname, String loginName, int port, StorageResourceProtocol protocol, String path, String hostCredential) throws FileManagerException { return null; } @@ -428,7 +438,7 @@ public class FileTransferServiceImpl implements FileTransferService { * @throws FileManagerException */ @Override - public FileTransferRequest getFileTransferRequestStatus(String transferId) throws FileManagerException { + public FileTransferRequestModel getFileTransferRequestStatus(String transferId) throws FileManagerException { try{ return fileTransferRequestDao.getFileTransferRequest(transferId); }catch (Exception ex){ @@ -460,15 +470,15 @@ public class FileTransferServiceImpl implements FileTransferService { public static void main(String[] args) throws IOException, FileManagerException { FileTransferServiceImpl fileTransferService = new FileTransferServiceImpl(); String sourceFile = "fsgsdgsdgsdgsdg"; - String transferId = fileTransferService.uploadFile(sourceFile.getBytes(), "gw75.iu.xsede.org", "pga", 22, - StorageResourceProtocol.SCP, "/var/www/portals/test.file", null); - FileTransferRequest fileTransferRequest = fileTransferService.fileTransferRequestDao.getFileTransferRequest(transferId); - System.out.println("file transfer id:" + fileTransferRequest.getTransferId()); + String transferId = fileTransferService.uploadFile("default", "supun", sourceFile.getBytes(), "gw75.iu.xsede.org", + "pga", 22, StorageResourceProtocol.SCP, "/var/www/portals/test.file", null); + FileTransferRequestModel fileTransferRequestModel = fileTransferService.fileTransferRequestDao.getFileTransferRequest(transferId); + System.out.println("file transfer id:" + fileTransferRequestModel.getTransferId()); - transferId = fileTransferService.transferFile("gw75.iu.xsede.org", "pga", 22, StorageResourceProtocol.SCP, + transferId = fileTransferService.transferFile("default", "supun", "gw75.iu.xsede.org", "pga", 22, StorageResourceProtocol.SCP, "/var/www/portals/test.file", null, "gw75.iu.xsede.org", "pga", 22, StorageResourceProtocol.SCP, "/var/www/portals/test2.file", null); - fileTransferRequest = fileTransferService.fileTransferRequestDao.getFileTransferRequest(transferId); - System.out.println("file transfer id:" + fileTransferRequest.getTransferId()); + fileTransferRequestModel = fileTransferService.fileTransferRequestDao.getFileTransferRequest(transferId); + System.out.println("file transfer id:" + fileTransferRequestModel.getTransferId()); } } \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java new file mode 100644 index 0000000..db00d98 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java @@ -0,0 +1,76 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core; + +import org.apache.airavata.file.manager.cpi.FileManagerException; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MetadataCatalogService implements org.apache.airavata.file.manager.cpi.MetadataCatalogService{ + private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogService.class); + + /** + * Create new metadata model + * + * @param metadataModel + * @return + * @throws FileManagerException + */ + @Override + public String createMetadata(MetadataModel metadataModel) throws FileManagerException { + return null; + } + + /** + * Update exisiting metadata model + * + * @param metadataModel + * @throws FileManagerException + */ + @Override + public void updateMetadata(MetadataModel metadataModel) throws FileManagerException { + + } + + /** + * Delete existing metadata model + * + * @param metadataId + * @throws FileManagerException + */ + @Override + public void deleteMetadata(String metadataId) throws FileManagerException { + + } + + /** + * Retrieve metadata model + * + * @param metadataId + * @return + * @throws FileManagerException + */ + @Override + public MetadataModel getMetadata(String metadataId) throws FileManagerException { + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogServiceImpl.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogServiceImpl.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogServiceImpl.java new file mode 100644 index 0000000..b2a3dda --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogServiceImpl.java @@ -0,0 +1,105 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core; + +import org.apache.airavata.file.manager.core.db.dao.MetadataDao; +import org.apache.airavata.file.manager.cpi.FileManagerException; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +public class MetadataCatalogServiceImpl extends MetadataCatalogService { + private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogServiceImpl.class); + + private MetadataDao metadataDao; + + public MetadataCatalogServiceImpl() throws IOException { + this.metadataDao = new MetadataDao(); + } + + /** + * Create new metadata model + * + * @param metadataModel + * @return + * @throws FileManagerException + */ + @Override + public String createMetadata(MetadataModel metadataModel) throws FileManagerException { + try{ + return metadataDao.createMetadata(metadataModel); + }catch (Exception e){ + logger.error(e.getMessage(), e); + throw new FileManagerException(e); + } + } + + /** + * Update exisiting metadata model + * + * @param metadataModel + * @throws FileManagerException + */ + @Override + public void updateMetadata(MetadataModel metadataModel) throws FileManagerException { + try{ + metadataDao.updateMetadata(metadataModel); + }catch (Exception e){ + logger.error(e.getMessage(), e); + throw new FileManagerException(e); + } + } + + /** + * Delete existing metadata model + * + * @param metadataId + * @throws FileManagerException + */ + @Override + public void deleteMetadata(String metadataId) throws FileManagerException { + try{ + metadataDao.deleteMetadata(metadataId); + }catch (Exception e){ + logger.error(e.getMessage(), e); + throw new FileManagerException(e); + } + } + + /** + * Retrieve metadata model + * + * @param metadataId + * @return + * @throws FileManagerException + */ + @Override + public MetadataModel getMetadata(String metadataId) throws FileManagerException { + try{ + return metadataDao.getMetadata(metadataId); + }catch (Exception e){ + logger.error(e.getMessage(), e); + throw new FileManagerException(e); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/ReplicaCatalogServiceImpl.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/ReplicaCatalogServiceImpl.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/ReplicaCatalogServiceImpl.java new file mode 100644 index 0000000..119e0ae --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/ReplicaCatalogServiceImpl.java @@ -0,0 +1,172 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core; + +import org.apache.airavata.file.manager.core.db.dao.FileCollectionDao; +import org.apache.airavata.file.manager.core.db.dao.FileDao; +import org.apache.airavata.file.manager.cpi.FileManagerException; +import org.apache.airavata.file.manager.cpi.ReplicaCatalogService; +import org.apache.airavata.model.file.replica.FileCollectionModel; +import org.apache.airavata.model.file.replica.FileModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +public class ReplicaCatalogServiceImpl implements ReplicaCatalogService { + private final static Logger logger = LoggerFactory.getLogger(ReplicaCatalogServiceImpl.class); + + private FileDao fileDao; + private FileCollectionDao fileCollectionDao; + + public ReplicaCatalogServiceImpl() throws IOException { + this.fileDao = new FileDao(); + this.fileCollectionDao = new FileCollectionDao(); + } + + /** + * Creates a new file entry in the replica catalog + * + * @param fileModel + * @return + */ + @Override + public String registerFileDetails(FileModel fileModel) throws FileManagerException { + try{ + return fileDao.createFile(fileModel); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Updates an existing file information + * + * @param fileModel + */ + @Override + public void updateFileDetails(FileModel fileModel) throws FileManagerException { + try{ + fileDao.updateFile(fileModel); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Deletes the specified file details entry + * + * @param fileId + */ + @Override + public void deleteFileDetails(String fileId) throws FileManagerException { + try{ + fileDao.deleteFile(fileId); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Retrieves file details for the specified file id + * + * @param fileId + * @return + */ + @Override + public FileModel getFileDetails(String fileId) throws FileManagerException { + try{ + return fileDao.getFile(fileId); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Create new file collection entry + * + * @param fileCollectionModel + * @return + * @throws FileManagerException + */ + @Override + public String registerFileCollection(FileCollectionModel fileCollectionModel) throws FileManagerException { + try{ + return fileCollectionDao.createFileCollection(fileCollectionModel); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Update existing file collection + * + * @param fileCollectionModel + * @throws FileManagerException + */ + @Override + public void updateFileCollection(FileCollectionModel fileCollectionModel) throws FileManagerException { + try{ + fileCollectionDao.updateFileCollection(fileCollectionModel); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Delete exisiting file collection + * + * @param collectionId + * @throws FileManagerException + */ + @Override + public void deleteFileCollection(String collectionId) throws FileManagerException { + try{ + fileCollectionDao.deleteFileCollection(collectionId); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } + + /** + * Retrieve file collection specifying the collection id + * + * @param collectionId + * @return + * @throws FileManagerException + */ + @Override + public FileCollectionModel getFileCollection(String collectionId) throws FileManagerException { + try{ + return fileCollectionDao.getFileCollection(collectionId); + }catch (Exception ex){ + logger.error(ex.getMessage(), ex); + throw new FileManagerException(ex); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestDeserializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestDeserializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestDeserializer.java deleted file mode 100644 index 8b7e481..0000000 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestDeserializer.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ -package org.apache.airavata.file.manager.core.db.conversion; - -import org.apache.airavata.model.file.FileTransferRequest; -import org.apache.thrift.TException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class FileTransferRequestDeserializer extends - AbstractThriftDeserializer<FileTransferRequest._Fields, FileTransferRequest> { - - @Override - protected FileTransferRequest._Fields getField(final String fieldName) { - return FileTransferRequest._Fields.valueOf(fieldName); - } - - @Override - protected FileTransferRequest newInstance() { - return new FileTransferRequest(); - } - - @Override - protected void validate(final FileTransferRequest instance) throws TException { - instance.validate(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestSerializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestSerializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestSerializer.java deleted file mode 100644 index 64114e0..0000000 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/FileTransferRequestSerializer.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ -package org.apache.airavata.file.manager.core.db.conversion; - -import org.apache.airavata.model.file.FileTransferRequest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class FileTransferRequestSerializer extends - AbstractThriftSerializer<FileTransferRequest._Fields, FileTransferRequest> { - private final static Logger logger = LoggerFactory.getLogger(FileTransferRequestSerializer.class); - - @Override - protected FileTransferRequest._Fields[] getFieldValues() { - return FileTransferRequest._Fields.values(); - } - - @Override - protected Class<FileTransferRequest> getThriftClass() { - return null; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/ModelConversionHelper.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/ModelConversionHelper.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/ModelConversionHelper.java index f307d2d..9aac5af 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/ModelConversionHelper.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/ModelConversionHelper.java @@ -24,7 +24,18 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.Version; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; -import org.apache.airavata.model.file.FileTransferRequest; +import org.apache.airavata.file.manager.core.db.conversion.metadata.MetadataDeserializer; +import org.apache.airavata.file.manager.core.db.conversion.metadata.MetadataSerializer; +import org.apache.airavata.file.manager.core.db.conversion.transfer.FileTransferRequestDeserializer; +import org.apache.airavata.file.manager.core.db.conversion.transfer.FileTransferRequestSerializer; +import org.apache.airavata.file.manager.core.db.conversion.replica.FileCollectionDeserializer; +import org.apache.airavata.file.manager.core.db.conversion.replica.FileCollectionSerializer; +import org.apache.airavata.file.manager.core.db.conversion.replica.FileDeserializer; +import org.apache.airavata.file.manager.core.db.conversion.replica.FileSerializer; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; +import org.apache.airavata.model.file.replica.FileCollectionModel; +import org.apache.airavata.model.file.replica.FileModel; import org.apache.thrift.TBase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,8 +63,17 @@ public class ModelConversionHelper { SimpleModule module = new SimpleModule("FileManager", new Version(1,0,0,null,null,null)); - module.addSerializer(FileTransferRequest.class, new FileTransferRequestSerializer()); - module.addDeserializer(FileTransferRequest.class, new FileTransferRequestDeserializer()); + module.addSerializer(FileTransferRequestModel.class, new FileTransferRequestSerializer()); + module.addDeserializer(FileTransferRequestModel.class, new FileTransferRequestDeserializer()); + + module.addSerializer(FileModel.class, new FileSerializer()); + module.addDeserializer(FileModel.class, new FileDeserializer()); + + module.addSerializer(FileCollectionModel.class, new FileCollectionSerializer()); + module.addDeserializer(FileCollectionModel.class, new FileCollectionDeserializer()); + + module.addSerializer(MetadataModel.class, new MetadataSerializer()); + module.addDeserializer(MetadataModel.class, new MetadataDeserializer()); objectMapper.registerModule(module); } http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataDeserializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataDeserializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataDeserializer.java new file mode 100644 index 0000000..8323957 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataDeserializer.java @@ -0,0 +1,45 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.metadata; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftDeserializer; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; +import org.apache.thrift.TException; + +public class MetadataDeserializer extends + AbstractThriftDeserializer<MetadataModel._Fields, MetadataModel> { + + @Override + protected MetadataModel._Fields getField(final String fieldName) { + return MetadataModel._Fields.valueOf(fieldName); + } + + @Override + protected MetadataModel newInstance() { + return new MetadataModel(); + } + + @Override + protected void validate(final MetadataModel instance) throws TException { + instance.validate(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataSerializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataSerializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataSerializer.java new file mode 100644 index 0000000..d527290 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/metadata/MetadataSerializer.java @@ -0,0 +1,42 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.metadata; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftSerializer; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MetadataSerializer extends + AbstractThriftSerializer<MetadataModel._Fields, MetadataModel> { + private final static Logger logger = LoggerFactory.getLogger(MetadataSerializer.class); + + @Override + protected MetadataModel._Fields[] getFieldValues() { + return MetadataModel._Fields.values(); + } + + @Override + protected Class<MetadataModel> getThriftClass() { + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionDeserializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionDeserializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionDeserializer.java new file mode 100644 index 0000000..2953c70 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionDeserializer.java @@ -0,0 +1,44 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.replica; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftDeserializer; +import org.apache.airavata.model.file.replica.FileCollectionModel; +import org.apache.thrift.TException; + +public class FileCollectionDeserializer extends + AbstractThriftDeserializer<FileCollectionModel._Fields, FileCollectionModel> { + + @Override + protected FileCollectionModel._Fields getField(final String fieldName) { + return FileCollectionModel._Fields.valueOf(fieldName); + } + + @Override + protected FileCollectionModel newInstance() { + return new FileCollectionModel(); + } + + @Override + protected void validate(final FileCollectionModel instance) throws TException { + instance.validate(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionSerializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionSerializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionSerializer.java new file mode 100644 index 0000000..a57363c --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileCollectionSerializer.java @@ -0,0 +1,41 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.replica; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftSerializer; +import org.apache.airavata.model.file.replica.FileCollectionModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class FileCollectionSerializer extends + AbstractThriftSerializer<FileCollectionModel._Fields, FileCollectionModel> { + private final static Logger logger = LoggerFactory.getLogger(FileCollectionSerializer.class); + + @Override + protected FileCollectionModel._Fields[] getFieldValues() { + return FileCollectionModel._Fields.values(); + } + + @Override + protected Class<FileCollectionModel> getThriftClass() { + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileDeserializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileDeserializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileDeserializer.java new file mode 100644 index 0000000..ba43ca1 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileDeserializer.java @@ -0,0 +1,44 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.replica; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftDeserializer; +import org.apache.airavata.model.file.replica.FileModel; +import org.apache.thrift.TException; + +public class FileDeserializer extends + AbstractThriftDeserializer<FileModel._Fields, FileModel> { + + @Override + protected FileModel._Fields getField(final String fieldName) { + return FileModel._Fields.valueOf(fieldName); + } + + @Override + protected FileModel newInstance() { + return new FileModel(); + } + + @Override + protected void validate(final FileModel instance) throws TException { + instance.validate(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileSerializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileSerializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileSerializer.java new file mode 100644 index 0000000..eeb5c01 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/replica/FileSerializer.java @@ -0,0 +1,41 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.replica; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftSerializer; +import org.apache.airavata.model.file.replica.FileModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class FileSerializer extends + AbstractThriftSerializer<FileModel._Fields, FileModel> { + private final static Logger logger = LoggerFactory.getLogger(FileSerializer.class); + + @Override + protected FileModel._Fields[] getFieldValues() { + return FileModel._Fields.values(); + } + + @Override + protected Class<FileModel> getThriftClass() { + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestDeserializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestDeserializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestDeserializer.java new file mode 100644 index 0000000..93d200c --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestDeserializer.java @@ -0,0 +1,44 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.transfer; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftDeserializer; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; +import org.apache.thrift.TException; + +public class FileTransferRequestDeserializer extends + AbstractThriftDeserializer<FileTransferRequestModel._Fields, FileTransferRequestModel> { + + @Override + protected FileTransferRequestModel._Fields getField(final String fieldName) { + return FileTransferRequestModel._Fields.valueOf(fieldName); + } + + @Override + protected FileTransferRequestModel newInstance() { + return new FileTransferRequestModel(); + } + + @Override + protected void validate(final FileTransferRequestModel instance) throws TException { + instance.validate(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestSerializer.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestSerializer.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestSerializer.java new file mode 100644 index 0000000..4e4dc70 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/conversion/transfer/FileTransferRequestSerializer.java @@ -0,0 +1,41 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.conversion.transfer; + +import org.apache.airavata.file.manager.core.db.conversion.AbstractThriftSerializer; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class FileTransferRequestSerializer extends + AbstractThriftSerializer<FileTransferRequestModel._Fields, FileTransferRequestModel> { + private final static Logger logger = LoggerFactory.getLogger(FileTransferRequestSerializer.class); + + @Override + protected FileTransferRequestModel._Fields[] getFieldValues() { + return FileTransferRequestModel._Fields.values(); + } + + @Override + protected Class<FileTransferRequestModel> getThriftClass() { + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileCollectionDao.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileCollectionDao.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileCollectionDao.java new file mode 100644 index 0000000..c9d29d6 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileCollectionDao.java @@ -0,0 +1,93 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.dao; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.mongodb.*; +import com.mongodb.util.JSON; +import org.apache.airavata.file.manager.core.db.conversion.ModelConversionHelper; +import org.apache.airavata.file.manager.core.db.utils.MongoUtils; +import org.apache.airavata.file.manager.cpi.FileManagerConstants; +import org.apache.airavata.model.file.replica.FileCollectionModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.UUID; + +public class FileCollectionDao { + private final static Logger logger = LoggerFactory.getLogger(FileCollectionDao.class); + + private static final String FILE_COLLECTION_COLLECTION_NAME = "collection-models"; + private DBCollection collection; + private ModelConversionHelper modelConversionHelper; + + private static final String COLLECTION_ID = "collection_id"; + + public FileCollectionDao() throws IOException { + collection = MongoUtils.getFileManagerRegistry().getCollection(FILE_COLLECTION_COLLECTION_NAME); + modelConversionHelper = new ModelConversionHelper(); + collection.dropIndexes(); + initIndexes(); + } + + /** + * If indexes are already defined this will simply ignore them + */ + private void initIndexes() { + collection.createIndex(new BasicDBObject(COLLECTION_ID, 1), new BasicDBObject("unique", true)); + } + + public String createFileCollection(FileCollectionModel fileCollectionModel) throws JsonProcessingException { + fileCollectionModel.setCollectionId(FileManagerConstants.AIRAVATA_COLLECTION_ID_PREFIX + UUID.randomUUID().toString()); + WriteResult result = collection.insert((DBObject) JSON.parse( + modelConversionHelper.serializeObject(fileCollectionModel))); + logger.debug("No of inserted results " + result.getN()); + return fileCollectionModel.getCollectionId(); + } + + public void updateFileCollection(FileCollectionModel fileCollectionModel) throws JsonProcessingException { + DBObject query = BasicDBObjectBuilder.start().add( + COLLECTION_ID, fileCollectionModel.getCollectionId()).get(); + WriteResult result = collection.update(query, (DBObject) JSON.parse( + modelConversionHelper.serializeObject(fileCollectionModel))); + logger.debug("No of updated results " + result.getN()); + } + + public void deleteFileCollection(String collectionId){ + DBObject query = BasicDBObjectBuilder.start().add( + COLLECTION_ID,collectionId).get(); + WriteResult result = collection.remove(query); + logger.debug("No of removed file model requests " + result.getN()); + } + + public FileCollectionModel getFileCollection(String collectionId) throws IOException { + + DBObject criteria = new BasicDBObject(COLLECTION_ID, collectionId); + DBObject doc = collection.findOne(criteria); + if (doc != null) { + String json = doc.toString(); + return (FileCollectionModel) modelConversionHelper.deserializeObject( + FileCollectionModel.class, json); + } + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileDao.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileDao.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileDao.java new file mode 100644 index 0000000..ac6a1df --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileDao.java @@ -0,0 +1,93 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.dao; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.mongodb.*; +import com.mongodb.util.JSON; +import org.apache.airavata.file.manager.core.db.conversion.ModelConversionHelper; +import org.apache.airavata.file.manager.core.db.utils.MongoUtils; +import org.apache.airavata.file.manager.cpi.FileManagerConstants; +import org.apache.airavata.model.file.replica.FileModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.UUID; + +public class FileDao { + private final static Logger logger = LoggerFactory.getLogger(FileDao.class); + + private static final String FILE_MODELS_COLLECTION_NAME = "file-models"; + private DBCollection collection; + private ModelConversionHelper modelConversionHelper; + + private static final String FILE_ID = "file_id"; + + public FileDao() throws IOException { + collection = MongoUtils.getFileManagerRegistry().getCollection(FILE_MODELS_COLLECTION_NAME); + modelConversionHelper = new ModelConversionHelper(); + collection.dropIndexes(); + initIndexes(); + } + + /** + * If indexes are already defined this will simply ignore them + */ + private void initIndexes() { + collection.createIndex(new BasicDBObject(FILE_ID, 1), new BasicDBObject("unique", true)); + } + + public String createFile(FileModel fileModel) throws JsonProcessingException { + fileModel.setFileId(FileManagerConstants.AIRAVATA_FILE_ID_PREFIX + UUID.randomUUID().toString()); + WriteResult result = collection.insert((DBObject) JSON.parse( + modelConversionHelper.serializeObject(fileModel))); + logger.debug("No of inserted results " + result.getN()); + return fileModel.getFileId(); + } + + public void updateFile(FileModel fileModel) throws JsonProcessingException { + DBObject query = BasicDBObjectBuilder.start().add( + FILE_ID, fileModel.getFileId()).get(); + WriteResult result = collection.update(query, (DBObject) JSON.parse( + modelConversionHelper.serializeObject(fileModel))); + logger.debug("No of updated results " + result.getN()); + } + + public void deleteFile(String fileId){ + DBObject query = BasicDBObjectBuilder.start().add( + FILE_ID,fileId).get(); + WriteResult result = collection.remove(query); + logger.debug("No of removed file model requests " + result.getN()); + } + + public FileModel getFile(String fileId) throws IOException { + + DBObject criteria = new BasicDBObject(FILE_ID, fileId); + DBObject doc = collection.findOne(criteria); + if (doc != null) { + String json = doc.toString(); + return (FileModel) modelConversionHelper.deserializeObject( + FileModel.class, json); + } + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileTransferRequestDao.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileTransferRequestDao.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileTransferRequestDao.java index 142fa13..afae6d0 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileTransferRequestDao.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/FileTransferRequestDao.java @@ -25,16 +25,11 @@ import com.mongodb.*; import com.mongodb.util.JSON; import org.apache.airavata.file.manager.core.db.conversion.ModelConversionHelper; import org.apache.airavata.file.manager.core.db.utils.MongoUtils; -import org.apache.airavata.model.file.FileTransferRequest; -import org.apache.airavata.registry.core.experiment.catalog.model.Gateway; -import org.apache.airavata.registry.cpi.RegistryException; +import org.apache.airavata.model.file.transfer.FileTransferRequestModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; import java.util.UUID; public class FileTransferRequestDao { @@ -60,58 +55,48 @@ public class FileTransferRequestDao { collection.createIndex(new BasicDBObject(TRANSFER_ID, 1), new BasicDBObject("unique", true)); } - public List<FileTransferRequest> getAllFileTransferRequests() throws IOException { - List<FileTransferRequest> fileTransferRequestList = new ArrayList(); - DBCursor cursor = collection.find(); - for (DBObject document : cursor) { - fileTransferRequestList.add((FileTransferRequest) modelConversionHelper.deserializeObject( - FileTransferRequest.class, document.toString())); - } - return fileTransferRequestList; - } - - public String createFileTransferRequest(FileTransferRequest fileTransferRequest) throws JsonProcessingException { - fileTransferRequest.setTransferId(UUID.randomUUID().toString()); + public String createFileTransferRequest(FileTransferRequestModel fileTransferRequestModel) throws JsonProcessingException { + fileTransferRequestModel.setTransferId(UUID.randomUUID().toString()); WriteResult result = collection.insert((DBObject) JSON.parse( - modelConversionHelper.serializeObject(fileTransferRequest))); + modelConversionHelper.serializeObject(fileTransferRequestModel))); logger.debug("No of inserted results " + result.getN()); - return fileTransferRequest.getTransferId(); + return fileTransferRequestModel.getTransferId(); } - public void updateFileTransferRequest(FileTransferRequest fileTransferRequest) throws JsonProcessingException { + public void updateFileTransferRequest(FileTransferRequestModel fileTransferRequestModel) throws JsonProcessingException { DBObject query = BasicDBObjectBuilder.start().add( - TRANSFER_ID, fileTransferRequest.getTransferId()).get(); + TRANSFER_ID, fileTransferRequestModel.getTransferId()).get(); WriteResult result = collection.update(query, (DBObject) JSON.parse( - modelConversionHelper.serializeObject(fileTransferRequest))); + modelConversionHelper.serializeObject(fileTransferRequestModel))); logger.debug("No of updated results " + result.getN()); } - public void deleteFileTransferRequest(FileTransferRequest fileTransferRequest){ + public void deleteFileTransferRequest(String trasnferId){ DBObject query = BasicDBObjectBuilder.start().add( - TRANSFER_ID, fileTransferRequest.getTransferId()).get(); + TRANSFER_ID, trasnferId).get(); WriteResult result = collection.remove(query); logger.debug("No of removed file transfer requests " + result.getN()); } - public FileTransferRequest getFileTransferRequest(String transferId) throws IOException { + public FileTransferRequestModel getFileTransferRequest(String transferId) throws IOException { DBObject criteria = new BasicDBObject(TRANSFER_ID, transferId); DBObject doc = collection.findOne(criteria); if (doc != null) { String json = doc.toString(); - return (FileTransferRequest) modelConversionHelper.deserializeObject( - FileTransferRequest.class, json); + return (FileTransferRequestModel) modelConversionHelper.deserializeObject( + FileTransferRequestModel.class, json); } return null; } public static void main(String[] args) throws IOException { - FileTransferRequest fileTransferRequest = new FileTransferRequest(); - fileTransferRequest.setSrcHostCredToken("djkalbsbdaslfbalsfbslf"); - fileTransferRequest.setSrcFilePath("test-file-path"); + FileTransferRequestModel fileTransferRequestModel = new FileTransferRequestModel(); + fileTransferRequestModel.setSrcHostCredToken("djkalbsbdaslfbalsfbslf"); + fileTransferRequestModel.setSrcFilePath("test-file-path"); FileTransferRequestDao fileTransferRequestDao = new FileTransferRequestDao(); - String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequest); - fileTransferRequest = fileTransferRequestDao.getFileTransferRequest(transferId); - System.out.println("Transfer Id:" + fileTransferRequest.getTransferId()); + String transferId = fileTransferRequestDao.createFileTransferRequest(fileTransferRequestModel); + fileTransferRequestModel = fileTransferRequestDao.getFileTransferRequest(transferId); + System.out.println("Transfer Id:" + fileTransferRequestModel.getTransferId()); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/MetadataDao.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/MetadataDao.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/MetadataDao.java new file mode 100644 index 0000000..9f9d494 --- /dev/null +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/db/dao/MetadataDao.java @@ -0,0 +1,94 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.file.manager.core.db.dao; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.mongodb.*; +import com.mongodb.util.JSON; +import org.apache.airavata.file.manager.core.db.conversion.ModelConversionHelper; +import org.apache.airavata.file.manager.core.db.utils.MongoUtils; +import org.apache.airavata.file.manager.cpi.FileManagerConstants; +import org.apache.airavata.model.file.metadata.MetadataModel; +import org.apache.airavata.model.file.replica.FileModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.UUID; + +public class MetadataDao { + private final static Logger logger = LoggerFactory.getLogger(MetadataDao.class); + + private static final String METADATA_COLLECTION_NAME = "metadata-models"; + private DBCollection collection; + private ModelConversionHelper modelConversionHelper; + + private static final String METADATA_ID = "metadata_id"; + + public MetadataDao() throws IOException { + collection = MongoUtils.getFileManagerRegistry().getCollection(METADATA_COLLECTION_NAME); + modelConversionHelper = new ModelConversionHelper(); + collection.dropIndexes(); + initIndexes(); + } + + /** + * If indexes are already defined this will simply ignore them + */ + private void initIndexes() { + collection.createIndex(new BasicDBObject(METADATA_ID, 1), new BasicDBObject("unique", true)); + } + + public String createMetadata(MetadataModel metadataModel) throws JsonProcessingException { + metadataModel.setMetadataId(FileManagerConstants.AIRAVATA_METADATA_ID_PREFIX + UUID.randomUUID().toString()); + WriteResult result = collection.insert((DBObject) JSON.parse( + modelConversionHelper.serializeObject(metadataModel))); + logger.debug("No of inserted results " + result.getN()); + return metadataModel.getMetadataId(); + } + + public void updateMetadata(MetadataModel metadataModel) throws JsonProcessingException { + DBObject query = BasicDBObjectBuilder.start().add( + METADATA_ID, metadataModel.getMetadataId()).get(); + WriteResult result = collection.update(query, (DBObject) JSON.parse( + modelConversionHelper.serializeObject(metadataModel))); + logger.debug("No of updated results " + result.getN()); + } + + public void deleteMetadata(String metadataId){ + DBObject query = BasicDBObjectBuilder.start().add( + METADATA_ID,metadataId).get(); + WriteResult result = collection.remove(query); + logger.debug("No of removed metadata model requests " + result.getN()); + } + + public MetadataModel getMetadata(String metadataId) throws IOException { + + DBObject criteria = new BasicDBObject(METADATA_ID, metadataId); + DBObject doc = collection.findOne(criteria); + if (doc != null) { + String json = doc.toString(); + return (MetadataModel) modelConversionHelper.deserializeObject( + MetadataModel.class, json); + } + return null; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/RemoteStorageClient.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/RemoteStorageClient.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/RemoteStorageClient.java index 4293e2e..a9e743c 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/RemoteStorageClient.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/RemoteStorageClient.java @@ -20,8 +20,7 @@ */ package org.apache.airavata.file.manager.core.remote.client; - -import org.apache.airavata.model.file.FileNode; +import org.apache.airavata.model.file.transfer.LSEntryModel; import java.io.File; import java.util.List; @@ -50,7 +49,7 @@ public interface RemoteStorageClient { * @return * @throws Exception */ - List<FileNode> getDirectoryListing(String directoryPath) throws Exception; + List<LSEntryModel> getDirectoryListing(String directoryPath) throws Exception; /** * Move the specified file from source to destination within the same storage resource http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/http/HTTPStorageClient.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/http/HTTPStorageClient.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/http/HTTPStorageClient.java index 85d2056..e829c3b 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/http/HTTPStorageClient.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/http/HTTPStorageClient.java @@ -21,7 +21,7 @@ package org.apache.airavata.file.manager.core.remote.client.http; import org.apache.airavata.file.manager.core.remote.client.RemoteStorageClient; -import org.apache.airavata.model.file.FileNode; +import org.apache.airavata.model.file.transfer.LSEntryModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,14 +31,12 @@ import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.io.File; import java.io.FileOutputStream; -import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; -import java.security.Security; import java.util.List; import java.util.UUID; @@ -131,7 +129,7 @@ public class HTTPStorageClient implements RemoteStorageClient { * @throws Exception */ @Override - public List<FileNode> getDirectoryListing(String directoryPath) throws Exception { + public List<LSEntryModel> getDirectoryListing(String directoryPath) throws Exception { throw new UnsupportedOperationException(); } http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/scp/SCPStorageClient.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/scp/SCPStorageClient.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/scp/SCPStorageClient.java index 2c2c0a6..559bdde 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/scp/SCPStorageClient.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/scp/SCPStorageClient.java @@ -22,7 +22,7 @@ package org.apache.airavata.file.manager.core.remote.client.scp; import com.jcraft.jsch.*; import org.apache.airavata.file.manager.core.remote.client.RemoteStorageClient; -import org.apache.airavata.model.file.FileNode; +import org.apache.airavata.model.file.transfer.LSEntryModel; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -297,7 +297,7 @@ public class SCPStorageClient implements RemoteStorageClient { * @throws Exception */ @Override - public List<FileNode> getDirectoryListing(String directoryPath) throws Exception { + public List<LSEntryModel> getDirectoryListing(String directoryPath) throws Exception { return null; } http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/sftp/SFTPStorageClient.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/sftp/SFTPStorageClient.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/sftp/SFTPStorageClient.java index 38275a9..b1d675a 100644 --- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/sftp/SFTPStorageClient.java +++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/remote/client/sftp/SFTPStorageClient.java @@ -25,8 +25,8 @@ import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import org.apache.airavata.file.manager.core.remote.client.RemoteStorageClient; -import org.apache.airavata.model.file.FileNode; -import org.apache.airavata.model.file.FileNodeTypes; +import org.apache.airavata.model.file.transfer.LSEntryModel; +import org.apache.airavata.model.file.transfer.LSEntryType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -100,7 +100,7 @@ public class SFTPStorageClient implements RemoteStorageClient { * @throws Exception */ @Override - public List<FileNode> getDirectoryListing(String directoryPath) throws Exception { + public List<LSEntryModel> getDirectoryListing(String directoryPath) throws Exception { if(directoryPath.endsWith(File.separator)){ directoryPath = directoryPath.substring(0, directoryPath.length() -1); } @@ -111,17 +111,17 @@ public class SFTPStorageClient implements RemoteStorageClient { } sftpChannel.cd(directoryPath); Vector<ChannelSftp.LsEntry> lsEntryVector = sftpChannel.ls(directoryPath); - ArrayList<FileNode> fileNodeList = new ArrayList<>(); + ArrayList<LSEntryModel> fileNodeList = new ArrayList<>(); lsEntryVector.stream().forEach(lsEntry -> { - FileNode fileNode = new FileNode(); + LSEntryModel fileNode = new LSEntryModel(); fileNode.setName(lsEntry.getFilename()); fileNode.setPath(finalDirPath + File.separator + lsEntry.getFilename()); fileNode.setStorageHostName(hostName); fileNode.setSize(lsEntry.getAttrs().getSize()); if(lsEntry.getAttrs().isDir()) - fileNode.setType(FileNodeTypes.DIRECTORY); + fileNode.setType(LSEntryType.DIRECTORY); else - fileNode.setType(FileNodeTypes.FILE); + fileNode.setType(LSEntryType.FILE); fileNodeList.add(fileNode); }); return fileNodeList; http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManager.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManager.java b/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManager.java index 8b9f9f4..39b8fa3 100644 --- a/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManager.java +++ b/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManager.java @@ -21,4 +21,22 @@ package org.apache.airavata.file.manager.cpi; public interface FileManager { + + /** + * Return file transfer service instance + * @return + */ + FileTransferService getFileTransferService() throws FileManagerException; + + /** + * Return replica catalog service instance + * @return + */ + ReplicaCatalogService getReplicaCatalogService() throws FileManagerException; + + /** + * Return metadata catalog service + * @return + */ + MetadataCatalogService getMetadataCatalogService() throws FileManagerException; } http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManagerConstants.java ---------------------------------------------------------------------- diff --git a/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManagerConstants.java b/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManagerConstants.java index 98ba692..2fd8138 100644 --- a/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManagerConstants.java +++ b/modules/file-manager/file-manager-cpi/src/main/java/org/apache/airavata/file/manager/cpi/FileManagerConstants.java @@ -25,4 +25,8 @@ import org.slf4j.LoggerFactory; public class FileManagerConstants { private final static Logger logger = LoggerFactory.getLogger(FileManagerConstants.class); + + public static String AIRAVATA_FILE_ID_PREFIX = "airavata-file://"; + public static String AIRAVATA_COLLECTION_ID_PREFIX = "airavata-collection://"; + public static final String AIRAVATA_METADATA_ID_PREFIX = "airavata-metadata://"; } \ No newline at end of file
