diff options
Diffstat (limited to 'com.gluster.storage.management.server')
26 files changed, 224 insertions, 0 deletions
diff --git a/com.gluster.storage.management.server/.classpath b/com.gluster.storage.management.server/.classpath new file mode 100644 index 00000000..c96b5783 --- /dev/null +++ b/com.gluster.storage.management.server/.classpath @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_23"> + <attributes> + <attribute name="owner.project.facets" value="java"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0"> + <attributes> + <attribute name="owner.project.facets" value="jst.web"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> + <classpathentry combineaccessrules="false" kind="src" path="/com.gluster.storage.management.core"/> + <classpathentry kind="output" path="WebContent/WEB-INF/classes"/> +</classpath> diff --git a/com.gluster.storage.management.server/.project b/com.gluster.storage.management.server/.project new file mode 100644 index 00000000..cb36e33f --- /dev/null +++ b/com.gluster.storage.management.server/.project @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>com.gluster.storage.management.server</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> + </natures> +</projectDescription> diff --git a/com.gluster.storage.management.server/.settings/.jsdtscope b/com.gluster.storage.management.server/.settings/.jsdtscope new file mode 100644 index 00000000..3a28de0c --- /dev/null +++ b/com.gluster.storage.management.server/.settings/.jsdtscope @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="WebContent"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> + <attributes> + <attribute name="hide" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> + <classpathentry kind="output" path=""/> +</classpath> diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.jdt.core.prefs b/com.gluster.storage.management.server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..476db350 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Wed Dec 29 14:57:23 IST 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.ltk.core.refactoring.prefs b/com.gluster.storage.management.server/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 00000000..5d9c71b6 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Mon Jan 31 15:29:36 IST 2011 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component b/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component new file mode 100644 index 00000000..bb2eaf45 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project-modules id="moduleCoreId" project-version="1.5.0"> + <wb-module deploy-name="com.gluster.storage.management.server"> + <wb-resource deploy-path="/" source-path="/WebContent"/> + <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/> + <property name="java-output-path" value="/com.gluster.storage.management.server/build/classes"/> + <property name="context-root" value="glustermc"/> + </wb-module> +</project-modules> diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.project.facet.core.xml b/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 00000000..307f3bb7 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <runtime name="Apache Tomcat v7.0"/> + <fixed facet="wst.jsdt.web"/> + <fixed facet="jst.web"/> + <fixed facet="java"/> + <installed facet="java" version="1.6"/> + <installed facet="jst.web" version="3.0"/> + <installed facet="wst.jsdt.web" version="1.0"/> +</faceted-project> diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.container b/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 00000000..3bd5d0a4 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.name b/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 00000000..05bd71b6 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window
\ No newline at end of file diff --git a/com.gluster.storage.management.server/.settings/org.eclipse.wst.ws.service.policy.prefs b/com.gluster.storage.management.server/.settings/org.eclipse.wst.ws.service.policy.prefs new file mode 100644 index 00000000..e5ca6272 --- /dev/null +++ b/com.gluster.storage.management.server/.settings/org.eclipse.wst.ws.service.policy.prefs @@ -0,0 +1,3 @@ +#Mon Jan 31 15:29:36 IST 2011 +eclipse.preferences.version=1 +org.eclipse.wst.ws.service.policy.projectEnabled=false diff --git a/com.gluster.storage.management.server/WebContent/META-INF/MANIFEST.MF b/com.gluster.storage.management.server/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 00000000..5e949512 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0
+Class-Path:
+
diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/asm-3.1.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/asm-3.1.jar Binary files differnew file mode 100644 index 00000000..8217cae0 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/asm-3.1.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/com.gluster.storage.management.core_1.0.0.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/com.gluster.storage.management.core_1.0.0.jar Binary files differnew file mode 100644 index 00000000..2f689843 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/com.gluster.storage.management.core_1.0.0.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-core-asl-1.5.5.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-core-asl-1.5.5.jar Binary files differnew file mode 100644 index 00000000..a3248188 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-core-asl-1.5.5.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-jaxrs-1.5.5.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-jaxrs-1.5.5.jar Binary files differnew file mode 100644 index 00000000..faf12cf6 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-jaxrs-1.5.5.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-mapper-asl-1.5.5.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-mapper-asl-1.5.5.jar Binary files differnew file mode 100644 index 00000000..ca612580 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-mapper-asl-1.5.5.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-xc-1.5.5.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-xc-1.5.5.jar Binary files differnew file mode 100644 index 00000000..57c2c670 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-xc-1.5.5.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-client-1.4.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-client-1.4.jar Binary files differnew file mode 100644 index 00000000..e7debb0f --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-client-1.4.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-core-1.4.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-core-1.4.jar Binary files differnew file mode 100644 index 00000000..ae78fe33 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-core-1.4.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-json-1.4.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-json-1.4.jar Binary files differnew file mode 100644 index 00000000..78c14c1b --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-json-1.4.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-server-1.4.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-server-1.4.jar Binary files differnew file mode 100644 index 00000000..c420a6d8 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-server-1.4.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jettison-1.1.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jettison-1.1.jar Binary files differnew file mode 100644 index 00000000..e4e9c8c3 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jettison-1.1.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jsr311-api-1.1.1.jar b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jsr311-api-1.1.1.jar Binary files differnew file mode 100644 index 00000000..ec8bc818 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jsr311-api-1.1.1.jar diff --git a/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml b/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml new file mode 100644 index 00000000..36d65880 --- /dev/null +++ b/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> + <display-name>com.gluster.storage.management.server</display-name> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> + <welcome-file>index.jsp</welcome-file> + <welcome-file>default.html</welcome-file> + <welcome-file>default.htm</welcome-file> + <welcome-file>default.jsp</welcome-file> + </welcome-file-list> + <servlet> + <servlet-name>Jersey REST Service</servlet-name> + <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> + <init-param> + <param-name>com.sun.jersey.config.property.packages</param-name> + <param-value>com.gluster.storage.management.server.services</param-value> + </init-param> + <load-on-startup>1</load-on-startup> + </servlet> + <servlet-mapping> + <servlet-name>Jersey REST Service</servlet-name> + <url-pattern>/services/*</url-pattern> + </servlet-mapping> +</web-app>
\ No newline at end of file diff --git a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/AuthManager.java b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/AuthManager.java new file mode 100644 index 00000000..5dc4fdcf --- /dev/null +++ b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/AuthManager.java @@ -0,0 +1,63 @@ +package com.gluster.storage.management.server.services; + +import java.io.File; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.Request; + +import com.gluster.storage.management.core.model.AuthStatus; +import com.gluster.storage.management.core.utils.FileUtil; +import com.gluster.storage.management.core.utils.MD5Crypt; +import com.gluster.storage.management.core.utils.ProcessResult; +import com.gluster.storage.management.core.utils.ProcessUtil; + +import com.sun.jersey.spi.container.ContainerRequest; + +@Path("/login") +public class AuthManager { + @Context + private Request request; + + /** + * Authenticates given user with given password for login on current system + * @param user + * @param password + * @return true is user can be successfully authenticated using given password, else false + */ + private boolean authenticate(String user, String password) { + String tmpFileName = "tmp"; + File saltFile = new File(tmpFileName); + ProcessResult result = new ProcessUtil().executeCommand("get-user-password.py", user, tmpFileName); + if (result.isSuccess()) { + String salt = new FileUtil().readFileAsString(saltFile); + String encryptedPassword = MD5Crypt.crypt(password, salt); + return encryptedPassword.equals(salt); + } + + return false; + } + + @GET + @Produces(MediaType.TEXT_XML) + public AuthStatus login() { + String user = null; + String password = null; + + if (request instanceof ContainerRequest) { + ContainerRequest containerRequest = (ContainerRequest) request; + MultivaluedMap<String, String> paramsMap = containerRequest.getQueryParameters(); + user = paramsMap.get("user").get(0); + password = paramsMap.get("password").get(0); + } + + AuthStatus authStatus = new AuthStatus(); + authStatus.setIsAuthenticated(authenticate(user, password)); + + return authStatus; + } +} diff --git a/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/Hello.java b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/Hello.java new file mode 100644 index 00000000..eea0a36f --- /dev/null +++ b/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/Hello.java @@ -0,0 +1,32 @@ +package com.gluster.storage.management.server.services; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +//Sets the path to base URL + /hello +@Path("/hello") +public class Hello { + // This method is called if TEXT_PLAIN is request + @GET + @Produces(MediaType.TEXT_PLAIN) + public String sayPlainTextHello() { + return "Hello Jersey"; + } + + // This method is called if XMLis request + @GET + @Produces(MediaType.TEXT_XML) + public String sayXMLHello() { + return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>"; + } + + // This method is called if HTML is request + @GET + @Produces(MediaType.TEXT_HTML) + public String sayHtmlHello() { + return "<html> " + "<title>" + "Hello Jersey" + "</title>" + + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> "; + } +} |
