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/17 23:05:20 UTC
[05/88] [abbrv] [partial] oodt git commit: Record change for OODT-836,
OODT-837.
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/development/maven.xml
----------------------------------------------------------------------
diff --git a/pushpull/src/site/xdoc/development/maven.xml b/pushpull/src/site/xdoc/development/maven.xml
deleted file mode 100755
index d79f341..0000000
--- a/pushpull/src/site/xdoc/development/maven.xml
+++ /dev/null
@@ -1,176 +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.
--->
-<document>
- <properties>
- <title>Using Maven</title>
- <author email="woollard@jpl.nasa.gov">David Woollard</author>
- <author email="sean.hardman@jpl.nasa.gov">Sean Hardman</author>
- </properties>
-
- <body>
- <section name="Using Maven">
- <p>OODT uses <a href="http://maven.apache.org/">Maven</a> for
- managing our build environment. Maven is an open source product from the
- <a href="http://www.apache.org/">Apache Software Foundation</a> that improves
- on <a href="http://ant.apache.org/">Ant</a> in the area of build management,
- which it turn was an improvement on Make. This document describes the use of
- Maven for Apache OODT build management.</p>
- </section>
-
- <section name="Setup">
- <p>Maven can be downloaded from the
- <a href="http://maven.apache.org/download.html">Maven Download</a>
- page. OODT is using version 2.0 and above. Maven was developed in Java so it
- will run on the popular platforms (e.g., Windows, Mac OSX, etc.). Beyond
- making sure the <i>mvn</i> executable is in your path, there is very little
- setup required.</p>
-
- <p>Maven is based on the concept of a Project Object Model (POM) which is
- contained in the <i>pom.xml</i> file found at the root of each project.
- The POM allows Maven to manage a project's build, reporting and documentation.
- For OODT, much of the default information for managing the projects is
- contained in a parent POM, which is located in the <i>oodt-core</i> project. So,
- in order to build any of the other projects (e.g., cas-curator, cas-filemgr,
- etc.) the parent POM must be downloaded from the OODT Maven repository. The
- local <i>pom.xml</i> files for each of the projects have been configured to
- retrieve the parent POM automatically.</p>
-
- <p>Once Maven has been setup, the first step to building a project with Maven
- is to checkout a project's source code into the developer's work area. See the
- <a href="../development/subversion.html">Using Subversion</a> document for how to
- check out projects from the CM repository.</p>
- </section>
-
- <section name="Project Structure">
- <p>In order for default Maven functions to operate properly, there is a
- suggested project directory structure. The structure is as follows:</p>
-
- <source>
-/
- src/ Source Code (everything)
- main/ Program Source
- assembly/ Package Descriptor
- java/ Java Source
- resources/ Scripts, Config File, etc.
- ...
- test/ Test Source
- java/
- resources/
- ...
- site/ Site Documentation
- apt/ Docs in APT Format
- index.apt
- ...
- xdoc/ Docs in XDOC Format
- index.xml
- ...
- resources/
- images/
- site.xml Menu Structure
-
- target/ Build Results (binaries, docs and packages)
- ...
-
- LICENSE.txt
- README.txt
- pom.xml Project Object Model (POM)
- </source>
- </section>
-
- <section name="Standard Commands">
- <p>There are few standard commands that developers will use on a daily basis
- and they are related to building and cleaning a project.</p>
- <subsection name="Build a Project">
- <p>Build the project's libraries and executables with the following
- command:</p>
- <source>
-mvn compile
- </source>
- <p>The above command will generate the artifacts in the <i>target/</i>
- directory.</p>
- </subsection>
- <subsection name="Install a Project">
- <p>Install the project's artifacts locally with the following command:</p>
- <source>
-mvn install
- </source>
- <p>Prior to installation, the above command will compile the source code,
- if necessary, and execute the unit tests. The result of the above command
- is to install the generated artifacts (e.g. pom, jar, etc.) in the user's
- local Maven repository ($HOME/.m2/repository/). This is useful when the
- artifact is a dependency for another project but has yet to be deployed
- to the Maven repository.</p>
- </subsection>
- <subsection name="Package a Project">
- <p>Create the project's distribution package with the following command:</p>
- <source>
-mvn package
- </source>
- <p>Prior to package creation, the above command will compile the source
- code, if necessary, and execute the unit tests. The above command will
- create the package(s) in the target/ directory.</p>
- </subsection>
- <subsection name="Build a Project's Web Site">
- <p>Build the project's web site with the following command:</p>
- <source>
-mvn site
- </source>
- <p>The above command will generate the web site in the <i>target/site/</i>
- directory. View the site by pointing your web browser at the
- <i>index.html</i> file within that directory.</p>
- </subsection>
- <subsection name="Clean a Project">
- <p>Clean out the project directory of generated artifacts with the
- following command:</p>
- <source>
-mvn clean
- </source>
- <p>The above command will remove the <i>target/</i> directory and its
- contents.</p>
- </subsection>
- <subsection name="Useful Command Arguments">
- <p>There a couple of useful arguments which can be appended to the
- commands above to limit the scope of the command.</p>
- <p>In order to skip unit test execution, add the following argument:</p>
- <source>
-mvn [command] -Dmaven.test.skip=true
- </source>
- <p>The above command is most useful with the <i>install</i>,
- <i>package</i> and <i>site</i> commands.</p>
- <p>When a project has modules defined in the POM, the command can be
- performed against the top level of the project instead of the modules by
- adding the following argument:</p>
- <source>
-mvn [command] --non-recursive
- </source>
- </subsection>
- </section>
- <section name="Acknowledgments">
- <p>Much of the material in this Maven guide was originally authored
- by Sean Hardman under the sponsorship of NASA Jet Propulsion
- Laboratory's Planetary Data System. </p>
- </section>
- <section name="References">
- <p>Here is a list of Maven resources:</p>
- <ul>
- <li><a href="http://maven.apache.org/guides/index.html">Online
- Documentation Index</a></li>
- </ul>
- </section>
- </body>
-</document>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/advanced.xml
----------------------------------------------------------------------
diff --git a/pushpull/src/site/xdoc/user/advanced.xml b/pushpull/src/site/xdoc/user/advanced.xml
deleted file mode 100644
index ecd3ad4..0000000
--- a/pushpull/src/site/xdoc/user/advanced.xml
+++ /dev/null
@@ -1,50 +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.
--->
-<document>
- <properties>
- <title>CAS Push Pull User Guide</title>
- <author email="Chris.Mattmann@jpl.nasa.gov">Chris Mattmann</author>
- <author email="woollard@jpl.nasa.gov">Dave Woollard</author>
- </properties>
-
- <body>
- <div class="warning">This document is in the process of being reorganized as
- part of our ongoing documentation effort. Please check back for updates.</div>
-
- <section name="Introduction">
-
- <p>In the CAS Push Pull Framework Advanced User Guide, we will cover a number of
- advanced topics related to using the system, including situations
- that have arisen in the authors' experiences. Basic
- concepts, such as installation and configuration, can be found in the
- <a href="../user/basic.html">Basic User Guide</a>.</p>
-
- <p>The remainder of this guide is separated into the following sections:</p>
- <ul>
- <li><a href="#section1">TBD</a></li>
- </ul>
-
- </section>
-
- <a name="section1"/>
- <section name="TBD">
- <p>Coming Soon...</p>
- </section>
-
- </body>
-</document>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/basic.xml
----------------------------------------------------------------------
diff --git a/pushpull/src/site/xdoc/user/basic.xml b/pushpull/src/site/xdoc/user/basic.xml
deleted file mode 100644
index 2aee3e5..0000000
--- a/pushpull/src/site/xdoc/user/basic.xml
+++ /dev/null
@@ -1,50 +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.
--->
-<document>
- <properties>
- <title>CAS Push Pull User Guide</title>
- <author email="Chris.Mattmann@jpl.nasa.gov">Chris Mattmann</author>
- <author email="woollard@jpl.nasa.gov">Dave Woollard</author>
- </properties>
-
- <body>
- <div class="warning">This document is in the process of being reorganized as
- part of our ongoing documentation effort. Please check back for updates.</div>
-
- <section name="Introduction">
-
- <p>This document serves as a basic user's guide for the CAS Push Pull Framework
- project. The goal of the document is to allow users to check out, build, and
- install a base version of the CAS Push Pull Framework as well as perform basic
- configuration tasks. For advanced topics, please see our
- <a href="../user/advanced.html">Advanced Guide.</a></p>
-
- <p>The remainder of this guide is separated into the following sections:</p>
- <ul>
- <li><a href="#section1">TBD</a></li>
- </ul>
-
- </section>
-
- <a name="section1"/>
- <section name="TBD">
- <p>Coming Soon...</p>
- </section>
-
- </body>
-</document>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/site/xdoc/user/index.xml
----------------------------------------------------------------------
diff --git a/pushpull/src/site/xdoc/user/index.xml b/pushpull/src/site/xdoc/user/index.xml
deleted file mode 100644
index 6b3c916..0000000
--- a/pushpull/src/site/xdoc/user/index.xml
+++ /dev/null
@@ -1,49 +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.
--->
-<document>
- <properties>
- <title>CAS Push Pull Framework User Guide</title>
- <author email="Chris.Mattmann@jpl.nasa.gov">Chris Mattmann</author>
- <author email="woollard@jpl.nasa.gov">Dave Woollard</author>
- </properties>
-
- <body>
-
- <div class="warning">This document is in the process of being reorganized as
- part of our ongoing documentation effort. Please follow the links below to find
- information that has previously been hosted on this page.</div>
-
-
- <p>We are in the process of upgrading OODT documentation. In the near
- future, we hope to provide information for developers regarding each
- component, including its purpose, structure, interfaces, and
- configuration points in a <a href="../development/developer.html">Developer
- Guide.</a></p>
-
- <p>Information for users, including installation and basic configuration,
- as well as example usage are provided in a
- <a href="../user/basic.html">Basic User Guide.</a> Advanced topics, like
- look and feel, lessons-learned, and best practices are provided in an
- <a href="../user/advanced.html">Advanced User Guide.</a></p>
-
- <p>Finally, we are planning to provide a number of case studies in the
- future, in which multi-component deployments are configured to handle
- common data and computation management scenarios.</p>
-
- </body>
-</document>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java
----------------------------------------------------------------------
diff --git a/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java b/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java
deleted file mode 100644
index e098c87..0000000
--- a/pushpull/src/test/org/apache/oodt/cas/pushpull/filerestrictions/parsers/GenericEmailParserTest.java
+++ /dev/null
@@ -1,75 +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.filerestrictions.parsers;
-
-// JUnit static imports
-import static org.junit.Assert.assertThat;
-
-
-// JDK imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.net.URISyntaxException;
-import java.util.List;
-
-
-import org.apache.oodt.cas.metadata.Metadata;
-// OODT imports
-import org.apache.oodt.cas.pushpull.exceptions.ParserException;
-import org.apache.oodt.cas.pushpull.filerestrictions.FileRestrictions;
-import org.apache.oodt.cas.pushpull.filerestrictions.VirtualFileStructure;
-
-// JUnit imports
-import org.hamcrest.Matchers;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/**
- * Test class for {@link GenericEmailParser}.
- *
- * @author bfoster@apache.org (Brian Foster)
- */
-@RunWith(JUnit4.class)
-public class GenericEmailParserTest {
-
- private File emailFile;
-
- @Before
- public void setUp() throws URISyntaxException {
- emailFile = new File(ClassLoader.getSystemResource("TestEmail.txt").toURI());
- }
-
- @Test
- public void testGenericEmailParser() throws ParserException, FileNotFoundException {
- GenericEmailParser parser = new GenericEmailParser(
- "Wav File: ([^\\s]+)", "Dear Lousy Customer,", null);
- VirtualFileStructure vfs = parser.parse(new FileInputStream(emailFile), new Metadata());
- List<String> filePaths = FileRestrictions.toStringList(vfs.getRootVirtualFile());
- assertThat(filePaths.size(), Matchers.is(1));
- assertThat(filePaths.get(0), Matchers.is("/some/path/to/a/wav/file.wav"));
- }
-
- @Test (expected = ParserException.class)
- public void testFailedValidEmailCheck() throws ParserException, FileNotFoundException {
- GenericEmailParser parser = new GenericEmailParser(
- "Wav File: ([^\\s]+)", "Phrase Not Found", null);
- parser.parse(new FileInputStream(emailFile), new Metadata());
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/pushpull/src/test/resources/TestEmail.txt
----------------------------------------------------------------------
diff --git a/pushpull/src/test/resources/TestEmail.txt b/pushpull/src/test/resources/TestEmail.txt
deleted file mode 100644
index fd5a7fa..0000000
--- a/pushpull/src/test/resources/TestEmail.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Dear Lousy Customer,
-
-Your file is ready to download.
-
-File size: 12345
-
-Wav File: /some/path/to/a/wav/file.wav
-
-MDB Hash File: /some/path/to/a/md5/file.md5
-
-Thanks!
-Files-R-Us
-
-PS
-You only get this notification once so download now!!!!!
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/pom.xml
----------------------------------------------------------------------
diff --git a/sso/pom.xml b/sso/pom.xml
deleted file mode 100644
index cdb59a2..0000000
--- a/sso/pom.xml
+++ /dev/null
@@ -1,75 +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.
--->
-<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>oodt-sso</artifactId>
- <packaging>jar</packaging>
- <name>OODT Single Sign On Security Package</name>
- <properties />
- <!-- 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>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- </dependency>
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oodt</groupId>
- <artifactId>cas-metadata</artifactId>
- <version>${project.parent.version}</version>
- </dependency>
- </dependencies>
- <build>
- <plugins />
- </build>
- <distributionManagement />
-</project>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java b/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java
deleted file mode 100644
index 1ad57cb..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/AbstractWebBasedSingleSignOn.java
+++ /dev/null
@@ -1,90 +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.security.sso;
-
-//JDK imports
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- *
- * Abstract class providing an HTTP request and response interface pair to allow
- * for persistence and management of state information related to SingleSignOn.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public abstract class AbstractWebBasedSingleSignOn implements SingleSignOn {
-
- protected HttpServletResponse res;
-
- protected HttpServletRequest req;
-
- public AbstractWebBasedSingleSignOn() {
- this.req = null;
- this.res = null;
- }
-
- /**
- * Constructs a new {@link AbstractWebBasedSingleSignOn} with the given HTTP
- * request and response.
- *
- * @param res
- * The {@link HttpServletRequest}.
- * @param req
- * The {@link HttpServletResponse}.
- */
- public AbstractWebBasedSingleSignOn(HttpServletResponse res,
- HttpServletRequest req) {
- this.res = res;
- this.req = req;
- }
-
- /**
- * @return the res
- */
- public HttpServletResponse getRes() {
- return res;
- }
-
- /**
- * @param res
- * the res to set
- */
- public void setRes(HttpServletResponse res) {
- this.res = res;
- }
-
- /**
- * @return the req
- */
- public HttpServletRequest getReq() {
- return req;
- }
-
- /**
- * @param req
- * the req to set
- */
- public void setReq(HttpServletRequest req) {
- this.req = req;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java b/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java
deleted file mode 100644
index dfc88be..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/DummyImpl.java
+++ /dev/null
@@ -1,102 +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.security.sso;
-
-//JDK imports
-import java.util.Collections;
-import java.util.List;
-
-/**
- *
- * Dummy implementation of SSO auth -- if you're logged in, it logs you out. If
- * you're logged out, it logs you in. Both are independent of the actual
- * username/password combination you enter. On top of that, your username will
- * always be <code>guest</code>.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public class DummyImpl extends AbstractWebBasedSingleSignOn {
-
- private static final String DEFAULT_USERNAME = "guest";
-
- private static final String DEFAULT_GROUP = "guest";
-
- private boolean connected = false;
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.security.sso.SingleSignOn#getCurrentUsername()
- */
- public String getCurrentUsername() {
- return DEFAULT_USERNAME;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.oodt.cas.security.sso.SingleSignOn#getLastConnectionStatus()
- */
- public boolean getLastConnectionStatus() {
- // TODO Auto-generated method stub
- return this.connected;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.security.sso.SingleSignOn#isLoggedIn()
- */
- public boolean isLoggedIn() {
- // TODO Auto-generated method stub
- return this.connected;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.oodt.cas.security.sso.SingleSignOn#login(java.lang.String,
- * java.lang.String)
- */
- public boolean login(String username, String password) {
- this.connected = true;
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.security.sso.SingleSignOn#logout()
- */
- public void logout() {
- this.connected = false;
- }
-
- /* (non-Javadoc)
- * @see org.apache.oodt.cas.security.sso.SingleSignOn#retrieveGroupsForUser(java.lang.String)
- */
- public List<String> retrieveGroupsForUser(String username) {
- return Collections.singletonList(DEFAULT_GROUP);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java b/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java
deleted file mode 100755
index 0c0db54..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/OpenSSOImpl.java
+++ /dev/null
@@ -1,190 +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.security.sso;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.oodt.security.sso.opensso.SSOMetKeys;
-import org.apache.oodt.security.sso.opensso.SSOProxy;
-import org.apache.oodt.security.sso.opensso.SingleSignOnException;
-import org.apache.oodt.security.sso.opensso.UserDetails;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.http.Cookie;
-
-/**
- *
- * Connects to OpenSSO's authorization endpoint and authenticates a user,
- * implementing the CAS {@link AbstractWebBasedSingleSignOn} interface. This
- * class can be used in e.g., CAS curator to link into Open SSO.
- */
-public class OpenSSOImpl extends AbstractWebBasedSingleSignOn implements
- SSOMetKeys {
-
- private static final Logger LOG = Logger.getLogger(OpenSSOImpl.class
- .getName());
-
- private SSOProxy ssoProxy;
-
- /**
- * Default constructor.
- */
- public OpenSSOImpl() {
- this.ssoProxy = new SSOProxy();
- }
-
- public String getCurrentUsername() {
- String cookieVal = this.getCookieVal(USER_COOKIE_KEY);
- if (cookieVal == null) {
- // let's try and get the SSO token
- // and pull the username from there
- String ssoToken = this.getSSOToken();
- if (ssoToken != null) {
- UserDetails details;
- try {
- details = this.ssoProxy.getUserAttributes(ssoToken);
- } catch (Exception e) {
- LOG.log(Level.SEVERE, e.getMessage());
- return UNKNOWN_USER;
- }
- return details.getAttributes().getMetadata(UID_ATTRIBUTE_NAME) != null ? details
- .getAttributes().getMetadata(UID_ATTRIBUTE_NAME) : UNKNOWN_USER;
- } else {
- return UNKNOWN_USER;
- }
- } else {
- return new String(Base64.decodeBase64(cookieVal.getBytes()));
- }
- }
-
- public boolean getLastConnectionStatus() {
- return this.isLoggedIn();
- }
-
- public boolean isLoggedIn() {
- // TODO: make sure the token is valid?
- return (this.getSSOToken() != null);
- }
-
- public boolean login(String username, String password) {
-
- String ssoToken;
- try {
- ssoToken = this.ssoProxy.authenticate(username, password);
- } catch (Exception e) {
- LOG.log(Level.SEVERE, e.getMessage());
- return false;
- }
-
- this.addCookie(SSO_COOKIE_KEY, "\"" + ssoToken + "\"");
-
- this.addCookie(USER_COOKIE_KEY,
- "\"" + new String(Base64.encodeBase64(username.getBytes())) + "\"");
-
- return true;
- }
-
- public void logout() {
- this.ssoProxy.logout(this.getSSOToken());
- this.clearCookie(SSO_COOKIE_KEY);
- this.clearCookie(USER_COOKIE_KEY);
- }
-
- /**
- * Gets the SSO groups for the LMMP user, identified by her
- * <code>ssoAuth</code>, where her User ID is provided by
- * {@link OpenSSOImpl#getCurrentUsername()} and her Token is provided by
- * {@link OpenSSOImpl#getSSOToken()}.
- *
- * @return A {@link List} of String LMMP groups for the User.
- * @throws Exception
- * If any error (e.g., HTTP REST error) occurs.
- */
- public List<String> getGroupsForUser() throws IOException, SingleSignOnException {
- String token = this.getSSOToken();
- if (token == null) {
- return Collections.EMPTY_LIST;
- } else {
- UserDetails details = this.ssoProxy.getUserAttributes(token);
- // groups are formatted in this response to include whole
- // principals, like lmmp-infra,...principal
- // so split on "," and take the first token to get the group name
- List<String> groups = new Vector<String>();
- for (String rawGroup : details.getRoles()) {
- groups.add(rawGroup.split(",")[0]);
- }
-
- return groups;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.oodt.security.sso.SingleSignOn#retrieveGroupsForUser(java.lang
- * .String)
- */
- @Override
- public List<String> retrieveGroupsForUser(String username) {
- // FIXME: not implemented yet
- return Collections.EMPTY_LIST;
- }
-
- protected String getSSOToken() {
- String cookieVal = this.getCookieVal(SSO_COOKIE_KEY);
- if (cookieVal != null) {
- return cookieVal;
- } else {
- return null;
- }
- }
-
- private String getCookieVal(String name) {
- Cookie[] cookies = this.req.getCookies();
- for (Cookie cookie : cookies) {
- if (cookie.getName().equals(name)) {
- return cookie.getValue().startsWith("\"")
- && cookie.getValue().endsWith("\"") ? cookie.getValue().substring(
- 1, cookie.getValue().length() - 1) : cookie.getValue();
- }
- }
-
- return null;
- }
-
- private void addCookie(String name, String val) {
- Cookie userCookie = new Cookie(name, val);
- userCookie.setPath("/");
- userCookie.setMaxAge((int) (System.currentTimeMillis() + (60 * 15)));
- this.res.addCookie(userCookie);
- }
-
- private void clearCookie(String name) {
- Cookie userCookie = new Cookie(name, "blank");
- userCookie.setPath("/");
- userCookie.setMaxAge(0);
- this.res.addCookie(userCookie);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java b/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java
deleted file mode 100644
index 3835bf8..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOn.java
+++ /dev/null
@@ -1,85 +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.security.sso;
-
-//JDK imports
-import java.util.List;
-
-/**
- *
- * The CAS java-based single sign on API.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public interface SingleSignOn {
-
- /**
- * Should return the current logged in Single Sign On username returned from
- * the implementation-specific authentication API.
- *
- * @return A string representation of the current SSO username.
- */
- String getCurrentUsername();
-
- /**
- * Returns <code>true</code> when the user is logged in, or false otherwise.
- *
- * @return True if the user is logged in, false otherwise.
- */
- boolean isLoggedIn();
-
- /**
- * Logs the user with the provided <code>username</code> and
- * <code>password</code> in to the SSO authentication mechanism.
- *
- * @param username
- * The username credentials.
- * @param password
- * The password credentials.
- * @return True if the login was successful, false otherwise.
- */
- boolean login(String username, String password);
-
- /**
- * Logs the current SSO user out of her session.
- */
- void logout();
-
- /**
- * Should provide information (true or false) as to whether the last
- * connection to the SSO authentication service was successful.
- *
- * @return True if the last authentication was successful, false otherwise.
- */
- boolean getLastConnectionStatus();
-
- /**
- * Obtains a user's groups from the security principal that this SSO object
- * talks to.
- *
- * @param username
- * The username to obtain the groups for.
- * @return A {@link List} of string group names obtained from the security
- * principal.
- **/
- List<String> retrieveGroupsForUser(String username);
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java b/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java
deleted file mode 100644
index e3753a6..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/SingleSignOnFactory.java
+++ /dev/null
@@ -1,68 +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.security.sso;
-
-
-//JDK imports
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- *
- * Object factory for creating {@link SingleSignOn}s from class name Strings.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public final class SingleSignOnFactory {
-
- private static final Logger LOG = Logger.getLogger(SingleSignOnFactory.class
- .getName());
-
- @SuppressWarnings("unchecked")
- public static AbstractWebBasedSingleSignOn getWebBasedSingleSignOn(String className) {
- AbstractWebBasedSingleSignOn sso;
- Class<AbstractWebBasedSingleSignOn> clazz;
-
- try {
- clazz = (Class<AbstractWebBasedSingleSignOn>) Class.forName(className);
- sso = clazz.newInstance();
- return sso;
- } catch (ClassNotFoundException e) {
- LOG.log(Level.SEVERE, e.getMessage());
- LOG.log(Level.WARNING,
- "ClassNotFoundException when loading web based sso class "
- + className + " Message: " + e.getMessage());
- } catch (InstantiationException e) {
- LOG.log(Level.SEVERE, e.getMessage());
- LOG.log(Level.WARNING,
- "InstantiationException when loading web based sso class "
- + className + " Message: " + e.getMessage());
- } catch (IllegalAccessException e) {
- LOG.log(Level.SEVERE, e.getMessage());
- LOG.log(Level.WARNING,
- "IllegalAccessException when loading web based sso class "
- + className + " Message: " + e.getMessage());
- }
-
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java
deleted file mode 100755
index 97916f1..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/IdentityDetails.java
+++ /dev/null
@@ -1,136 +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.security.sso.opensso;
-
-//JDK imports
-import org.apache.oodt.cas.metadata.Metadata;
-
-import java.util.List;
-import java.util.Vector;
-
-//OODT imports
-
-/**
- *
- * The response from a call to {@link SSOMetKeys#IDENTITY_READ_ENDPOINT}.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public class IdentityDetails {
-
- private String name;
-
- private String type;
-
- private String realm;
-
- private List<String> groups;
-
- private Metadata attributes;
-
- public IdentityDetails() {
- this.name = null;
- this.type = null;
- this.realm = null;
- this.groups = new Vector<String>();
- this.attributes = new Metadata();
- }
-
- /**
- * @return the name
- */
- public String getName() {
- return name;
- }
-
- /**
- * @param name
- * the name to set
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * @return the type
- */
- public String getType() {
- return type;
- }
-
- /**
- * @param type
- * the type to set
- */
- public void setType(String type) {
- this.type = type;
- }
-
- /**
- * @return the realm
- */
- public String getRealm() {
- return realm;
- }
-
- /**
- * @param realm
- * the realm to set
- */
- public void setRealm(String realm) {
- this.realm = realm;
- }
-
- /**
- * @return the groups
- */
- public List<String> getGroups() {
- return groups;
- }
-
- /**
- * @param groups
- * the groups to set
- */
- public void setGroups(List<String> groups) {
- this.groups = groups;
- }
-
- /**
- * @return the attributes
- */
- public Metadata getAttributes() {
- return attributes;
- }
-
- /**
- * @param attributes
- * the attributes to set
- */
- public void setAttributes(Metadata attributes) {
- this.attributes = attributes;
- }
-
- public String toString() {
- return "[name=" + this.name + ",type=" + this.type + ",realm=" + this.realm + ",roles=" + this.groups
- + ",attributes=" + this.attributes.getMap() + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java
deleted file mode 100755
index 0e97221..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOMetKeys.java
+++ /dev/null
@@ -1,81 +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.security.sso.opensso;
-
-/**
- *
- * Met keys for dealing with {@link SSOProxy}.
- *
- */
-public interface SSOMetKeys {
-
- /* service endpoints */
- String AUTHENTICATE_ENDPOINT = "https://host/opensso/identity/authenticate";
-
- String IDENTITY_READ_ENDPOINT = "https://host/opensso/identity/read";
-
- String IDENTITY_ATTRIBUTES_ENDPOINT = "https://host/opensso/identity/attributes";
-
- String LOGOUT_ENDPOINT = "https://host/opensso/identity/logout";
-
- /* cookie names */
-
- String SSO_COOKIE_KEY = "iPlanetDirectoryPro";
-
- String USER_COOKIE_KEY = "curationWebapp";
-
- /* Identity Details response object */
-
- String IDENTITY_DETAILS_NAME = "identitydetails.name";
-
- String IDENTITY_DETAILS_TYPE = "identitydetails.type";
-
- String IDENTITY_DETAILS_REALM = "identitydetails.realm";
-
- String IDENTITY_DETAILS_GROUP = "identitydetails.group";
-
- String IDENTITY_DETAILS_ATTR_NAME = "identitydetails.attribute.name";
-
- String IDENTITY_DETAILS_ATTR_VALUE = "identitydetails.attribute.value";
-
- String IDENTITY_DETAILS_ATTR_SKIP_LINE = "identitydetails.attribute=";
-
- /* User Details response object */
- String USER_DETAILS_TOKEN = "userdetails.token.id";
-
- String USER_DETAILS_ROLE = "userdetails.role=id";
-
- String USER_DETAILS_ATTR_NAME = "userdetails.attribute.name";
-
- String USER_DETAILS_ATTR_VALUE = "userdetails.attribute.value";
-
- String UID_ATTRIBUTE_NAME = "uid";
-
- /* commands available from SSOProxy command line */
- String AUTH_COMMAND = "authenticate";
-
- String IDENTITY_COMMAND = "identity";
-
- String ATTRIBUTES_COMMAND = "attributes";
-
- String LOGOUT_COMMAND = "logout";
-
- /* general stuff */
- String UNKNOWN_USER = "Unknown";
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java
deleted file mode 100755
index 5d77083..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SSOProxy.java
+++ /dev/null
@@ -1,308 +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.security.sso.opensso;
-
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- *
- * A client class to the services provided by the <a
- * href="https://opensso.dev.java.net/">OpenSSO</a> project. The descriptions of
- * these services are <a
- * href="http://developers.sun.com/identity/reference/techart/id-svcs.html"
- * >here</a>.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public class SSOProxy implements SSOMetKeys {
-
- private static final Logger LOG = Logger.getLogger(SSOProxy.class.getName());
- private static final String AUTH_ENDPOINT;
- private static final String AUTH_ENDPOINT_KEY = "AUTH_ENDPOINT";
- private static final String IDENT_READ_ENDPOINT;
- private static final String IDENT_READ_ENDPOINT_KEY = "IDENT_READ_ENDPOINT";
- private static final String IDENT_ATTR_ENDPOINT;
- private static final String IDENT_ATTR_ENDPOINT_KEY = "IDENT_ATTR_ENDPOINT";
- private static final String LOG_ENDPOINT;
- private static final String LOG_ENDPOINT_KEY = "LOG_ENDPOINT";
-
- static {
- if (System.getProperty(AUTH_ENDPOINT_KEY) != null) {
- AUTH_ENDPOINT = System.getProperty(AUTH_ENDPOINT_KEY);
- } else {
- AUTH_ENDPOINT = AUTHENTICATE_ENDPOINT;
- }
- if (System.getProperty(IDENT_READ_ENDPOINT_KEY) != null) {
- IDENT_READ_ENDPOINT = System.getProperty(IDENT_READ_ENDPOINT_KEY);
- } else {
- IDENT_READ_ENDPOINT = IDENTITY_READ_ENDPOINT;
- }
- if (System.getProperty(IDENT_ATTR_ENDPOINT_KEY) != null) {
- IDENT_ATTR_ENDPOINT = System.getProperty(IDENT_ATTR_ENDPOINT_KEY);
- } else {
- IDENT_ATTR_ENDPOINT = IDENTITY_ATTRIBUTES_ENDPOINT;
- }
- if (System.getProperty(LOG_ENDPOINT_KEY) != null) {
- LOG_ENDPOINT = System.getProperty(LOG_ENDPOINT_KEY);
- } else {
- LOG_ENDPOINT = LOGOUT_ENDPOINT;
- }
-
- LOG.log(Level.INFO, AUTH_ENDPOINT_KEY + " set to " + AUTH_ENDPOINT);
- LOG.log(Level.INFO, IDENT_READ_ENDPOINT_KEY + " set to " + IDENT_READ_ENDPOINT);
- LOG.log(Level.INFO, IDENT_ATTR_ENDPOINT_KEY + " set to " + IDENT_ATTR_ENDPOINT);
- LOG.log(Level.INFO, LOG_ENDPOINT_KEY + " set to " + LOG_ENDPOINT);
- }
-
- public String authenticate(String username, String password) {
- HttpClient httpClient = new HttpClient();
- PostMethod post = new PostMethod(AUTH_ENDPOINT);
- String response;
- String ssoToken = null;
-
- NameValuePair[] data = { new NameValuePair("username", username),
- new NameValuePair("password", password),
- new NameValuePair("uri", "realm/lmmp") };
-
- post.setRequestBody(data);
-
- try {
- httpClient.executeMethod(post);
- if (post.getStatusCode() != HttpStatus.SC_OK) {
- throw new HttpException(post.getStatusLine().toString());
- }
- response = post.getResponseBodyAsString().trim();
- ssoToken = response.substring(9);
- } catch (Exception e) {
- LOG.log(Level.SEVERE, e.getMessage());
- } finally {
- post.releaseConnection();
- }
-
- return ssoToken;
- }
-
- public IdentityDetails readIdentity(String username, String token)
- throws IOException, SingleSignOnException {
- HttpClient httpClient = new HttpClient();
- PostMethod post = new PostMethod(IDENT_READ_ENDPOINT);
- LOG.log(Level.INFO, "Obtaining identity: username: [" + username
- + "]: token: [" + token + "]: REST url: [" + IDENT_READ_ENDPOINT
- + "]");
- NameValuePair[] data = { new NameValuePair("name", username),
- new NameValuePair("admin", token) };
-
- post.setRequestBody(data);
-
- httpClient.executeMethod(post);
- if (post.getStatusCode() != HttpStatus.SC_OK) {
- throw new SingleSignOnException(post.getStatusLine().toString());
- }
-
- return parseIdentityDetails(post.getResponseBodyAsString().trim());
-
- }
-
- public UserDetails getUserAttributes(String token) throws IOException, SingleSignOnException {
- HttpClient httpClient = new HttpClient();
- PostMethod post = new PostMethod(IDENT_ATTR_ENDPOINT);
- LOG.log(Level.INFO, "Obtaining user attributes: token: [" + token
- + "]: REST url: [" + IDENT_ATTR_ENDPOINT + "]");
- NameValuePair[] data = { new NameValuePair("subjectid", token) };
-
- post.setRequestBody(data);
-
- httpClient.executeMethod(post);
- if (post.getStatusCode() != HttpStatus.SC_OK) {
- throw new SingleSignOnException(post.getStatusLine().toString());
- }
-
- return parseUserDetails(post.getResponseBodyAsString().trim());
-
- }
-
- public void logout(String token) {
- HttpClient httpClient = new HttpClient();
- PostMethod post = new PostMethod(LOG_ENDPOINT);
- LOG.log(Level.INFO, "Logging out: token: [" + token + "]: REST url: ["
- + LOG_ENDPOINT + "]");
- NameValuePair[] data = { new NameValuePair("subjectid", token) };
- post.setRequestBody(data);
-
- try {
- httpClient.executeMethod(post);
- if (post.getStatusCode() != HttpStatus.SC_OK) {
- throw new HttpException(post.getStatusLine().toString());
- }
- } catch (HttpException e) {
- // TODO Auto-generated catch block
- LOG.log(Level.SEVERE, e.getMessage());
- } catch (IOException e) {
- // TODO Auto-generated catch block
- LOG.log(Level.SEVERE, e.getMessage());
- } finally {
- post.releaseConnection();
- }
- }
-
- private IdentityDetails parseIdentityDetails(String serviceResponse) {
- ByteArrayInputStream is = new ByteArrayInputStream(serviceResponse
- .getBytes());
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- IdentityDetails details = new IdentityDetails();
- String line = null, lastAttrKeyRead = null;
-
- try {
- while ((line = br.readLine()) != null) {
- if (line.equals(IDENTITY_DETAILS_ATTR_SKIP_LINE)) {
- continue;
- }
- String key, val;
- if (line.startsWith(IDENTITY_DETAILS_REALM)) {
- // can't parse it the same way
- key = line.substring(0, IDENTITY_DETAILS_REALM.length());
- val = line.substring(IDENTITY_DETAILS_REALM.length() + 1);
- } else {
- String[] lineToks = line.split("=");
- key = lineToks[0];
- val = lineToks[1];
- }
-
- if (key.equals(IDENTITY_DETAILS_NAME)) {
- details.setName(val);
- } else if (key.equals(IDENTITY_DETAILS_TYPE)) {
- details.setType(val);
- } else if (key.equals(IDENTITY_DETAILS_REALM)) {
- details.setRealm(val);
- } else if (key.equals(IDENTITY_DETAILS_GROUP)) {
- details.getGroups().add(val);
- } else if (key.equals(IDENTITY_DETAILS_ATTR_NAME)) {
- lastAttrKeyRead = val;
- } else if (key.equals(IDENTITY_DETAILS_ATTR_VALUE)) {
- details.getAttributes().addMetadata(lastAttrKeyRead, val);
- }
- }
- } catch (IOException e) {
- LOG.log(Level.SEVERE, e.getMessage());
- LOG.log(Level.WARNING, "Error reading service response line: [" + line
- + "]: Message: " + e.getMessage());
- } finally {
- try {
- is.close();
- } catch (Exception ignore) {
- }
-
- try {
- br.close();
- } catch (Exception ignore) {
- }
-
- }
-
- return details;
- }
-
- private UserDetails parseUserDetails(String serviceResponse) {
- ByteArrayInputStream is = new ByteArrayInputStream(serviceResponse
- .getBytes());
- BufferedReader br = new BufferedReader(new InputStreamReader(is));
- UserDetails details = new UserDetails();
- String line = null, lastAttrKeyRead = null;
-
- try {
- while ((line = br.readLine()) != null) {
- String key, val;
- if (line.startsWith(USER_DETAILS_ROLE)) {
- // can't parse by splitting, parse by using substring
- key = line.substring(0, USER_DETAILS_ROLE.length());
- val = line.substring(USER_DETAILS_ROLE.length() + 1);
- } else {
- String[] lineToks = line.split("=");
- key = lineToks[0];
- val = lineToks[1];
- }
-
- if (key.equals(USER_DETAILS_TOKEN)) {
- details.setToken(val);
- } else if (key.equals(USER_DETAILS_ROLE)) {
- details.getRoles().add(val);
- } else if (key.equals(USER_DETAILS_ATTR_NAME)) {
- lastAttrKeyRead = val;
- } else if (key.equals(USER_DETAILS_ATTR_VALUE)) {
- details.getAttributes().addMetadata(lastAttrKeyRead, val);
- }
- }
- } catch (IOException e) {
- LOG.log(Level.SEVERE, e.getMessage());
- LOG.log(Level.WARNING, "Error reading service response line: [" + line
- + "]: Message: " + e.getMessage());
- } finally {
- try {
- is.close();
- } catch (Exception ignore) {
- }
-
- try {
- br.close();
- } catch (Exception ignore) {
- }
-
- }
-
- return details;
- }
-
- public static void main(String[] args) throws IOException, SingleSignOnException {
- String usage = "SSOProxy <cmd> [args]\n\n" + "Where cmd is one of:\n"
- + "authenticate <user> <pass>\n" + "identity <user> <token>\n"
- + "attributes <token>\nlogout <token>\n";
-
- if (args.length < 2 || args.length > 3) {
- System.err.println(usage);
- System.exit(1);
- }
-
- String cmd = args[0];
- SSOProxy sso = new SSOProxy();
- if (cmd.equals(AUTH_COMMAND)) {
- System.out.println(sso.authenticate(args[1], args[2]));
- } else if (cmd.equals(IDENTITY_COMMAND)) {
- System.out.println(sso.readIdentity(args[1], args[2]));
- } else if (cmd.equals(ATTRIBUTES_COMMAND)) {
- System.out.println(sso.getUserAttributes(args[1]));
- } else if (cmd.equals(LOGOUT_COMMAND)) {
- sso.logout(args[1]);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java
deleted file mode 100644
index bed65e7..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/SingleSignOnException.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.apache.oodt.security.sso.opensso;
-
-/**
- * Created by bugg on 27/10/15.
- */
-public class SingleSignOnException extends Exception {
-
- public SingleSignOnException(String message) {
- super(message);
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java
----------------------------------------------------------------------
diff --git a/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java b/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java
deleted file mode 100755
index ae442b1..0000000
--- a/sso/src/main/java/org/apache/oodt/security/sso/opensso/UserDetails.java
+++ /dev/null
@@ -1,97 +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.security.sso.opensso;
-
-//OODT imports
-import org.apache.oodt.cas.metadata.Metadata;
-
-//JDK imports
-import java.util.List;
-import java.util.Vector;
-
-/**
- *
- * The response from a query to {@link SSOMetKeys#IDENTITY_ATTRIBUTES_ENDPOINT}.
- *
- * @author mattmann
- * @version $Revision$
- *
- */
-public class UserDetails {
-
- private String token;
-
- private List<String> roles;
-
- private Metadata attributes;
-
- public UserDetails() {
- this.token = null;
- this.roles = new Vector<String>();
- this.attributes = new Metadata();
- }
-
- /**
- * @return the token
- */
- public String getToken() {
- return token;
- }
-
- /**
- * @param token
- * the token to set
- */
- public void setToken(String token) {
- this.token = token;
- }
-
- /**
- * @return the roles
- */
- public List<String> getRoles() {
- return roles;
- }
-
- /**
- * @param roles
- * the roles to set
- */
- public void setRoles(List<String> roles) {
- this.roles = roles;
- }
-
- /**
- * @return the attributes
- */
- public Metadata getAttributes() {
- return attributes;
- }
-
- /**
- * @param attributes
- * the attributes to set
- */
- public void setAttributes(Metadata attributes) {
- this.attributes = attributes;
- }
-
- public String toString() {
- return "[token=" + this.token + ",roles=" + this.roles + ",attributes=" + this.attributes.getMap() + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/Config.php
----------------------------------------------------------------------
diff --git a/sso/src/main/php/pear/Config.php b/sso/src/main/php/pear/Config.php
deleted file mode 100644
index 8d3cec1..0000000
--- a/sso/src/main/php/pear/Config.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/*
- * 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_Security
- * @author Andrew F. Hart
- * @version $Revision$
- *
- * PHP Single Sign On Authentication Library and Utilities
- *
- */
-
-/**
- * LDAP Host URI
- *
- * The path to the host where the LDAP directory server is running
- * @var string
- */
-define("SSO_LDAP_HOST", "ldaps://host.domain");
-
-/**
- * LDAP Port
- *
- * The port on @link{SSO_LDAP_HOST} where the LDAP directory server
- * is listening.
- *
- * Default ports:
- * 389: Standard (non-ssl) LDAP (ldap://...)
- * 636: Secure LDAP (ldaps://...)
- * @var string
- */
-define("SSO_LDAP_PORT", 636);
-
-/**
- * Base DN
- *
- * The base domain name to use when interacting with the LDAP server
- *
- * @var string
- */
-define("SSO_BASE_DN", "dc=sample, dc=jpl, dc=nasa, dc=gov");
-
-/**
- * Cookie Key
- *
- * The unique string to use in identifying the security cookie
- *
- */
-define("SSO_COOKIE_KEY", "__ac__sc__");
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/SingleSignOn.php
----------------------------------------------------------------------
diff --git a/sso/src/main/php/pear/SingleSignOn.php b/sso/src/main/php/pear/SingleSignOn.php
deleted file mode 100644
index 512dffa..0000000
--- a/sso/src/main/php/pear/SingleSignOn.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-/*
- * 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_Security
- * @author Chris A. Mattmann
- * @author Andrew F. Hart
- * @version $Revision$
- *
- * PHP Single Sign On Library for EDRN PHP-based products.
- *
- */
-
-class Org_Apache_Oodt_Security_SingleSignOn {
-
- private $connectionStatus;
-
- private $conn;
-
- public function __construct() {
- $this->connectionStatus = 1;
- }
-
- public function getCurrentUsername() {
- return $this->getSingleSignOnUsername();
- }
-
- public function isLoggedIn() {
- return ($this->getSingleSignOnUsername() != null);
- }
-
- public function login($username, $password) {
- // first check to see if we are already signed in
- if ($this->getSingleSignOnUsername() <> ""
- && strcmp($this->getSingleSignOnUsername(), $username) == 0) {
- // we're logged in already
- return true;
- } else {
- // log in via LDAP
- $ldaprdn = "uid=" . $username . ',' . SSO_BASE_DN;
- $ldappass = $password;
-
- // connect to ldap server
- $ldapconn = $this->connect(SSO_LDAP_HOST, SSO_LDAP_PORT);
- if ($ldapconn) {
-
- // binding to ldap server
- $ldapbind = @ ldap_bind($ldapconn, $ldaprdn, $ldappass);
-
- // verify binding
- if ($ldapbind) {
- $this->createSingleSignOnCookie($username, $password);
- return true;
- } else {
- return false;
- }
-
- } else {
- $this->connectionStatus = 0;
- return false;
- }
- }
-
- }
-
- public function logout() {
- $this->clearSingleSignOnInfo();
- }
-
- public function getLastConnectionStatus() {
- return ($this->connectionStatus == 1);
- }
-
- public function retrieveGroupsForUser($username,$searchDirectory = SSO_BASE_DN) {
- // attempt to connect to ldap server
- $ldapconn = $this->connect(SSO_LDAP_HOST,SSO_LDAP_PORT);
- $groups = array();
- if ($ldapconn) {
- $filter = "(&(objectClass=groupOfUniqueNames)"
- ."(uniqueMember=uid={$username}," . SSO_BASE_DN . "))";
- $result = ldap_search($ldapconn,$searchDirectory,$filter,array('cn'));
-
- if ($result) {
- $entries = ldap_get_entries($ldapconn,$result);
- foreach ($entries as $rawGroup) {
- if (isset($rawGroup['cn'][0])
- && $rawGroup['cn'][0] != '') {
- $groups[] = $rawGroup['cn'][0];
- }
- }
- }
- }
-
- return $groups;
- }
-
- /**
- *
- * retrieves the set of attributes from the users ldap entry
- * @param string $username user for which attributes will be returned
- * @param array $attributes ldap attributes to retrieve
- * @param string $searchDirectory optional path to users ldap entry
- */
- public function retrieveUserAttributes($username,$attributes,$searchDirectory = SSO_BASE_DN) {
- // attempt to connect to ldap server
- $ldapconn = $this->connect(SSO_LDAP_HOST,SSO_LDAP_PORT);
- $attr = array();
-
- if ($ldapconn) {
- // get user attributes
- $filter = "uid=".$username;
- $result = ldap_search($ldapconn,$searchDirectory,$filter,$attributes);
- if ($result) {
- $entries = ldap_get_entries($ldapconn,$result);
- return $entries;
- } else {
- return array();
- }
- }
- }
-
-
- public function changePassword($newPass,$encryptionMethod = "SHA") {
- if ($this->isLoggedIn()) {
- $user = "uid={$this->getSingleSignOnUsername()}," . SSO_BASE_DN ;
- $entry = array();
-
- switch (strtoupper($encryptionMethod)) {
- case "SHA":
- $entry['userPassword'] = "{SHA} " . base64_encode(pack("H*",sha1($newPass)));
- break;
- case "MD5":
- $entry['userPassword'] = "{MD5} " . base64_encode(pack("H*",md5($newPass)));
- break;
- default:
- throw new Exception("Unsupported encryption method requested");
- }
-
- if (ldap_mod_replace($this->conn,$user,$entry)) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-
- public function connect($server,$port) {
- if ($conn = ldap_connect($server,$port)) {
- // Connection established
- $this->connectionStatus = 1;
- ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
- ldap_set_option($conn, LDAP_OPT_DEBUG_LEVEL, 7);
- ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);
- $this->conn = $conn;
- return $conn;
- } else {
- // Connection failed
- return false;
- }
- }
-
- private function clearSingleSignOnInfo() {
- $oldCookie = $_COOKIE[SSO_COOKIE_KEY];
- setcookie(SSO_COOKIE_KEY, $oldCookie, 1, "/");
- }
-
- private function getSingleSignOnUsername() {
- $theCookie = $_COOKIE[SSO_COOKIE_KEY];
- if ($theCookie <> "") {
- $userpass = base64_decode(urldecode($theCookie));
- $userpassArr = explode(":", $userpass);
- return $userpassArr[0];
- } else
- return null;
- }
-
- private function createSingleSignOnCookie($username, $password) {
- if (!isset ($_COOKIE[SSO_COOKIE_KEY])) {
- $theCookieStrUnencoded = $username . ":" . $password;
- $theCookieStrEncoded = "\"".base64_encode($theCookieStrUnencoded)."\"";
- setcookie(SSO_COOKIE_KEY, $theCookieStrEncoded, time() + (86400 * 7), "/"); // expire in 1 day
- }
- }
-}
-?>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/sso/src/main/php/pear/package.xml
----------------------------------------------------------------------
diff --git a/sso/src/main/php/pear/package.xml b/sso/src/main/php/pear/package.xml
deleted file mode 100644
index fe6abcf..0000000
--- a/sso/src/main/php/pear/package.xml
+++ /dev/null
@@ -1,94 +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.
- */
-
- @package Org_Apache_Oodt_Security
- @author Chris A. Mattmann
- @author Andrew F. Hart
- @version $Revision$
--->
-<package version="2.0" xmlns="http://pear.php.net/dtd/package-2.0"
- xmlns:tasks="http://pear.php.net/dtd/tasks-1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0.xsd
- http://pear.php.net/dtd/package-2.0
- http://pear.php.net/dtd/package-2.0.xsd">
- <name>Apache_OODT_Security</name>
- <channel>pear.apache.org/oodt</channel>
- <summary>OODT Single Sign On Package</summary>
- <description>
- This package provides a PHP library for single sign-on for
- OODT applications which authenticate and authorize against an
- LDAP server.
- </description>
- <lead>
- <name>Andrew Hart</name>
- <user>ahart</user>
- <email>andrew.f.hart@jpl.nasa.gov</email>
- <active>yes</active>
- </lead>
- <date>2013-06-29</date>
- <version>
- <release>0.6.0</release>
- <api>0.6.0</api>
- </version>
- <stability>
- <release>stable</release>
- <api>stable</api>
- </stability>
- <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache Software License 2.0</license>
- <notes>
- This package provides a PHP library for single sign-on for
- OODT applications which authenticate and authorize against an
- LDAP server.
- </notes>
- <contents>
- <dir name="/" baseinstalldir="Org/Apache/Oodt/Security">
- <file name="Config.php" role="php"/>
- <file name="SingleSignOn.php" role="php"/>
- </dir><!-- / -->
- </contents>
- <dependencies>
- <required>
- <php>
- <min>5.1.6</min>
- </php>
- <pearinstaller>
- <min>1.6.1</min>
- </pearinstaller>
- </required>
- </dependencies>
- <phprelease />
- <changelog>
- <release>
- <version>
- <release>0.1.0</release>
- <api>0.1.0</api>
- </version>
- <stability>
- <release>stable</release>
- <api>stable</api>
- </stability>
- <date>2009-03-04</date>
- <license uri="http://oodt.jpl.nasa.gov">OODT License</license>
- <notes>
- This is the initial release of the OODT CAS Security utility as a PEAR package.
- </notes>
- </release>
- </changelog>
-</package>
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/README.txt
----------------------------------------------------------------------
diff --git a/vagrant/radix/README.txt b/vagrant/radix/README.txt
deleted file mode 100644
index eb2eddf..0000000
--- a/vagrant/radix/README.txt
+++ /dev/null
@@ -1,51 +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.
-
-##################################################################################
-#
-# README.txt
-#
-# @author riverma@apache.org
-#
-# @description This README describes how to setup, install, and run radix-vagrant.
-# After completing these steps, you will have a fully configured Ubuntu Virtual
-# Machine* running a fresh version of OODT RADiX.
-##################################################################################
-
-
-Requirements:
-1. 5GB of space to install VM on
-2. Vagrant: see http://www.vagrantup.com/
-3. VirtualBox: see https://www.virtualbox.org/wiki/Downloads
-
-Setup:
-1. Modify the contents of vagrant/env.sh to reflect your desired configuration
- - add your project name etc here
- - configure which type of RADiX build you want here (e.g. solr-enabled)
-2. Modify the Vagrantfile VM_NAME to name your VM (VM names must be unique)
-3. vagrant up
-NOTE: The above command will take up to 15 minutes the first time you run it.
-NOTE: All source files will be placed within /usr/local/src within the VM.
-
-Start:
-* NOTE: The provisioning script auto starts OODT, so you may skip to step 2
-1. (optional) Launch OODT if not already running below
- > cd $OODT_HOME/bin
- > ./oodt start
-2. Navigate to: http://localhost:8080/opsui
-
------
-* You can learn more about how to use your newly created virtual machine at:
-http://www.vagrantup.com/
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/Vagrantfile
----------------------------------------------------------------------
diff --git a/vagrant/radix/Vagrantfile b/vagrant/radix/Vagrantfile
deleted file mode 100644
index c067295..0000000
--- a/vagrant/radix/Vagrantfile
+++ /dev/null
@@ -1,129 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-# Virtual machine name
-VM_NAME = "oodt_radix_vm"
-
-# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
-VAGRANTFILE_API_VERSION = "2"
-
-Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
- # All Vagrant configuration is done here. The most common configuration
- # options are documented and commented below. For a complete reference,
- # please see the online documentation at vagrantup.com.
-
- # Every Vagrant virtual environment requires a box to build off of.
- config.vm.box = "chef/ubuntu-13.10"
-
- config.vm.define VM_NAME do |oodt_radix|
- end
- config.vm.provider :virtualbox do |vb|
- vb.name = VM_NAME
- end
-
- # The url from where the 'config.vm.box' box will be fetched if it
- # doesn't already exist on the user's system.
- # config.vm.box_url = "http://domain.com/path/to/above.box"
-
- # Create a forwarded port mapping which allows access to a specific port
- # within the machine from a port on the host machine. In the example below,
- # accessing "localhost:8080" will access port 80 on the guest machine.
- config.vm.network "forwarded_port", guest: 8080, host: 8080
-
- config.vm.provision :shell, :path => "vagrant/provision.sh", :privileged => false
-
- # Create a private network, which allows host-only access to the machine
- # using a specific IP.
- # config.vm.network "private_network", ip: "192.168.33.10"
-
- # Create a public network, which generally matched to bridged network.
- # Bridged networks make the machine appear as another physical device on
- # your network.
- # config.vm.network "public_network"
-
- # If true, then any SSH connections made will enable agent forwarding.
- # Default value: false
- # config.ssh.forward_agent = true
-
- # Share an additional folder to the guest VM. The first argument is
- # the path on the host to the actual folder. The second argument is
- # the path on the guest to mount the folder. And the optional third
- # argument is a set of non-required options.
- # config.vm.synced_folder "../data", "/vagrant_data"
-
- # Provider-specific configuration so you can fine-tune various
- # backing providers for Vagrant. These expose provider-specific options.
- # Example for VirtualBox:
- #
- # config.vm.provider "virtualbox" do |vb|
- # # Don't boot with headless mode
- # vb.gui = true
- #
- # # Use VBoxManage to customize the VM. For example to change memory:
- # vb.customize ["modifyvm", :id, "--memory", "1024"]
- # end
- #
- # View the documentation for the provider you're using for more
- # information on available options.
-
- # Enable provisioning with Puppet stand alone. Puppet manifests
- # are contained in a directory path relative to this Vagrantfile.
- # You will need to create the manifests directory and a manifest in
- # the file base.pp in the manifests_path directory.
- #
- # An example Puppet manifest to provision the message of the day:
- #
- # # group { "puppet":
- # # ensure => "present",
- # # }
- # #
- # # File { owner => 0, group => 0, mode => 0644 }
- # #
- # # file { '/etc/motd':
- # # content => "Welcome to Apache OODT RADiX! Built by Vagrant.
- # # Managed by Puppet.\n"
- # # }
- #
- # config.vm.provision "puppet" do |puppet|
- # puppet.manifests_path = "manifests"
- # puppet.manifest_file = "site.pp"
- # end
-
- # Enable provisioning with chef solo, specifying a cookbooks path, roles
- # path, and data_bags path (all relative to this Vagrantfile), and adding
- # some recipes and/or roles.
- #
- # config.vm.provision "chef_solo" do |chef|
- # chef.cookbooks_path = "../my-recipes/cookbooks"
- # chef.roles_path = "../my-recipes/roles"
- # chef.data_bags_path = "../my-recipes/data_bags"
- # chef.add_recipe "mysql"
- # chef.add_role "web"
- #
- # # You may also specify custom JSON attributes:
- # chef.json = { :mysql_password => "foo" }
- # end
-
- # Enable provisioning with chef server, specifying the chef server URL,
- # and the path to the validation key (relative to this Vagrantfile).
- #
- # The Opscode Platform uses HTTPS. Substitute your organization for
- # ORGNAME in the URL and validation key.
- #
- # If you have your own Chef Server, use the appropriate URL, which may be
- # HTTP instead of HTTPS depending on your configuration. Also change the
- # validation key to validation.pem.
- #
- # config.vm.provision "chef_client" do |chef|
- # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
- # chef.validation_key_path = "ORGNAME-validator.pem"
- # end
- #
- # If you're using the Opscode platform, your validator client is
- # ORGNAME-validator, replacing ORGNAME with your organization name.
- #
- # If you have your own Chef Server, the default validation client name is
- # chef-validator, unless you changed the configuration.
- #
- # chef.validation_client_name = "ORGNAME-validator"
-end
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/vagrant/conf/terminal/bashrc
----------------------------------------------------------------------
diff --git a/vagrant/radix/vagrant/conf/terminal/bashrc b/vagrant/radix/vagrant/conf/terminal/bashrc
deleted file mode 100644
index 8c21864..0000000
--- a/vagrant/radix/vagrant/conf/terminal/bashrc
+++ /dev/null
@@ -1,110 +0,0 @@
-# ~/.bashrc: executed by bash(1) for non-login shells.
-# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
-# for examples
-
-# If not running interactively, don't do anything
-[ -z "$PS1" ] && return
-
-# don't put duplicate lines or lines starting with space in the history.
-# See bash(1) for more options
-HISTCONTROL=ignoreboth
-
-# append to the history file, don't overwrite it
-shopt -s histappend
-
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=1000
-HISTFILESIZE=2000
-
-# check the window size after each command and, if necessary,
-# update the values of LINES and COLUMNS.
-shopt -s checkwinsize
-
-# If set, the pattern "**" used in a pathname expansion context will
-# match all files and zero or more directories and subdirectories.
-#shopt -s globstar
-
-# make less more friendly for non-text input files, see lesspipe(1)
-[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
-
-# set variable identifying the chroot you work in (used in the prompt below)
-if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
- debian_chroot=$(cat /etc/debian_chroot)
-fi
-
-# set a fancy prompt (non-color, unless we know we "want" color)
-case "$TERM" in
- xterm-color) color_prompt=yes;;
-esac
-
-# uncomment for a colored prompt, if the terminal has the capability; turned
-# off by default to not distract the user: the focus in a terminal window
-# should be on the output of commands, not on the prompt
-#force_color_prompt=yes
-
-if [ -n "$force_color_prompt" ]; then
- if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
- # We have color support; assume it's compliant with Ecma-48
- # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
- # a case would tend to support setf rather than setaf.)
- color_prompt=yes
- else
- color_prompt=
- fi
-fi
-
-if [ "$color_prompt" = yes ]; then
- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
-else
- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
-fi
-unset color_prompt force_color_prompt
-
-# If this is an xterm set the title to user@host:dir
-case "$TERM" in
-xterm*|rxvt*)
- PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
- ;;
-*)
- ;;
-esac
-
-# enable color support of ls and also add handy aliases
-if [ -x /usr/bin/dircolors ]; then
- test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
- alias ls='ls --color=auto'
- #alias dir='dir --color=auto'
- #alias vdir='vdir --color=auto'
-
- alias grep='grep --color=auto'
- alias fgrep='fgrep --color=auto'
- alias egrep='egrep --color=auto'
-fi
-
-# some more ls aliases
-alias ll='ls -alF'
-alias la='ls -A'
-alias l='ls -CF'
-
-# Add an "alert" alias for long running commands. Use like so:
-# sleep 10; alert
-alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
-
-# Alias definitions.
-# You may want to put all your additions into a separate file like
-# ~/.bash_aliases, instead of adding them here directly.
-# See /usr/share/doc/bash-doc/examples in the bash-doc package.
-
-if [ -f ~/.bash_aliases ]; then
- . ~/.bash_aliases
-fi
-
-# enable programmable completion features (you don't need to enable
-# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
-# sources /etc/bash.bashrc).
-if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
- . /etc/bash_completion
-fi
-
-# Export env.sh
-source /vagrant/vagrant/env.sh
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/vagrant/radix/vagrant/env.sh
----------------------------------------------------------------------
diff --git a/vagrant/radix/vagrant/env.sh b/vagrant/radix/vagrant/env.sh
deleted file mode 100644
index 9e2ac28..0000000
--- a/vagrant/radix/vagrant/env.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-# 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.
-
-# CHANGE BELOW FOR YOUR PROJECT NEEDS!
-export PROJECT_GROUP_ID=com.mycompany.mydms
-export PROJECT_ARTIFACT_ID=mycompany-myoodt
-export BUILD_FLAGS=-Pfm-solr-catalog # NOTE: more flag options at http://s.apache.org/CJL
-export OODT_DEPLOYMENT_HOME=/usr/local/oodt
-
-# General configuration (probably don't need to modify)
-export OODT_SRC_REPO=https://svn.apache.org/repos/asf/oodt/trunk # NOTE: This should match the below OODT version
-export OODT_VERSION=0.7-SNAPSHOT
-export JAVA_HOME=/usr/lib/jvm/default-java
-