You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sdap.apache.org by le...@apache.org on 2017/10/27 22:34:50 UTC
[09/21] incubator-sdap-mudrod git commit: SDAP-1 Import all code
under the SDAP SGA
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/HybridRecomDatasetsResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/HybridRecomDatasetsResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/HybridRecomDatasetsResource.java
new file mode 100644
index 0000000..7ffc040
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/HybridRecomDatasetsResource.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.recommendation;
+
+import com.google.gson.JsonObject;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import gov.nasa.jpl.mudrod.recommendation.structure.HybridRecommendation;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+/**
+ * A hybrid recommendation resource for datasets.
+ */
+@Path("/hrecommendation")
+public class HybridRecomDatasetsResource {
+
+ private MudrodEngine mEngine;
+
+ public HybridRecomDatasetsResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ }
+
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Hybrid Recommendation Datasets Resource: running correctly...</h1>").build();
+ }
+
+ @GET
+ @Path("/search")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ public Response hybridRecommendation(@QueryParam("shortname") String shortName) {
+ JsonObject json = new JsonObject();
+ if (shortName != null) {
+ HybridRecommendation recom = new HybridRecommendation(mEngine.getConfig(), mEngine.getESDriver(), null);
+ json = new JsonObject();
+ json.add("HybridRecommendationData", recom.getRecomDataInJson(shortName, 10));
+ }
+ return Response.ok(json.toString(), MediaType.APPLICATION_JSON).build();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/RecomDatasetsResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/RecomDatasetsResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/RecomDatasetsResource.java
new file mode 100644
index 0000000..75e043c
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/RecomDatasetsResource.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.recommendation;
+
+import com.google.gson.JsonObject;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import gov.nasa.jpl.mudrod.recommendation.structure.RecomData;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+;
+
+/**
+ * A Dataset recommendation resource.
+ */
+@Path("/recommendation")
+public class RecomDatasetsResource {
+
+ private MudrodEngine mEngine;
+
+ public RecomDatasetsResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ }
+
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Recommendation Datasets Resource: running correctly...</h1>").build();
+ }
+
+ @PUT
+ @Path("{shortname}")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ public Response hybridRecommendation(@PathParam("shortname") String shortName) {
+ JsonObject json = new JsonObject();
+ if (shortName != null) {
+ RecomData recom = new RecomData(mEngine.getConfig(), mEngine.getESDriver(), null);
+ json = new JsonObject();
+ json.add("RecommendationData", recom.getRecomDataInJson(shortName, 10));
+ }
+ return Response.ok(json.toString(), MediaType.APPLICATION_JSON).build();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/package-info.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/package-info.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/package-info.java
new file mode 100644
index 0000000..2ac9330
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/recommendation/package-info.java
@@ -0,0 +1,17 @@
+/*
+ * Licensed 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.
+ */
+/**
+ * Mudrod recommendation resources.
+ */
+package gov.nasa.jpl.mudrod.services.recommendation;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchDatasetDetailResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchDatasetDetailResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchDatasetDetailResource.java
new file mode 100644
index 0000000..ce20569
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchDatasetDetailResource.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.search;
+
+import gov.nasa.jpl.mudrod.main.MudrodConstants;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * A Dataset Detail Search Resource
+ */
+@Path("/datasetdetail")
+public class SearchDatasetDetailResource {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SearchDatasetDetailResource.class);
+ private MudrodEngine mEngine;
+
+ public SearchDatasetDetailResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ }
+
+ /**
+ * A simple health status checker for this resource.
+ *
+ * @return a static html response if the service is running correctly.
+ */
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Dataset Detail Search Resource: running correctly...</h1>").build();
+ }
+
+ @GET
+ @Path("/search")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ public Response searchDatasetDetail(@QueryParam("shortname") String shortName) {
+ Properties config = mEngine.getConfig();
+ String dataDetailJson = null;
+ try {
+ String query = "Dataset-ShortName:\"" + shortName + "\"";
+ dataDetailJson = mEngine.getESDriver().searchByQuery(config.getProperty(MudrodConstants.ES_INDEX_NAME), config.getProperty(MudrodConstants.RAW_METADATA_TYPE), query, true);
+ } catch (InterruptedException | ExecutionException | IOException e) {
+ LOG.error("Error whilst searching for a Dataset-ShortName: ", e);
+ }
+ LOG.info("Response received: {}", dataDetailJson);
+ return Response.ok(dataDetailJson, MediaType.APPLICATION_JSON).build();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchMetadataResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchMetadataResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchMetadataResource.java
new file mode 100644
index 0000000..b9dc501
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchMetadataResource.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.search;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import gov.nasa.jpl.mudrod.main.MudrodConstants;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import gov.nasa.jpl.mudrod.ssearch.Ranker;
+import gov.nasa.jpl.mudrod.ssearch.Searcher;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.Properties;
+
+/**
+ * A Mudrod Metadata Search Resource
+ */
+@Path("/metadata")
+public class SearchMetadataResource {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SearchMetadataResource.class);
+
+ private MudrodEngine mEngine;
+ private Searcher searcher;
+ private Ranker ranker;
+
+ public SearchMetadataResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ this.searcher = (Searcher) sc.getAttribute("MudrodSearcher");
+ this.ranker = (Ranker) sc.getAttribute("MudrodRanker");
+ }
+
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Metadata Search Resource: running correctly...</h1>").build();
+ }
+
+ @GET
+ @Path("/search")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ public Response searchMetadata(@QueryParam("query") String query, @QueryParam("operator") String operator, @QueryParam("rankoption") String rankoption) {
+ Properties config = mEngine.getConfig();
+ String fileList = searcher
+ .ssearch(config.getProperty(MudrodConstants.ES_INDEX_NAME), config.getProperty(MudrodConstants.RAW_METADATA_TYPE), query, operator, //please replace it with and, or, phrase
+ rankoption, ranker);
+ Gson gson = new GsonBuilder().create();
+ String json = gson.toJson(gson.fromJson(fileList, JsonObject.class));
+ LOG.debug("Response received: {}", json);
+ return Response.ok(json, MediaType.APPLICATION_JSON).build();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchVocabResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchVocabResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchVocabResource.java
new file mode 100644
index 0000000..ab4c661
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SearchVocabResource.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.search;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import gov.nasa.jpl.mudrod.integration.LinkageIntegration;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+/**
+ * A Mudrod Search Vocabulary Resource
+ */
+@Path("/vocabulary")
+public class SearchVocabResource {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SearchMetadataResource.class);
+
+ private MudrodEngine mEngine;
+
+ public SearchVocabResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ }
+
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Vocabulary Search Resource: running correctly...</h1>").build();
+ }
+
+ @GET
+ @Path("/search")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ public Response searchVocabulary(@QueryParam("query") String concept) {
+ JsonObject json = new JsonObject();
+ if (concept != null) {
+ LinkageIntegration li = new LinkageIntegration(mEngine.getConfig(), mEngine.getESDriver(), null);
+ json = new JsonObject();
+ json.add("graph", li.getIngeratedListInJson(concept));
+ }
+ LOG.info("Response received: {}", json);
+ return Response.ok(new Gson().toJson(json), MediaType.APPLICATION_JSON).build();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SessionDetailResource.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SessionDetailResource.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SessionDetailResource.java
new file mode 100644
index 0000000..fcbe3c6
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/SessionDetailResource.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed 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 gov.nasa.jpl.mudrod.services.search;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import gov.nasa.jpl.mudrod.main.MudrodConstants;
+import gov.nasa.jpl.mudrod.main.MudrodEngine;
+import gov.nasa.jpl.mudrod.weblog.structure.Session;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+/**
+ * Servlet implementation class SessionDetail
+ */
+@Path("/sessiondetail")
+public class SessionDetailResource {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SessionDetailResource.class);
+ private MudrodEngine mEngine;
+
+ /**
+ * Constructor
+ *
+ * @param sc an instantiated {@link javax.servlet.ServletContext}
+ */
+ public SessionDetailResource(@Context ServletContext sc) {
+ this.mEngine = (MudrodEngine) sc.getAttribute("MudrodInstance");
+ }
+
+ @GET
+ @Path("/status")
+ @Produces("text/html")
+ public Response status() {
+ return Response.ok("<h1>This is MUDROD Session Detail Search Resource: running correctly...</h1>").build();
+ }
+
+ @POST
+ @Path("{CleanupType}-{SessionID}")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes("text/plain")
+ protected Response searchSessionDetail(@PathParam("CleanupType") String cleanupType, @PathParam("SessionID") String sessionID) {
+
+ JsonObject json = new JsonObject();
+ if (sessionID != null) {
+ Session session = new Session(mEngine.getConfig(), mEngine.getESDriver());
+ json = session.getSessionDetail(mEngine.getConfig().getProperty(MudrodConstants.ES_INDEX_NAME, "mudrod"), cleanupType, sessionID);
+ }
+ LOG.info("Response received: {}", json);
+ return Response.ok(new Gson().toJson(json), MediaType.APPLICATION_JSON).build();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/java/gov/nasa/jpl/mudrod/services/search/package-info.java
----------------------------------------------------------------------
diff --git a/service/src/main/java/gov/nasa/jpl/mudrod/services/search/package-info.java b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/package-info.java
new file mode 100644
index 0000000..abcfb07
--- /dev/null
+++ b/service/src/main/java/gov/nasa/jpl/mudrod/services/search/package-info.java
@@ -0,0 +1,17 @@
+/*
+ * Licensed 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.
+ */
+/**
+ * Mudrod search-related resources.
+ */
+package gov.nasa.jpl.mudrod.services.search;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/service/src/main/resources/log4j.properties b/service/src/main/resources/log4j.properties
new file mode 100644
index 0000000..482a580
--- /dev/null
+++ b/service/src/main/resources/log4j.properties
@@ -0,0 +1,63 @@
+# Licensed 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.
+# Define some default values that can be overridden by system properties
+# Logging Threshold
+mudrod.root.logger=INFO,DRFA, stdout
+mudrod.log.dir=.
+mudrod.log.file=mudrod_service.log
+log4j.threshhold=ALL
+# RootLogger - DailyRollingFileAppender
+log4j.rootLogger=${mudrod.root.logger}
+#special logging requirements for some commandline tools
+log4j.logger.MudrodEngine=INFO,cmdstdout
+#
+# Daily Rolling File Appender
+#
+log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.DRFA.File=${mudrod.log.dir}/${mudrod.log.file}
+# Rollver at midnight
+log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
+# 30-day backup
+#log4j.appender.DRFA.MaxBackupIndex=30
+log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
+# Pattern format: Date LogLevel LoggerName LogMessage
+log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n
+# Debugging Pattern format: Date LogLevel LoggerName (FileName:MethodName:LineNo) LogMessage
+#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+#
+# stdout
+# Add *stdout* to rootlogger above if you want to use this
+#
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+#
+# plain layout used for commandline tools to output to console
+#
+log4j.appender.cmdstdout=org.apache.log4j.ConsoleAppender
+log4j.appender.cmdstdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.cmdstdout.layout.ConversionPattern=%m%n
+#
+# Rolling File Appender
+#
+#log4j.appender.RFA=org.apache.log4j.RollingFileAppender
+#log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}
+# Logfile size and and 30-day backups
+#log4j.appender.RFA.MaxFileSize=1MB
+#log4j.appender.RFA.MaxBackupIndex=30
+#log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
+#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n
+#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+# Custom Logging levels
+log4j.logger.akka=WARN
+log4j.logger.org.apache=WARN
+log4j.logger.gov.nasa.jpl.mudrod=INFO
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/webapp/META-INF/context.xml
----------------------------------------------------------------------
diff --git a/service/src/main/webapp/META-INF/context.xml b/service/src/main/webapp/META-INF/context.xml
new file mode 100644
index 0000000..1fc4b99
--- /dev/null
+++ b/service/src/main/webapp/META-INF/context.xml
@@ -0,0 +1,18 @@
+<?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.
+-->
+<Context path="/mudrod-service">
+
+</Context>
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/service/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/service/src/main/webapp/WEB-INF/web.xml b/service/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..38bb88e
--- /dev/null
+++ b/service/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed 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.
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
+
+ <display-name>MUDROD</display-name>
+ <servlet>
+ <servlet-name>CXFServlet</servlet-name>
+ <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
+ </servlet-class>
+ <init-param>
+ <param-name>jaxrs.serviceClasses</param-name>
+ <param-value>
+ gov.nasa.jpl.mudrod.services.autocomplete.AutoCompleteResource,
+ gov.nasa.jpl.mudrod.services.search.SearchDatasetDetailResource,
+ gov.nasa.jpl.mudrod.services.recommendation.HybridRecomDatasetsResource,
+ gov.nasa.jpl.mudrod.services.recommendation.RecomDatasetsResource,
+ gov.nasa.jpl.mudrod.services.search.SearchMetadataResource,
+ gov.nasa.jpl.mudrod.services.search.SearchVocabResource,
+ gov.nasa.jpl.mudrod.services.search.SessionDetailResource,
+ gov.nasa.jpl.mudrod.services.ontology.OntologyResource,
+ </param-value>
+ </init-param>
+ <init-param>
+ <param-name>jaxrs.providers</param-name>
+ <param-value>gov.nasa.jpl.mudrod.services.DefaultExceptionMapper</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <listener>
+ <listener-class>gov.nasa.jpl.mudrod.services.MudrodContextListener
+ </listener-class>
+ </listener>
+
+ <servlet-mapping>
+ <servlet-name>CXFServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/sonar-project.properties
----------------------------------------------------------------------
diff --git a/sonar-project.properties b/sonar-project.properties
new file mode 100644
index 0000000..8b8e884
--- /dev/null
+++ b/sonar-project.properties
@@ -0,0 +1,25 @@
+# Licensed 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.
+
+# must be unique in a given SonarQube instance
+sonar.projectKey=gov.nasa.jpl.mudrod:mudrod-parent
+# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
+#sonar.projectName=Mudrod :: Parent
+#sonar.projectVersion=0.0.1-SNAPSHOT
+
+# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
+# This property is optional if sonar.modules is set.
+sonar.sources=.
+
+# Encoding of the source code. Default is default system encoding
+#sonar.sourceEncoding=UTF-8
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.classpath
----------------------------------------------------------------------
diff --git a/web/.classpath b/web/.classpath
new file mode 100644
index 0000000..93e3cde
--- /dev/null
+++ b/web/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="META-INF" output="target/classes/META-INF" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+</classpath>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.project
----------------------------------------------------------------------
diff --git a/web/.project b/web/.project
new file mode 100644
index 0000000..c7705cb
--- /dev/null
+++ b/web/.project
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>mudrod-web</name>
+ <comment>MUDROD: Mining and Utilizing Dataset Relevancy from
+ Oceanographic Datasets
+ to Improve Data Discovery and Access. MUDROD is a semantic discovery and
+ search project
+ funded by NASA AIST (NNX15AM85G). NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/web/.settings/org.eclipse.jdt.core.prefs b/web/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..45a6e0e
--- /dev/null
+++ b/web/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.settings/org.eclipse.m2e.core.prefs
----------------------------------------------------------------------
diff --git a/web/.settings/org.eclipse.m2e.core.prefs b/web/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/web/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.settings/org.eclipse.wst.common.component
----------------------------------------------------------------------
diff --git a/web/.settings/org.eclipse.wst.common.component b/web/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..0da6e11
--- /dev/null
+++ b/web/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="mudrod-web">
+ <wb-resource deploy-path="/" source-path="/META-INF"/>
+ <wb-resource deploy-path="/" source-path="/src/main/java"/>
+ </wb-module>
+</project-modules>
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/.settings/org.eclipse.wst.common.project.facet.core.xml
----------------------------------------------------------------------
diff --git a/web/.settings/org.eclipse.wst.common.project.facet.core.xml b/web/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..a1f6907
--- /dev/null
+++ b/web/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <installed facet="java" version="1.5"/>
+ <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/META-INF/resources/css/footer.css
----------------------------------------------------------------------
diff --git a/web/META-INF/resources/css/footer.css b/web/META-INF/resources/css/footer.css
new file mode 100644
index 0000000..7e0732e
--- /dev/null
+++ b/web/META-INF/resources/css/footer.css
@@ -0,0 +1,19 @@
+/*
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0 Unless
+
+ required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS"
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+express or implied. See the License for the specific language
+governing permissions and limitations under the License.
+*/
+
+/*
+
+This file can be used to provide customized css for the customized footer provided in partials/footer.html for the MUDROD website. It is currently left empty.
+
+*/
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/META-INF/resources/css/index.css
----------------------------------------------------------------------
diff --git a/web/META-INF/resources/css/index.css b/web/META-INF/resources/css/index.css
new file mode 100644
index 0000000..8512cc0
--- /dev/null
+++ b/web/META-INF/resources/css/index.css
@@ -0,0 +1,445 @@
+html, body {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+}
+
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ background-color: black;
+}
+
+h1, h2, h3, p {
+ margin: 0 0 .2em 0;
+}
+
+.toolbar {
+ background-color: #2276ac;
+ height: 60px;
+}
+
+article, aside, details, figcaption, figure, header, hgroup, main, menu, nav, section, summary {
+ display: block;
+}
+
+header h1 {
+ margin: 0;
+}
+
+.toolbar a:link, .toolbar a:visited {
+ color: #fff;
+}
+
+header h1 > a {
+ margin-top: 10px;
+}
+
+a {
+ color: #428bca;
+ text-decoration: none;
+ background-color: transparent;
+}
+
+a:focus, a:hover {
+ text-decoration: none;
+}
+
+b, strong {
+ font-weight: bold;
+}
+
+a:link, a:visited {
+ color: #2980b9;
+}
+
+.view-area-fixed {
+ width: 100%;
+ padding-top: 1em;
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: 0 0;
+ background-image: url('../images/OceanWave.jpg');
+ background-color: transparent;
+ background-attachment: fixed;
+}
+
+.view-area-scroll {
+ width: 100%;
+ height: 800px;
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: 0 0;
+ background-image: url('../images/OceanWave.jpg');
+ background-color: transparent;
+ background-attachment: scroll;
+}
+
+.landing-dialog {
+ flex: 1;
+ padding: 6em;
+ width: 80%;
+ margin: 15em auto 15em;
+ color: #fff;
+ border-radius: 6px;
+ box-shadow: 0 0 20px 0 rgba(17, 17, 17, 0.7);
+}
+
+.landing-dialog-header, .noscript, .old-ie {
+ padding: 1em 1.5em;
+}
+
+.landing-dialog-header h2, .noscript h2, .old-ie h2 {
+ font-weight: normal;
+ margin: 0 0 .2em 0;
+ font-size: 2.2em;
+ text-shadow: 1px 1px 1px #111;
+}
+
+.searchBox {
+ height: 100px;
+ padding: .5em 0;
+ background: transparent;
+ margin-left: .5em;
+}
+
+.panel-title {
+ font-size: 1.5em;
+}
+
+.rankoption {
+ background-color: white;
+ color: black;
+ float: right;
+}
+
+.autocomplete {
+ overflow-y: auto;
+ height: 15em;
+ color: black;
+}
+
+.toolbar .form {
+ display: inline-block;
+}
+
+.toolbar p {
+ margin: 0;
+}
+
+.tt-input {
+ vertical-align: baseline !important;
+}
+
+input[type="text"], input[type="search"], input[type="password"], textarea {
+ padding: 5px;
+ outline: none;
+ min-width: 150px;
+ color: #424242;
+}
+
+.toolbar .tt-query, .toolbar .tt-hint, .toolbar .tt-input {
+ padding: 11px;
+ margin: 2px 0 0 20px;
+ width: 540px;
+ border: 1px solid #236d9e;
+ border-radius: 3px;
+ box-shadow: inset 0 1px 5px 1px rgba(0, 0, 0, 0.2);
+}
+
+.dropdown {
+ display: inline-block;
+ position: relative;
+}
+
+.button, input[type="button"], input[type="reset"], input[type="submit"], button {
+ text-decoration: none;
+ display: inline-block;
+ padding: 8px 12px;
+ border-radius: 3px;
+ outline: none;
+ color: #fff;
+}
+
+.toolbar .button, .toolbar input[type="button"], .toolbar input[type="reset"], .toolbar input[type="submit"] {
+ border: 1px solid #2c3e50;
+ background: #1a5981;
+ color: #fff;
+ text-shadow: none;
+}
+
+.btn-search, .btn-search:hover, .btn-search:focus, .btn-search:active, .btn-search.active, .open .dropdown-toggle.btn-search, .btn-search:active:focus, .btn-search:active:hover, .btn-search.active:hover, .btn-search.active:focus {
+ background-color: #1a5981;
+ border-color: #1a5981;
+ color: #FFFFFF;
+ padding: 9px 12px 9px 12px;
+ font-size: 1.3em;
+}
+
+.checkbox-inline, .radio-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: 400;
+ vertical-align: middle;
+ cursor: pointer;
+}
+
+.radio {
+ padding-left: 20px;
+}
+
+.radio.radio-inline {
+ margin-top: 0;
+}
+
+.radio input[type="radio"] {
+ opacity: 0;
+ z-index: 1;
+}
+
+.radio label {
+ display: inline-block;
+ vertical-align: middle;
+ position: relative;
+ padding-left: 5px;
+}
+
+.radio label::before {
+ content: "";
+ display: inline-block;
+ position: absolute;
+ width: 17px;
+ height: 17px;
+ left: 0;
+ margin-left: -20px;
+ border: 1px solid #cccccc;
+ border-radius: 50%;
+ background-color: #fff;
+ -webkit-transition: border 0.15s ease-in-out;
+ -o-transition: border 0.15s ease-in-out;
+ transition: border 0.15s ease-in-out;
+}
+
+.radio label::after {
+ display: inline-block;
+ position: absolute;
+ content: " ";
+ width: 11px;
+ height: 11px;
+ left: 3px;
+ top: 3px;
+ margin-left: -20px;
+ border-radius: 50%;
+ background-color: #5bc0de;
+ -webkit-transform: scale(0, 0);
+ -ms-transform: scale(0, 0);
+ -o-transform: scale(0, 0);
+ transform: scale(0, 0);
+ -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
+ -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
+ -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
+ transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
+}
+
+.radio-info input[type="radio"]:checked + label::before {
+ border-color: #5bc0de;
+}
+
+.radio-info input[type="radio"] + label::after {
+ background-color: #5bc0de;
+}
+
+.radio input[type="radio"]:checked + label::after {
+ -webkit-transform: scale(1, 1);
+ -ms-transform: scale(1, 1);
+ -o-transform: scale(1, 1);
+ transform: scale(1, 1);
+}
+
+.radio-info input[type="radio"]:checked + label::after {
+ background-color: #5bc0de;
+}
+
+a {
+ cursor: pointer;
+}
+
+.sidenav {
+ height: 100%;
+ transition: 0.5s;
+}
+
+.sidenav a {
+ padding: 8px 8px 8px 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-decoration: none;
+ color: #2980b9;
+ display: block;
+ transition: 0.3s;
+}
+
+.sidenav a:hover, .offcanvas a:focus {
+ color: #8ab9e7;
+}
+
+.sidenav h4 a {
+ padding: 2px 8px 0 10px;
+ color: white;
+}
+
+.sidenav .learn-more a {
+ font-size: 0.9em;
+ font-style: italic;
+ text-align: center;
+}
+
+.no-gutter > [class*='col-'] {
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+.content-holder .post-holder {
+ padding-top: 0;
+}
+
+.post-holder .panel-body {
+ overflow-x: auto;
+}
+
+.post-holder .post {
+ background-color: #FFFFFF;
+ border-bottom: 1px solid #c3c3c3;
+ padding: 14px 16px;
+}
+
+.content-holder .heading-t3 {
+ height: 42px;
+ margin-bottom: 16px;
+}
+
+.content-holder .heading-t3, .heading-t3 {
+ background: #738dca;
+ padding: 0 18px 0 16px;
+ overflow: hidden;
+}
+
+.content-holder .heading-t3 .title {
+ display: inline-block;
+ vertical-align: top;
+ padding: 6px 8px;
+}
+
+.list-related-searches {
+ text-align: left;
+ border-bottom: 2px solid #069;
+ padding-bottom: 10px;
+ margin-bottom: 6px;
+ list-style: none;
+}
+
+.heading-t4 {
+ background: #fff;
+ border-top: 6px solid #738dca;
+ border-bottom: 6px solid #738dca;
+ overflow: hidden;
+ font-size: 1.2em;
+}
+
+.search-form {
+ position: relative;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+.form-group {
+ margin-bottom: 15px;
+}
+
+.search-form button {
+ position: absolute;
+ right: 10px;
+ top: 3px;
+ border: 0;
+ padding: 0;
+ background: none;
+}
+
+.ico-search {
+ display: inline-block;
+ background: url(../images/sprite.png) no-repeat 0 0;
+ width: 17px;
+ height: 23px;
+}
+
+.search-form #query {
+ height: 28px;
+ border: 2px solid #39c;
+ border-radius: 14px;
+ line-height: 20px;
+ padding: 1px 35px 1px 15px;
+ width: 100%;
+ background: #f3f3f3;
+ box-shadow: none !important;
+}
+
+.searchOption {
+ color: white;
+}
+
+li {
+ cursor: default;
+}
+
+.search-ul {
+ position: absolute;
+ z-index: 1000;
+ min-width: 195px;
+ width: 20%;
+ list-style: none;
+ text-align: left;
+}
+
+#spinner {
+ text-align: center;
+}
+
+#spinner img{
+ height: 10em;
+}
+
+/* button recolor */
+.nav-pills > li.active > a, .btn-primary {
+ background-color: #069;
+ border-color: #069;
+ border-radius: 4px;
+}
+
+.mudrod-navbar {
+ margin-bottom: 0;
+ padding-left: 1em;
+ padding-right: 1em;
+}
+
+.mudrod-navbar #searchForm {
+ width: 50%;
+}
+
+.mudrod-navbar #searchForm .form-group {
+ width: 100%;
+}
+
+.mudrod-navbar #searchForm .form-group input {
+ width: 45%;
+}
+
+.mudrod-navbar .nav-item {
+ margin: 1em 0 0 1em;
+}
+
+.mudrod-footer {
+ color: white;
+ padding-left: 2em;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/META-INF/resources/css/main-header.css
----------------------------------------------------------------------
diff --git a/web/META-INF/resources/css/main-header.css b/web/META-INF/resources/css/main-header.css
new file mode 100644
index 0000000..8494e09
--- /dev/null
+++ b/web/META-INF/resources/css/main-header.css
@@ -0,0 +1,19 @@
+/*
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0 Unless
+
+ required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS"
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+express or implied. See the License for the specific language
+governing permissions and limitations under the License.
+*/
+
+/*
+
+This file can be used to provide customized css for the customized header provided in partials/main-header.html for the MUDROD website. It is currently left empty.
+
+*/
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-sdap-mudrod/blob/7b76fa16/web/META-INF/resources/fonts/glyphicons-halflings-regular.eot
----------------------------------------------------------------------
diff --git a/web/META-INF/resources/fonts/glyphicons-halflings-regular.eot b/web/META-INF/resources/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..b93a495
Binary files /dev/null and b/web/META-INF/resources/fonts/glyphicons-halflings-regular.eot differ