You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2017/07/16 16:15:27 UTC
[11/53] [partial] oodt git commit: Record change for OODT-836,
OODT-837.
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/TestJschSftpProtocol.java
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/TestJschSftpProtocol.java b/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/TestJschSftpProtocol.java
deleted file mode 100644
index 2cdd2eb..0000000
--- a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/TestJschSftpProtocol.java
+++ /dev/null
@@ -1,298 +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.oodt.cas.protocol.sftp;
-
-//JUnit imports
-
-import org.apache.commons.io.FileUtils;
-import org.apache.mina.util.AvailablePortFinder;
-import org.apache.oodt.cas.protocol.ProtocolFile;
-import org.apache.oodt.cas.protocol.exceptions.ProtocolException;
-import org.apache.oodt.cas.protocol.sftp.auth.HostKeyAuthentication;
-import org.apache.oodt.cas.protocol.util.ProtocolFileFilter;
-
-import com.sshtools.daemon.SshDaemon;
-import com.sshtools.daemon.configuration.PlatformConfiguration;
-import com.sshtools.daemon.configuration.ServerConfiguration;
-import com.sshtools.daemon.configuration.XmlServerConfigurationContext;
-import com.sshtools.j2ssh.configuration.ConfigurationException;
-import com.sshtools.j2ssh.configuration.ConfigurationLoader;
-
-import org.mockito.Mockito;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.xml.sax.SAXException;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.TestCase;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-
-//JAVAX imports
-//OODT imports
-//SshTools imports
-//JUnit imports
-
-/**
- * Test class for {@link JschSftpProtocol}.
- *
- * @author bfoster
- */
-public class TestJschSftpProtocol extends TestCase {
-
- static TestXmlServerConfigurationContext context;
- static final Logger LOG = Logger.getLogger(TestJschSftpProtocol.class.getName());
- static Thread thread;
- File publicKeysDir;
-
- @Override
- public void setUp() {
- try {
- publicKeysDir = new File("src/test/resources/publicKeys");
- publicKeysDir.mkdirs();
- FileUtils.forceDeleteOnExit(publicKeysDir);
- FileUtils.copyFile(new File("src/test/resources/authorization.xml"), new File("src/test/resources/publicKeys/authorization.xml"));
- FileUtils.copyFile(new File("src/test/resources/server.xml"), new File("src/test/resources/publicKeys/server.xml"));
- FileUtils.copyFile(new File("src/test/resources/platform.xml"), new File("src/test/resources/publicKeys/platform.xml"));
- ConfigurationLoader.initialize(true, context = new TestXmlServerConfigurationContext());
- } catch (Exception e) {
- fail("Failed to initialize server configuration");
- }
-
- (thread = new Thread(new Runnable() {
- public void run() {
- try {
- SshDaemon.start();
- } catch (Exception e) {
- LOG.log(Level.SEVERE, e.getMessage());
- }
- }
-
- })).start();
- }
-
- @Override
- public void tearDown() throws IOException {
- FileUtils.forceDelete(publicKeysDir);
- SshDaemon.stop("");
- }
-
- public void testCDandPWDandLS() throws IOException, ProtocolException {
- int port = context.getPort();
- File pubKeyFile = createPubKeyForPort(port);
- JschSftpProtocol sftpProtocol = spy(new JschSftpProtocol(port));
- Mockito.doAnswer(new Answer() {
- public Object answer(InvocationOnMock invocation) {
- return null;
- }}).when(sftpProtocol).connect("localhost", new HostKeyAuthentication("bfoster", "",
- pubKeyFile.getAbsoluteFile().getAbsolutePath()));
-
- sftpProtocol.connect("localhost", new HostKeyAuthentication("bfoster", "",
- pubKeyFile.getAbsoluteFile().getAbsolutePath()));
- ProtocolFile homeDir = sftpProtocol.pwd();
- ProtocolFile testDir = new ProtocolFile(homeDir, "sshTestDir", true);
- sftpProtocol.cd(testDir);
-
- Mockito.when(sftpProtocol.pwd()).thenReturn(new ProtocolFile(homeDir, "sshTestDir", true));
-
-
- assertEquals(testDir, sftpProtocol.pwd());
- List<ProtocolFile> lsResults = new ArrayList<ProtocolFile>(
- sftpProtocol.ls(new ProtocolFileFilter() {
- public boolean accept(ProtocolFile file) {
- return file.getName().equals("sshTestFile");
- }
- }));
- assertEquals(1, lsResults.size());
- ProtocolFile testFile = lsResults.get(0);
- ProtocolFile testnew = new ProtocolFile(testDir, "sshTestFile", false);
- assertEquals(new ProtocolFile(null, testDir.getPath()+"/sshTestFile", false), testFile);
- }
-
- public void testGET() throws ProtocolException, IOException {
- int port = context.getPort();
- File pubKeyFile = createPubKeyForPort(port);
- //JschSftpProtocol sftpProtocol = new JschSftpProtocol(port);
- JschSftpProtocol mockc = mock(JschSftpProtocol.class);
-
- Mockito.doAnswer(new Answer() {
- public Object answer(InvocationOnMock invocation) {
- return null;
- }}).when(mockc).connect("localhost", new HostKeyAuthentication("bfoster", "",
- pubKeyFile.getAbsoluteFile().getAbsolutePath()));
- mockc.connect("localhost", new HostKeyAuthentication("bfoster", "",
- pubKeyFile.getAbsoluteFile().getAbsolutePath()));
-
-
- File bogusFile = File.createTempFile("bogus", "bogus");
- final File tmpFile = new File(bogusFile.getParentFile(), "TestJschSftpProtocol");
- bogusFile.delete();
- tmpFile.mkdirs();
- mockc.cd(new ProtocolFile("sshTestDir", true));
- File testDownloadFile = new File(tmpFile, "testDownloadFile");
-
- Mockito.doAnswer(new Answer(){
- public Object answer(InvocationOnMock invocationOnMock) throws IOException {
-
- PrintWriter writer = new PrintWriter(tmpFile+"/testDownloadFile", "UTF-8");
- writer.print(readFile("src/test/resources/sshTestDir/sshTestFile"));
- writer.close();
-
- return null;
- }
- }).when(mockc).get(new ProtocolFile("sshTestFile", false), testDownloadFile);
-
-
- mockc.get(new ProtocolFile("sshTestFile", false), testDownloadFile);
-
- assertTrue(FileUtils.contentEquals(new File("src/test/resources/sshTestDir/sshTestFile"), testDownloadFile));
-
- FileUtils.forceDelete(tmpFile);
- }
-
- public String readFile(String path){
- BufferedReader buffReader = null;
- try{
- buffReader = new BufferedReader (new FileReader(path));
- String line = buffReader.readLine();
- StringBuilder build = new StringBuilder();
- while(line != null){
- build.append(line);
- build.append("\n");
- System.out.println(line);
- line = buffReader.readLine();
-
-
- }
- return build.toString();
- }catch(IOException ioe){
- LOG.log(Level.SEVERE, ioe.getMessage());
- }finally{
- try{
- buffReader.close();
- }catch(IOException ioe1){
- //Leave It
- }
-
- }
- return path;
- }
-
- private static class TestServerConfiguration extends ServerConfiguration {
-
- int commandPort = AvailablePortFinder.getNextAvailable(12222);
- int port = AvailablePortFinder.getNextAvailable(2022);
-
- public TestServerConfiguration(InputStream is) throws SAXException,
- ParserConfigurationException, IOException {
- super(is);
- }
-
- @Override
- public int getCommandPort() {
- return commandPort;
- }
-
- @Override
- public int getPort() {
- return port;
- }
- }
-
- private static class TestXmlServerConfigurationContext extends XmlServerConfigurationContext {
-
- private TestServerConfiguration serverConfig;
- private PlatformConfiguration platformConfig;
-
- public TestXmlServerConfigurationContext() {
- super();
- }
-
- @Override
- public void initialize() throws ConfigurationException {
- try {
- serverConfig = new TestServerConfiguration(ConfigurationLoader.loadFile("src/test/resources/publicKeys/server.xml"));
- } catch (Exception e) {
- throw new ConfigurationException(e.getMessage());
- }
- try {
- platformConfig = new PlatformConfiguration(ConfigurationLoader.loadFile("src/test/resources/publicKeys/platform.xml")) {};
- } catch (Exception e) {
- throw new ConfigurationException(e.getMessage());
- }
- }
-
- @Override
- public boolean isConfigurationAvailable(@SuppressWarnings("rawtypes") Class cls) {
- try {
- getConfiguration(cls);
- return true;
- } catch (Exception e) {
- return false;
- }
- }
-
- @Override
- public Object getConfiguration(@SuppressWarnings("rawtypes") Class cls) throws ConfigurationException {
- if (ServerConfiguration.class.equals(cls)) {
- return serverConfig;
- } else if (PlatformConfiguration.class.equals(cls)) {
- return platformConfig;
- } else {
- throw new ConfigurationException(cls.getName()
- + " configuration not available");
- }
- }
-
- public int getPort() {
- return serverConfig.getPort();
- }
- }
-
- private File createPubKeyForPort(int port) throws IOException {
- PrintStream ps = null;
- BufferedReader br = null;
- try {
- File publicKeyFile = new File(publicKeysDir, "sample-dsa.pub");
- br = new BufferedReader(new FileReader(new File("src/test/resources/sample-dsa.pub").getAbsoluteFile()));
- ps = new PrintStream(new FileOutputStream(publicKeyFile));
- String nextLine;
- while ((nextLine = br.readLine()) != null) {
- ps.println(nextLine.replace("2022", Integer.toString(port)));
- }
- return publicKeyFile;
- } finally {
- try { ps.close(); } catch (Exception ignored) {}
- try { br.close(); } catch (Exception ignored) {}
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/UnsupportedShellProcessProvider.java
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/UnsupportedShellProcessProvider.java b/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/UnsupportedShellProcessProvider.java
deleted file mode 100644
index 9e784b8..0000000
--- a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/UnsupportedShellProcessProvider.java
+++ /dev/null
@@ -1,114 +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.oodt.cas.protocol.sftp;
-
-//JDK imports
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-//SshTools imports
-import com.sshtools.daemon.platform.NativeProcessProvider;
-import com.sshtools.j2ssh.io.DynamicBuffer;
-
-/**
- * This is a shell provider that prints a message saying that we don't support
- * shell access, and then closes the connection.
- */
-public final class UnsupportedShellProcessProvider extends
- NativeProcessProvider {
-
- private static final String MESSAGE = "This server does not provide shell access, only SFTP. Goodbye.\n";
-
- private DynamicBuffer stdin = new DynamicBuffer();
- private DynamicBuffer stderr = new DynamicBuffer();
- private DynamicBuffer stdout = new DynamicBuffer();
-
- @Override
- public boolean createProcess(final String command, final Map environment)
- throws IOException {
- return true;
- }
-
- @Override
- public String getDefaultTerminalProvider() {
- return "UnsupportedShell";
- }
-
- @Override
- public void kill() {
- try {
- stdin.getInputStream().close();
- stdin.getOutputStream().close();
- } catch (Exception ignored) {
- }
- try {
- stdout.getInputStream().close();
- stdout.getOutputStream().close();
- } catch (Exception ignored) {
- }
- try {
- stderr.getInputStream().close();
- stderr.getOutputStream().close();
- } catch (Exception ignored) {
- }
- }
-
- @Override
- public void start() throws IOException {
- stdin.getOutputStream().write(MESSAGE.getBytes());
- }
-
- @Override
- public boolean stillActive() {
- try {
- return stdin.getInputStream().available() > 0;
- } catch (IOException ex) {
- return false;
- }
- }
-
- @Override
- public boolean supportsPseudoTerminal(final String term) {
- return true;
- }
-
- @Override
- public boolean allocatePseudoTerminal(final String term, final int cols,
- final int rows, final int width, final int height, final String modes) {
- return true;
- }
-
- @Override
- public int waitForExitCode() {
- return 0;
- }
-
- public InputStream getInputStream() throws IOException {
- return stdin.getInputStream();
- }
-
- public OutputStream getOutputStream() throws IOException {
- return stdout.getOutputStream();
- }
-
- public InputStream getStderrInputStream() {
- return stderr.getInputStream();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/auth/TestHostKeyAuthentication.java
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/auth/TestHostKeyAuthentication.java b/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/auth/TestHostKeyAuthentication.java
deleted file mode 100644
index 5dbb514..0000000
--- a/protocol/sftp/src/test/java/org/apache/oodt/cas/protocol/sftp/auth/TestHostKeyAuthentication.java
+++ /dev/null
@@ -1,36 +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.oodt.cas.protocol.sftp.auth;
-
-//JUnit imports
-import junit.framework.TestCase;
-
-/**
- * Test class for {@link HostKeyAuthentication}.
- *
- * @author bfoster
- */
-public class TestHostKeyAuthentication extends TestCase {
-
- public void testInitialState() {
- HostKeyAuthentication auth = new HostKeyAuthentication("user", "pass", "file");
- assertEquals("user", auth.getUser());
- assertEquals("pass", auth.getPass());
- assertEquals("file", auth.getHostKeyFile());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/authorization.xml
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/authorization.xml b/protocol/sftp/src/test/resources/authorization.xml
deleted file mode 100644
index da00e69..0000000
--- a/protocol/sftp/src/test/resources/authorization.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
-<!-- Sshtools User Authorization File -->
-<AuthorizedKeys>
- <!-- Enter authorized public key elements here -->
- <Key>sample-dsa.pub</Key>
-
-</AuthorizedKeys>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/platform.xml
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/platform.xml b/protocol/sftp/src/test/resources/platform.xml
deleted file mode 100644
index b0f93af..0000000
--- a/protocol/sftp/src/test/resources/platform.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<!--
-Platform configuration file - Determines the behaviour of platform specific services
--->
-<PlatformConfiguration>
- <!-- The process provider for executing and redirecting a process -->
- <NativeProcessProvider>org.apache.oodt.cas.protocol.sftp.UnsupportedShellProcessProvider</NativeProcessProvider>
- <!-- The authentication provider for authenticating users and obtaining user information -->
- <!--
- WARNING: the dummy provider here doesn't ask for any passwords so obviously it's
- extremely insecure. You should only use it for testing.
- -->
- <NativeAuthenticationProvider>org.apache.oodt.cas.protocol.sftp.DummyAuthenticationProvider</NativeAuthenticationProvider>
- <!-- The file system provider for SFTP -->
- <NativeFileSystemProvider>com.sshtools.daemon.vfs.VirtualFileSystem</NativeFileSystemProvider>
- <!-- Native settings which may be used by the process or authentication provider -->
- <!-- Add native settings here -->
- <!-- <NativeSetting Name="AuthenticateOnDomain" Value="."/> -->
-</PlatformConfiguration>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/sample-dsa.key
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/sample-dsa.key b/protocol/sftp/src/test/resources/sample-dsa.key
deleted file mode 100644
index ad94854..0000000
--- a/protocol/sftp/src/test/resources/sample-dsa.key
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN DSA PRIVATE KEY-----
-MIIBvAIBAAKBgQD/dvNwGfLUx8hRXmJRN/zEvlrUVgOPuYao0JQfcdwz4Zqi/kDq
-+4I/GsGphw8v/pI0g0N5jHiiGQ+apVoSOXoYgrW6YNKHIpmBvM1zVQWA33bAqq/+
-+k+9Bugp8xvAA5AXUrPdRKQiKYC5ECYX/lIDZCSgty6QrQSnhmAECdm6mQIVAO/1
-X4nkLhL4jwhOGMUmuTVOQxwJAoGBAMi/2mkZc1Aj7FQCJsv/j/Th9eYLYJ1JaeFm
-iYhfkggMfoKyfWlEEjll56UThZL+ZyC2WVUUWDuTrt77zVPUGxEFM2gwL9judLaq
-lV+rOFrwf5LcaQnSoNHWrkf2MUy+juinZFHN/2eI+mQXv0/07IQjbCDAH0U1rr97
-Qxw9Saa3AoGAVMOH1a6meQj4pzZZ9BEkFVVQAuC+DBqxZND2flxIMnO/Z9si1Znw
-0z0ClXXY5vpk1DQJ2FI60aufqYgg/2UhQNjTp37DKL6sk4aK25wwXLWbuaf6b9Ah
-IFwU+g5xSm0j12P40AqaNIhLoCv2FPXSHvnJDsZw3r703ITUB+hwlEwCFQCjIrDI
-YOzgRFkXJwfZCKVpo3L1JA==
------END DSA PRIVATE KEY-----
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/sample-dsa.pub
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/sample-dsa.pub b/protocol/sftp/src/test/resources/sample-dsa.pub
deleted file mode 100644
index 9a1c9b6..0000000
--- a/protocol/sftp/src/test/resources/sample-dsa.pub
+++ /dev/null
@@ -1 +0,0 @@
-[localhost]:2022 ssh-dss AAAAB3NzaC1kc3MAAACBAP9283AZ8tTHyFFeYlE3/MS+WtRWA4+5hqjQlB9x3DPhmqL+QOr7gj8awamHDy/+kjSDQ3mMeKIZD5qlWhI5ehiCtbpg0ocimYG8zXNVBYDfdsCqr/76T70G6CnzG8ADkBdSs91EpCIpgLkQJhf+UgNkJKC3LpCtBKeGYAQJ2bqZAAAAFQDv9V+J5C4S+I8IThjFJrk1TkMcCQAAAIEAyL/aaRlzUCPsVAImy/+P9OH15gtgnUlp4WaJiF+SCAx+grJ9aUQSOWXnpROFkv5nILZZVRRYO5Ou3vvNU9QbEQUzaDAv2O50tqqVX6s4WvB/ktxpCdKg0dauR/YxTL6O6KdkUc3/Z4j6ZBe/T/TshCNsIMAfRTWuv3tDHD1JprcAAACAVMOH1a6meQj4pzZZ9BEkFVVQAuC+DBqxZND2flxIMnO/Z9si1Znw0z0ClXXY5vpk1DQJ2FI60aufqYgg/2UhQNjTp37DKL6sk4aK25wwXLWbuaf6b9AhIFwU+g5xSm0j12P40AqaNIhLoCv2FPXSHvnJDsZw3r703ITUB+hwlEw=
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/server.xml
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/server.xml b/protocol/sftp/src/test/resources/server.xml
deleted file mode 100644
index b690761..0000000
--- a/protocol/sftp/src/test/resources/server.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.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.
--->
-<ServerConfiguration>
- <!-- this key needs generating by the provided keygen tool -->
- <ServerHostKey PrivateKeyFile="src/test/resources/sample-dsa.key"/>
- <!-- Port>2023</Port -->
- <!-- UserConfigDirectory>src/test/resources</UserConfigDirectory -->
- <!-- add other authentication methods as desired -->
- <AllowedAuthentication>password</AllowedAuthentication>
- <AllowedAuthentication>keyboard-interactive</AllowedAuthentication>
- <!-- You can specify more subsystems, or even a replacement SFTP subsystem -->
- <Subsystem Name="sftp" Type="class" Provider="com.sshtools.daemon.sftp.SftpSubsystemServer" />
-</ServerConfiguration>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/protocol/sftp/src/test/resources/sshTestDir/sshTestFile
----------------------------------------------------------------------
diff --git a/protocol/sftp/src/test/resources/sshTestDir/sshTestFile b/protocol/sftp/src/test/resources/sshTestDir/sshTestFile
deleted file mode 100644
index 2556d55..0000000
--- a/protocol/sftp/src/test/resources/sshTestDir/sshTestFile
+++ /dev/null
@@ -1,18 +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.
-
-This is a
-test
-File
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/pom.xml
----------------------------------------------------------------------
diff --git a/pushpull/pom.xml b/pushpull/pom.xml
deleted file mode 100644
index a451ce2..0000000
--- a/pushpull/pom.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.oodt</groupId>
- <artifactId>oodt-core</artifactId>
- <version>1.1-SNAPSHOT</version>
- <relativePath>../core/pom.xml</relativePath>
- </parent>
- <artifactId>cas-pushpull</artifactId>
- <name>CAS Push-Pull-Framework</name>
- <!-- All dependencies should be listed in core/pom.xml and be ordered alphabetically by package and artifact.
- Once the dependency is in the core pom, it can then be used in other modules without the version tags.
- For example, within core/pom.xml:
-
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk</artifactId>
- <version>1.7.4</version>
- </dependency>
-
- Elsewhere in the platform:
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk</artifactId>
- </dependency>
-
- Where possible the same dependency version should be used across the whole platform but if required the version
- can be overridden in a specific pom and should have a comment explaing why the version has been overridden
- -->
- <dependencies>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>10.0.1</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-filemgr</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-metadata</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-protocol-api</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-protocol-ftp</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-protocol-http</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-protocol-imaps</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-protocol-sftp</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.5</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>oro</groupId>
- <artifactId>oro</artifactId>
- <version>2.0.8</version>
- </dependency>
- <dependency>
- <groupId>xmlrpc</groupId>
- <artifactId>xmlrpc</artifactId>
- <version>2.0.1</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-2</version>
- <configuration>
- <descriptors>
- <descriptor>src/main/assembly/assembly.xml</descriptor>
- </descriptors>
- <archive>
- <manifest>
- <mainClass>org.apache.oodt.cas.pushpull.daemon.DaemonLauncher</mainClass>
- </manifest>
- </archive>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>single</goal>
- </goals>
- <phase>package</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <scm>
- <!--<connection>scm:svn:https://svn.apache.org/repos/asf/oodt/trunk/pushpull</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/oodt/trunk/pushpull</developerConnection>
- <url>http://svn.apache.org/viewvc/oodt/trunk/pushpull</url>-->
- <tag>0.13-SNAPSHOT</tag>
- </scm>
- <profiles>
- <profile>
- <id>audit</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rat-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/resources/examples/**/*</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>check</goal>
- </goals>
- <phase>verify</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/assembly/assembly.xml
----------------------------------------------------------------------
diff --git a/pushpull/src/main/assembly/assembly.xml b/pushpull/src/main/assembly/assembly.xml
deleted file mode 100644
index 8f5c163..0000000
--- a/pushpull/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more contributor
-license agreements. See the NOTICE.txt 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.
--->
-<assembly>
- <id>dist</id>
- <formats>
- <format>tar.gz</format>
- <format>zip</format>
- </formats>
- <includeBaseDirectory>true</includeBaseDirectory>
- <baseDirectory>${project.artifactId}-${project.version}</baseDirectory>
- <includeSiteDirectory>false</includeSiteDirectory>
- <fileSets>
- <fileSet>
- <directory>${basedir}</directory>
- <outputDirectory>.</outputDirectory>
- <includes>
- <include>LICENSE.txt</include>
- <include>CHANGES.txt</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/bin</directory>
- <outputDirectory>bin</outputDirectory>
- <includes/>
- <fileMode>755</fileMode>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources</directory>
- <outputDirectory>etc</outputDirectory>
- <includes>
- <include>*.properties</include>
- <include>jssecacerts</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources/examples</directory>
- <outputDirectory>etc/examples</outputDirectory>
- <excludes/>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources</directory>
- <outputDirectory>logs</outputDirectory>
- <includes>
- <include>REMOVE.log</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources/policy</directory>
- <outputDirectory>policy</outputDirectory>
- <includes>
- <include>*.xml</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>target/site/apidocs</directory>
- <filtered>false</filtered>
- <outputDirectory>doc</outputDirectory>
- <excludes/>
- </fileSet>
- </fileSets>
- <dependencySets>
- <dependencySet>
- <outputDirectory>lib</outputDirectory>
- <unpack>false</unpack>
- <useProjectArtifact>true</useProjectArtifact>
- <useTransitiveDependencies>true</useTransitiveDependencies>
- <unpackOptions/>
- </dependencySet>
- </dependencySets>
-</assembly>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/bin/pushpull
----------------------------------------------------------------------
diff --git a/pushpull/src/main/bin/pushpull b/pushpull/src/main/bin/pushpull
deleted file mode 100644
index 62d32eb..0000000
--- a/pushpull/src/main/bin/pushpull
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/csh
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE.txt 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.
-
-set LIB_DEPS
-foreach file (`find ../lib/*.jar`)
- set LIB_DEPS = "${file}:${LIB_DEPS}"
-end
-
-setenv PATH ${JAVA_HOME}/bin:${CAS_PP_HOME}/bin:/usr/bin:/bin:/usr/sbin:/sbin
-
-#execution -- do not set "java.ext.dirs" because it messes up search path for a sftp library
-${JAVA_HOME}/bin/java \
- -cp ${LIB_DEPS} -Dcom.sun.management.jmxremote \
- -Djava.util.logging.config.file=../etc/logging.properties \
- -Djavax.net.ssl.trustStore=${CAS_PP_RESOURCES}/jssecacerts \
- org.apache.oodt.cas.pushpull.daemon.DaemonLauncher \
- --rmiRegistryPort ${DAEMONLAUNCHER_PORT} \
- --propertiesFile ${CAS_PP_RESOURCES}/push_pull_framework.properties \
- --remoteSpecsFile ${CAS_PP_RESOURCES}/examples/RemoteSpecsFiles/RemoteSpecs.xml
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/bin/url-downloader
----------------------------------------------------------------------
diff --git a/pushpull/src/main/bin/url-downloader b/pushpull/src/main/bin/url-downloader
deleted file mode 100644
index 9c71713..0000000
--- a/pushpull/src/main/bin/url-downloader
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE.txt 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.
-
-$JAVA_HOME/bin/java -Djava.ext.dirs=../lib \
- -Djava.util.logging.config.file=../etc/logging.properties \
- org.apache.oodt.cas.protocol.http.HttpProtocol \
- --url $1 \
- --downloadToDir $2
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/Config.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/Config.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/Config.java
deleted file mode 100644
index 9eaa4c0..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/Config.java
+++ /dev/null
@@ -1,405 +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.oodt.cas.pushpull.config;
-
-//OODT imports
-import org.apache.oodt.cas.pushpull.exceptions.ConfigException;
-import org.apache.oodt.cas.pushpull.objectfactory.PushPullObjectFactory;
-import org.apache.oodt.cas.pushpull.retrievalsystem.RemoteFileMetKeys;
-import org.apache.oodt.cas.filemgr.ingest.Ingester;
-import org.apache.oodt.cas.metadata.util.PropertiesUtils;
-
-//JDK imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * This class will parse a java .properties file for FileRetrievalSystem so that
- * information can be easily accessed through getter methods.
- *
- * @author bfoster
- *
- */
-public class Config implements ConfigMetKeys {
-
- private ProtocolInfo pi;
-
- private ParserInfo parserInfo;
-
- private Ingester ingester;
-
- private URL fmUrl;
-
- private String productTypeDetectionFile;
-
- private boolean useTracker;
-
- private boolean onlyDefinedTypes;
-
- private int recommendedThreadCount;
-
- private int maxFailedDownloads;
-
- private boolean writeMetFile;
-
- private String metFileExtension;
-
- private String[] listOfMetadataToOutput;
-
- private File baseStagingArea;
-
- /* our log stream */
- private static final Logger LOG = Logger.getLogger(Config.class.getName());
-
- /**
- * Constructor
- *
- */
- public Config() {
- pi = new ProtocolInfo();
- parserInfo = new ParserInfo();
- this.maxFailedDownloads = 10;
- this.recommendedThreadCount = 8;
- listOfMetadataToOutput = new String[] { RemoteFileMetKeys.PRODUCT_NAME,
- RemoteFileMetKeys.RETRIEVED_FROM_LOC,
- RemoteFileMetKeys.DATA_PROVIDER, RemoteFileMetKeys.FILE_SIZE,
- RemoteFileMetKeys.PRODUCT_TYPE };
- int i = 1;
- do {
- this.baseStagingArea = new File("./" + STAGING_AREA_PREFIX + "_"
- + i++);
- } while (this.baseStagingArea.exists());
- }
-
- /**
- * Opens the configuration file and adds its properties to System properties
- *
- * @return
- */
- public void loadConfigFile(File configFile) throws ConfigException {
-
- // load properties from configuration file
- try {
- System.getProperties().load(new FileInputStream(configFile));
- } catch (Exception e) {
- throw new ConfigException("Failed to load properties file : "
- + e.getMessage());
- }
-
- // parse properties and xml file specified in config file
- try {
- loadProperties();
- } catch (Exception e) {
- throw new ConfigException(
- "Failed to get properties from properties file : "
- + e.getMessage());
- }
- }
-
- public void setProtocolInfo(ProtocolInfo pi) {
- this.pi = pi;
- }
-
- public void setUseTracker(boolean useTracker) {
- this.useTracker = useTracker;
- }
-
- public void setIngester(Ingester ingester) {
- this.ingester = ingester;
- }
-
- public void setFmUrl(URL fmUrl){
- this.fmUrl = fmUrl;
- }
-
- public void setTempInfoFileExtension(String extension) {
- this.metFileExtension = extension;
- }
-
- public void setRecommendedThreadCount(int count) {
- this.recommendedThreadCount = count;
- }
-
- public void setMaxAllowedFailedDownloads(int max) {
- this.maxFailedDownloads = max;
- }
-
- public void setOnlyDownloadDefinedTypes(boolean onlyDefinedTypes) {
- this.onlyDefinedTypes = onlyDefinedTypes;
- }
-
- public void setBaseStagingArea(File baseStagingArea) {
- this.baseStagingArea = baseStagingArea;
- }
-
- public void setProductTypeDetectionFile(String filePath) {
- this.productTypeDetectionFile = filePath;
- }
-
- public void setWriteMetFile(boolean writeMetFile) {
- this.writeMetFile = writeMetFile;
- }
-
- /**
- * Parses the properties which were added to System properties by
- * loadConfigFile(). Stores info for access by getter methods
- *
- * @throws ConfigException
- * @throws InstantiationException
- * @throws IOException
- * @throws FileNotFoundException
- * @throws ClassNotFoundException
- * @throws ClassNotFoundException
- */
- void loadProperties() throws ConfigException {
- this.loadExternalConfigFiles();
- this.loadProtocolTypes();
- this.loadParserInfo();
- this.loadIngester();
- this.loadMiscVariables();
- this.loadProductTypeDetection();
- this.loadMetadataListToOutput();
- }
-
- void loadExternalConfigFiles() throws ConfigException {
- String[] externalConfigs = PropertiesUtils
- .getProperties(EXTERNAL_PROPERTIES_FILES);
- for (String externalConfig : externalConfigs) {
- try {
- System.getProperties().load(
- new FileInputStream(new File(externalConfig)));
- } catch (Exception e) {
- throw new ConfigException("Failed to load default config file "
- + externalConfig + " : " + e.getMessage());
- }
- }
- }
-
- void loadProtocolTypes() throws ConfigException {
- LOG.log(Level.INFO,
- "Associating protocol types with ProtocolFactories . . .");
- String[] protocolFactoryInfoFiles = PropertiesUtils
- .getProperties(PROTOCOL_FACTORY_INFO_FILES);
- for (String file : protocolFactoryInfoFiles) {
- try {
- pi.loadProtocolFactoryInfoFromFile(new File(file));
- } catch (Exception e) {
- throw new ConfigException(
- "Failed to load ProtocolFactory config file " + file
- + " : " + e.getMessage());
- }
- }
- }
-
- void loadParserInfo() throws ConfigException {
- LOG.log(Level.INFO, "Associating parsers with RetrievalMethods . . .");
- String[] parserInfoFiles = PropertiesUtils
- .getProperties(PARSER_INFO_FILES);
- for (String file : parserInfoFiles) {
- try {
- parserInfo.loadParserInfo(new File(file));
- } catch (Exception e) {
- throw new ConfigException("Failed to load parser info file "
- + file + " : " + e.getMessage());
- }
- }
- }
-
- void loadIngester() throws ConfigException {
- try {
- String fmUrlStr = PropertiesUtils.getProperties(INGESTER_FM_URL,
- new String[] { NO_FM_SPECIFIED })[0];
-
- if (fmUrlStr.equals(NO_FM_SPECIFIED)) {
- LOG
- .log(Level.INFO,
- "No file manager url specified: no ingester will be used");
- } else {
- String ingesterClass = PropertiesUtils
- .getProperties(INGESTER_CLASS)[0];
- String dataTransferClass = PropertiesUtils
- .getProperties(INGESTER_DATA_TRANSFER)[0];
- String cacheFactoryClass = System.getProperty(CACHE_FACTORY_CLASS);
-
- LOG.log(Level.INFO, "Configuring and building ingester: ["
- + ingesterClass + "]: data transfer: ["
- + dataTransferClass + "]: to ingest to file manager: ["
- + fmUrlStr + "]");
-
- if (cacheFactoryClass != null) {
- LOG.log(Level.INFO, "Configuring Ingester cache: ["
- + cacheFactoryClass + "]");
- }
-
- this.ingester = PushPullObjectFactory.createIngester(
- ingesterClass, cacheFactoryClass);
-
- this.fmUrl = safeGetUrlFromString(fmUrlStr);
-
- }
-
- } catch (Exception e) {
- LOG.log(Level.SEVERE, e.getMessage());
- throw new ConfigException("Failed to load Ingester : "
- + e.getMessage());
- }
- }
-
- void loadProductTypeDetection() throws ConfigException {
- try {
- this.productTypeDetectionFile = PropertiesUtils
- .getProperties(TYPE_DETECTION_FILE)[0];
- LOG.log(Level.INFO, "Loading product type detection file: "
- + productTypeDetectionFile);
- } catch (Exception e) {
- throw new ConfigException(
- "Failed to load ProductTypeDetection file '"
- + productTypeDetectionFile + "' : "
- + e.getMessage());
- }
- }
-
- void loadMetadataListToOutput() {
- listOfMetadataToOutput = PropertiesUtils.getProperties(
- MET_LIST_TO_PRINT, new String[] {
- RemoteFileMetKeys.PRODUCT_NAME,
- RemoteFileMetKeys.RETRIEVED_FROM_LOC,
- RemoteFileMetKeys.DATA_PROVIDER,
- RemoteFileMetKeys.FILE_SIZE,
- RemoteFileMetKeys.PRODUCT_TYPE });
- }
-
- void loadMiscVariables() {
- onlyDefinedTypes = (PropertiesUtils.getProperties(
- ALLOW_ONLY_DEFINED_TYPES, new String[] { "false" })[0]
- .toLowerCase().equals("true"));
- useTracker = (PropertiesUtils.getProperties(USE_TRACKER,
- new String[] { "false" })[0].toLowerCase().equals("true"));
- this.recommendedThreadCount = Integer.parseInt(PropertiesUtils
- .getProperties(FILE_RET_SYSTEM_REC_THREAD_COUNT,
- new String[] { "8" })[0]);
- this.maxFailedDownloads = Integer.parseInt(PropertiesUtils
- .getProperties(FILE_RET_SYSTEM_MAX_ALLOWED_FAIL_DOWNLOADS,
- new String[] { "10" })[0]);
- metFileExtension = PropertiesUtils.getProperties(MET_FILE_EXT,
- new String[] { "info.tmp" })[0];
- this.writeMetFile = Boolean.getBoolean(WRITE_MET_FILE);
- String timeoutString = PropertiesUtils.getProperties(
- PROTOCOL_TIMEOUT_MS, new String[] { "600000" })[0];
- if (timeoutString == null) {
- timeoutString = "0";
- }
- pi.setDownloadTimeout(Long.parseLong(timeoutString));
- pi.setPageSize(Integer.parseInt(PropertiesUtils.getProperties(
- PROTOCOL_PAGE_SIZE, new String[] { "8" })[0]));
- this.baseStagingArea = new File(PropertiesUtils.getProperties(
- DATA_FILE_BASE_STAGING_AREA,
- new String[] { this.baseStagingArea.getPath() })[0]);
- }
-
- public ProtocolInfo getProtocolInfo() {
- return this.pi;
- }
-
- public Ingester getIngester() {
- return this.ingester;
- }
-
- public URL getFmUrl(){
- return this.fmUrl;
- }
-
- public boolean useTracker() {
- return useTracker;
- }
-
- public String getMetFileExtension() {
- return this.metFileExtension;
- }
-
- public String getProductTypeDetectionFile() {
- return this.productTypeDetectionFile;
- }
-
- public int getRecommendedThreadCount() {
- return this.recommendedThreadCount;
- }
-
- public int getMaxFailedDownloads() {
- return this.maxFailedDownloads;
- }
-
- public boolean onlyDownloadDefinedTypes() {
- return this.onlyDefinedTypes;
- }
-
- public String[] getListOfMetadataToOutput() {
- return this.listOfMetadataToOutput;
- }
-
- public ParserInfo getParserInfo() {
- return this.parserInfo;
- }
-
- public File getBaseStagingArea() {
- return this.baseStagingArea;
- }
-
- public boolean getWriteMetFile() {
- return this.writeMetFile;
- }
-
- public Config clone() {
- Config config = new Config();
- config.baseStagingArea = this.baseStagingArea;
- config.ingester = this.ingester;
- config.fmUrl = this.fmUrl;
- config.listOfMetadataToOutput = this.listOfMetadataToOutput;
- config.maxFailedDownloads = this.maxFailedDownloads;
- config.metFileExtension = this.metFileExtension;
- config.onlyDefinedTypes = this.onlyDefinedTypes;
- config.parserInfo = this.parserInfo;
- config.pi = this.pi;
- config.productTypeDetectionFile = this.productTypeDetectionFile;
- config.recommendedThreadCount = this.recommendedThreadCount;
- config.useTracker = this.useTracker;
- config.writeMetFile = this.writeMetFile;
- return config;
- }
-
- private static URL safeGetUrlFromString(String urlStr) {
- URL url = null;
-
- try {
- url = new URL(urlStr);
- } catch (MalformedURLException e) {
- LOG.log(Level.WARNING, "Unable to generate url from url string: ["
- + urlStr + "]: Message: " + e.getMessage());
- }
-
- return url;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigMetKeys.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigMetKeys.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigMetKeys.java
deleted file mode 100644
index bb32309..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigMetKeys.java
+++ /dev/null
@@ -1,71 +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.oodt.cas.pushpull.config;
-
-/**
- * @author mattmann
- * @version $Revision$
- *
- * <p>
- * Met keys for the PushPullFramework {@link Config}
- * </p>.
- */
-public interface ConfigMetKeys {
-
- String STAGING_AREA_PREFIX = "Staging_Area";
-
- String EXTERNAL_PROPERTIES_FILES = "org.apache.oodt.cas.pushpull.config.external.properties.files";
-
- String PROTOCOL_FACTORY_INFO_FILES = "org.apache.oodt.cas.pushpull.config.protocolfactory.info.files";
-
- String PARSER_INFO_FILES = "org.apache.oodt.cas.pushpull.config.parser.info.files";
-
- String INGESTER_CLASS = "org.apache.oodt.cas.filemgr.ingester";
-
- String INGESTER_DATA_TRANSFER = "org.apache.oodt.cas.filemgr.datatransfer.factory";
-
- String INGESTER_FM_URL = "org.apache.oodt.cas.filemgr.url";
-
- String NO_FM_SPECIFIED = "N/A";
-
- String CACHE_FACTORY_CLASS = "org.apache.oodt.cas.filemgr.ingest.cache.factory";
-
- String TYPE_DETECTION_FILE = "org.apache.oodt.cas.pushpull.config.type.detection.file";
-
- String MET_LIST_TO_PRINT = "org.apache.oodt.cas.pushpull.metadata.list.to.print";
-
- String ALLOW_ONLY_DEFINED_TYPES = "org.apache.oodt.cas.pushpull.allow.only.defined.types";
-
- String USE_TRACKER = "org.apache.oodt.cas.pushpull.crawler.use.tracker";
-
- String FILE_RET_SYSTEM_REC_THREAD_COUNT = "org.apache.oodt.cas.pushpull.file.retrieval.system.recommended.thread.count";
-
- String FILE_RET_SYSTEM_MAX_ALLOWED_FAIL_DOWNLOADS = "org.apache.oodt.cas.pushpull.file.retrieval.system.max.number.allowed.failed.downloads";
-
- String MET_FILE_EXT = "org.apache.oodt.cas.pushpull.met.file.extension";
-
- String PROTOCOL_TIMEOUT_MS = "org.apache.oodt.cas.pushpull.protocol.timeout.milliseconds";
-
- String PROTOCOL_PAGE_SIZE = "org.apache.oodt.cas.pushpull.protocol.page_size";
-
- String DATA_FILE_BASE_STAGING_AREA = "org.apache.oodt.cas.pushpull.data.files.base.staging.area";
-
- String WRITE_MET_FILE = "org.apache.oodt.cas.pushpull.write.met.file";
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigParserMetKeys.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigParserMetKeys.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigParserMetKeys.java
deleted file mode 100644
index 6d43ad3..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ConfigParserMetKeys.java
+++ /dev/null
@@ -1,113 +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.oodt.cas.pushpull.config;
-
-/**
- * @author mattmann
- * @version $Revision$
- *
- * <p>
- * Met Keys used when parsing {@link Config} xml files
- * </p>.
- */
-public interface ConfigParserMetKeys {
-
- String RETRIEVAL_METHOD_TAG = "rtvlMethod";
-
- String CLASS_ATTR = "class";
-
- String PARSER_TAG = "parser";
-
- String PROTOCOL_TAG = "protocol";
-
- String TYPE_ATTR = "type";
-
- String PROTOCOL_FACTORY_TAG = "protocolFactory";
-
- String ALIAS_SPEC_TAG = "aliasSpec";
-
- String FILE_ATTR = "file";
-
- String DAEMON_TAG = "daemon";
-
- String ACTIVE_ATTR = "active";
-
- String ALIAS_ATTR = "alias";
-
- String RUN_INFO_TAG = "runInfo";
-
- String FIRSTRUN_DATETIME_ATTR = "firstRunDateTime";
-
- String PERIOD_ATTR = "period";
-
- String RUNONREBOOT_ATTR = "runOnReboot";
-
- String EPSILON_ATTR = "epsilon";
-
- String PROP_INFO_TAG = "propInfo";
-
- String DIR_ATTR = "dir";
-
- String PROP_FILES_TAG = "propFiles";
-
- String REG_EXP_ATTR = "regExp";
-
- String PARSER_ATTR = "parser";
-
- String DOWNLOAD_INFO_TAG = "downloadInfo";
-
- String RENAMING_CONV_ATTR = "renamingConv";
-
- String ALLOW_ALIAS_OVERRIDE_ATTR = "allowAliasOverride";
-
- String DELETE_FROM_SERVER_ATTR = "deleteFromServer";
-
- String PROP_FILE_TAG = "propFile";
-
- String PATH_ATTR = "path";
-
- String AFTER_USE_TAG = "afterUse";
-
- String DELETE_ON_SUCCESS_ATTR = "deleteOnSuccess";
-
- String MOVEON_TO_SUCCESS_ATTR = "moveToOnSuccess";
-
- String MOVEON_TO_FAIL_ATTR = "moveToOnFail";
-
- String DATA_INFO_TAG = "dataInfo";
-
- String QUERY_ELEM_ATTR = "queryElement";
-
- String STAGING_AREA_ATTR = "stagingArea";
-
- String SOURCE_TAG = "source";
-
- String HOST_ATTR = "host";
-
- String LOGIN_ATTR = "login";
-
- String USERNAME_TAG = "username";
-
- String PASSWORD_TAG = "password";
-
- String CD_TEST_DIR_TAG = "cdTestDir";
-
- String MAX_CONN_TAG = "maxConn";
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DaemonInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DaemonInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DaemonInfo.java
deleted file mode 100644
index 34966eb..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DaemonInfo.java
+++ /dev/null
@@ -1,131 +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.oodt.cas.pushpull.config;
-
-//JDK imports
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>Describe your class here</p>.
- */
-public class DaemonInfo {
-
- private static SimpleDateFormat utcFormat = new SimpleDateFormat(
- "yyyy-MM-dd'T'hh:mm:ss'Z'");
-
- private Date firstRunDateTime;
-
- private long timeIntervalInMilliseconds;
-
- private long epsilonInMilliseconds;
-
- private boolean runOnReboot;
-
- private PropFilesInfo pfi;
-
- private DataFilesInfo dfi;
-
- public DaemonInfo(String firstRunDateTimeString, String period,
- String epsilon, boolean runOnReboot, PropFilesInfo pfi,
- DataFilesInfo dfi) throws ParseException {
- this.runOnReboot = runOnReboot;
- if (firstRunDateTimeString != null
- && !firstRunDateTimeString.equals("")) {
- this.firstRunDateTime = utcFormat.parse(firstRunDateTimeString);
- } else {
- this.firstRunDateTime = new Date();
- }
- if (period != null && !period.equals("")) {
- this.timeIntervalInMilliseconds = Long.parseLong(period.substring(
- 0, period.length() - 1))
- * this.getMillisecondsInMetric((period.charAt(period
- .length() - 1) + "")
- .toLowerCase());
- } else {
- this.timeIntervalInMilliseconds = -1;
- }
- if (epsilon != null && !epsilon.equals("")) {
- this.epsilonInMilliseconds = Long.parseLong(epsilon.substring(0,
- epsilon.length() - 1))
- * this.getMillisecondsInMetric((epsilon.charAt(epsilon
- .length() - 1) + "")
- .toLowerCase());
- } else {
- this.epsilonInMilliseconds = -1;
- }
- this.pfi = pfi;
- this.dfi = dfi;
- }
-
- private long getMillisecondsInMetric(String stringMetric) {
- switch (stringMetric.charAt(0)) {
- case 'w':
- return 604800000;
- case 'd':
- return 86400000;
- case 'h':
- return 3600000;
- case 'm':
- return 60000;
- case 's':
- return 1000;
- default:
- return -1;
- }
- }
-
- public PropFilesInfo getPropFilesInfo() {
- return this.pfi;
- }
-
- public DataFilesInfo getDataFilesInfo() {
- return this.dfi;
- }
-
- public long getTimeIntervalInMilliseconds() {
- return this.timeIntervalInMilliseconds;
- }
-
- public long getEpsilonInMilliseconds() {
- return this.epsilonInMilliseconds;
- }
-
- public boolean runOnReboot() {
- return this.runOnReboot;
- }
-
- public Date getFirstRunDateTime() {
- return this.firstRunDateTime;
- }
-
- public String toString() {
- return "--------DaemonInfo--------\n" + " " + "First run date/time: "
- + this.firstRunDateTime + "\n" + " "
- + "Period in milliseconds: " + this.timeIntervalInMilliseconds
- + "\n" + " " + "Epsilon in milliseoncs: "
- + this.epsilonInMilliseconds + "\n" + " " + "Run on reboot: "
- + this.runOnReboot + "\n" + this.dfi + this.pfi + "\n";
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DataFilesInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DataFilesInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DataFilesInfo.java
deleted file mode 100644
index 1b5ffb6..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DataFilesInfo.java
+++ /dev/null
@@ -1,47 +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.oodt.cas.pushpull.config;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>Describe your class here</p>.
- */
-public class DataFilesInfo {
-
- private String queryMetadataElementName;
-
- private DownloadInfo di;
-
- public DataFilesInfo(String queryMetadataElementName, DownloadInfo di) {
- this.queryMetadataElementName = queryMetadataElementName;
- this.di = di;
- }
-
- public DownloadInfo getDownloadInfo() {
- return this.di;
- }
-
- public String getQueryMetadataElementName() {
- return this.queryMetadataElementName;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DownloadInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DownloadInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DownloadInfo.java
deleted file mode 100644
index 5f08926..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/DownloadInfo.java
+++ /dev/null
@@ -1,86 +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.oodt.cas.pushpull.config;
-
-//OODT imports
-import org.apache.oodt.cas.pushpull.protocol.RemoteSite;
-
-//JDK imports
-import java.io.File;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>
- * Describe your class here
- * </p>.
- */
-public class DownloadInfo {
-
- private RemoteSite remoteSite;
-
- private String renamingConv;
-
- private boolean deleteFromServer;
-
- private File stagingArea;
-
- private boolean allowAliasOverride;
-
- public DownloadInfo(RemoteSite remoteSite, String renamingConv,
- boolean deleteFromServer, File stagingArea,
- boolean allowAliasOverride) {
- this.remoteSite = remoteSite;
- this.renamingConv = renamingConv;
- this.deleteFromServer = deleteFromServer;
- this.stagingArea = stagingArea;
- this.allowAliasOverride = allowAliasOverride;
- }
-
- public RemoteSite getRemoteSite() {
- return this.remoteSite;
- }
-
- public String getRenamingConv() {
- return this.renamingConv;
- }
-
- public boolean deleteFromServer() {
- return this.deleteFromServer;
- }
-
- public File getStagingArea() {
- return this.stagingArea;
- }
-
- public boolean isAllowAliasOverride() {
- return this.allowAliasOverride;
- }
-
- public String toString() {
- return "DataFileInfo:\n" + " " + this.remoteSite + "\n" + " "
- + "RenamingConvension: " + this.renamingConv + "\n" + " "
- + "StagingArea: " + this.getStagingArea().getAbsolutePath()
- + "\n" + " " + "Delete files from server: "
- + this.deleteFromServer + "\n" + " "
- + "Allow alias override: " + this.allowAliasOverride + "\n";
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
deleted file mode 100644
index 372a623..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ParserInfo.java
+++ /dev/null
@@ -1,104 +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.oodt.cas.pushpull.config;
-
-//JDK imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-//OODT imports
-import org.apache.oodt.cas.pushpull.exceptions.ConfigException;
-import org.apache.oodt.cas.pushpull.filerestrictions.Parser;
-import org.apache.oodt.cas.pushpull.retrievalmethod.RetrievalMethod;
-import org.apache.oodt.cas.metadata.util.PathUtils;
-import org.apache.oodt.commons.xml.XMLUtils;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>
- * Describe your class here
- * </p>.
- */
-public class ParserInfo implements ConfigParserMetKeys{
-
- private ConcurrentHashMap<String, String> parserToRetrievalMethodMap;
-
- /* our log stream */
- private static final Logger LOG = Logger.getLogger(ParserInfo.class
- .getName());
-
- public ParserInfo() {
- parserToRetrievalMethodMap = new ConcurrentHashMap<String, String>();
- }
-
- public void loadParserInfo(File xmlFile) throws ConfigException {
- try {
- NodeList rmList = XMLUtils.getDocumentRoot(new FileInputStream(xmlFile))
- .getElementsByTagName(RETRIEVAL_METHOD_TAG);
- for (int i = 0; i < rmList.getLength(); i++) {
-
- // get rm element
- Node rmNode = rmList.item(i);
-
- // get classpath for this rm
- String rmClasspath = PathUtils
- .replaceEnvVariables(((Element) rmNode)
- .getAttribute(CLASS_ATTR));
-
- // get all login info for this source
- NodeList parserList = ((Element) rmNode)
- .getElementsByTagName(PARSER_TAG);
- for (int j = 0; j < parserList.getLength(); j++) {
-
- // get a single login info
- Node parserNode = parserList.item(j);
- String parserClasspath = PathUtils
- .replaceEnvVariables(((Element) parserNode)
- .getAttribute(CLASS_ATTR));
-
- LOG.log(Level.INFO, "Assiging parser '" + parserClasspath
- + "' with retrievalmethod '" + rmClasspath + "'");
- this.parserToRetrievalMethodMap.put(parserClasspath,
- rmClasspath);
- }
- }
- } catch (Exception e) {
- throw new ConfigException("Failed to load Parser info : "
- + e.getMessage());
- }
- }
-
- public Class<RetrievalMethod> getRetrievalMethod(Parser parser)
- throws ClassNotFoundException {
- System.out.println(parser.getClass().getCanonicalName());
- return (Class<RetrievalMethod>) Class
- .forName(this.parserToRetrievalMethodMap.get(parser.getClass()
- .getCanonicalName()));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
deleted file mode 100644
index 97cb18f..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/PropFilesInfo.java
+++ /dev/null
@@ -1,164 +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.oodt.cas.pushpull.config;
-
-//OODT imports
-import org.apache.oodt.cas.pushpull.filerestrictions.Parser;
-
-//JDK imports
-import java.io.File;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.LinkedList;
-import java.util.Map.Entry;
-import java.util.regex.Pattern;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>Describe your class here</p>.
- */
-public class PropFilesInfo {
-
- private File localDir;
-
- private boolean deleteOnSuccess;
-
- private File successLoc;
-
- private File failLoc;
-
- private LinkedList<RegExpAndParser> patterns;
-
- private ConcurrentHashMap<File, Parser> fileToParserMap;
-
- private DownloadInfo di;
-
- public PropFilesInfo(File localDir) {
- this.localDir = localDir;
- patterns = new LinkedList<RegExpAndParser>();
- }
-
- public void setDownloadInfo(DownloadInfo di,
- ConcurrentHashMap<File, Parser> fileToParserMap) {
- this.di = di;
- this.fileToParserMap = fileToParserMap;
- }
-
- public LinkedList<File> getDownloadInfoPropFiles() {
- LinkedList<File> returnList = new LinkedList<File>();
- for (Entry<File, Parser> entry : this.fileToParserMap.entrySet()) {
- returnList.add(entry.getKey());
- }
- return returnList;
- }
-
- public void setAfterUseEffects(File successLoc, File failLoc) {
- this.successLoc = successLoc;
- this.failLoc = failLoc;
- }
-
- public void addPropFiles(String regExp, Parser parser) {
- patterns.add(new RegExpAndParser(regExp, parser));
- }
-
- public Parser getParserForFile(File propFile) {
- Parser parser = this.fileToParserMap == null ? null
- : this.fileToParserMap.get(propFile);
- if (parser == null) {
- parser = this.getParserForFilename(propFile.getName());
- }
- return parser;
- }
-
- public Parser getParserForFilename(String propFilename) {
- for (RegExpAndParser pattern : patterns) {
- if (pattern.isAcceptedByPattern(propFilename)) {
- return pattern.getParser();
- }
- }
- return null;
- }
-
- public boolean needsToBeDownloaded() {
- return di != null;
- }
-
- public DownloadInfo getDownloadInfo() {
- return this.di;
- }
-
- public File getFinalDestination(boolean success) {
- return success ? this.getOnSuccessDir() : this.getOnFailDir();
- }
-
- public File getOnSuccessDir() {
- return (this.successLoc == null) ? this.localDir : this.successLoc;
- }
-
- public File getOnFailDir() {
- return (this.failLoc == null) ? this.localDir : this.failLoc;
- }
-
- public File getLocalDir() {
- return this.localDir;
- }
-
- public void setDeleteOnSuccess(boolean deleteOnSuccess) {
- this.deleteOnSuccess = deleteOnSuccess;
- }
-
- public boolean getDeleteOnSuccess() {
- return deleteOnSuccess;
- }
-
- public String toString() {
- return "PropFilesInfo\n" + " " + "Local directory: " + this.localDir
- + "\n" + " " + "Patterns: " + this.patterns + "\n" + " "
- + "Delete on success: " + this.deleteOnSuccess + "\n" + " "
- + "Move to directory on success: " + this.successLoc + "\n"
- + " " + "Move to directory on fail: " + this.failLoc + "\n"
- + " " + this.di + "\n";
- }
-
- private class RegExpAndParser {
- private String pattern;
-
- private Parser parser;
-
- public RegExpAndParser(String pattern, Parser parser) {
- this.pattern = pattern;
- this.parser = parser;
- }
-
- public boolean isAcceptedByPattern(String filename) {
- return Pattern.matches(pattern, filename);
- }
-
- public Parser getParser() {
- return this.parser;
- }
-
- public String getPattern() {
- return this.pattern;
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
----------------------------------------------------------------------
diff --git a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java b/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
deleted file mode 100644
index eebafab..0000000
--- a/pushpull/src/main/java/org/apache/oodt/cas/pushpull/config/ProtocolInfo.java
+++ /dev/null
@@ -1,168 +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.oodt.cas.pushpull.config;
-
-//OODT imports
-import org.apache.oodt.cas.protocol.ProtocolFactory;
-import org.apache.oodt.cas.pushpull.exceptions.ConfigException;
-import org.apache.oodt.cas.metadata.util.PathUtils;
-import org.apache.oodt.commons.xml.XMLUtils;
-
-//JDK imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.LinkedList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- *
- * @author bfoster
- * @version $Revision$
- *
- * <p>
- * Describe your class here
- * </p>.
- */
-public class ProtocolInfo implements ConfigParserMetKeys {
-
- private long timeout;
-
- private int pgSize;
-
- private static final int DEFAULT_PG_SIZE = 8;
-
- private ConcurrentHashMap<String, LinkedList<Class<ProtocolFactory>>> protocolClassReference;
-
- /* our log stream */
- private static final Logger LOG = Logger.getLogger(ProtocolInfo.class
- .getName());
-
- public ProtocolInfo() {
- timeout = 0;
- pgSize = DEFAULT_PG_SIZE;
- protocolClassReference = new ConcurrentHashMap<String, LinkedList<Class<ProtocolFactory>>>();
- }
-
- public void loadProtocolFactoryInfoFromFile(File protocolFactoryInfo)
- throws ConfigException {
- try {
- NodeList sourceList = XMLUtils.getDocumentRoot(new FileInputStream(protocolFactoryInfo))
- .getElementsByTagName(PROTOCOL_TAG);
- for (int i = 0; i < sourceList.getLength(); i++) {
-
- // get source element
- Node sourceNode = sourceList.item(i);
-
- // get host of this source
- String type = PathUtils
- .replaceEnvVariables(((Element) sourceNode)
- .getAttribute(TYPE_ATTR));
-
- // get all login info for this source
- NodeList loginList = ((Element) sourceNode)
- .getElementsByTagName(PROTOCOL_FACTORY_TAG);
- for (int j = 0; j < loginList.getLength(); j++) {
-
- // get a single login info
- Node loginNode = loginList.item(j);
- String protocolFactoryClass = PathUtils
- .replaceEnvVariables(((Element) loginNode)
- .getAttribute(CLASS_ATTR));
-
- this.addClassForType(type, protocolFactoryClass);
- }
- }
- } catch (Exception e) {
- throw new ConfigException(
- "Failed to load ProtocolFactory info for protocol types : "
- + e.getMessage());
- }
- }
-
- public void addClassForType(String type,
- Class<ProtocolFactory> protocolFactoryClass) {
- LinkedList<Class<ProtocolFactory>> protocolClasses;
- if ((protocolClasses = protocolClassReference.get(type)) == null) {
- protocolClasses = new LinkedList<Class<ProtocolFactory>>();
- protocolClassReference.put(type.toLowerCase(), protocolClasses);
- }
- protocolClasses.add(protocolFactoryClass);
- LOG.log(Level.INFO, "Assiging protocol '" + type.toLowerCase()
- + "' with class '" + protocolFactoryClass + "'");
- }
-
- public void addClassForType(String type, String protocolFactoryClass)
- throws ClassNotFoundException {
- this.addClassForType(type, (Class<ProtocolFactory>) Class
- .forName(protocolFactoryClass));
- }
-
- public void addClassForType(String type,
- Class<ProtocolFactory>[] protocolFactoryClasses) {
- for (Class<ProtocolFactory> clazz : protocolFactoryClasses) {
- this.addClassForType(type, clazz);
- }
- }
-
- public void addClassForType(String type, String[] protocolFactoryClasses)
- throws ClassNotFoundException {
- for (String clazz : protocolFactoryClasses) {
- this.addClassForType(type, (Class<ProtocolFactory>) Class
- .forName(clazz));
- }
- }
-
- public void setDownloadTimeout(long timeout) {
- this.timeout = timeout;
- }
-
- public void setPageSize(int pgSize) {
- if (pgSize != -1) {
- this.pgSize = pgSize;
- } else {
- this.pgSize = Integer.MAX_VALUE;
- }
- }
-
- public LinkedList<Class<ProtocolFactory>> getProtocolClassesForProtocolType(
- String type) {
- return protocolClassReference.get(type.toLowerCase());
- }
-
- public long getDownloadTimeout() {
- return timeout;
- }
-
- public int getPageSize() {
- return pgSize;
- }
-
- public ProtocolInfo clone() {
- ProtocolInfo pi = new ProtocolInfo();
- pi.protocolClassReference = this.protocolClassReference;
- pi.timeout = this.timeout;
- pi.pgSize = this.pgSize;
- return pi;
- }
-}