diff --git a/ccm-core/src/com/arsdigita/bebop/page/BebopApplicationServlet.java b/ccm-core/src/com/arsdigita/bebop/page/BebopApplicationServlet.java
index 6b9f764ed..195516a63 100755
--- a/ccm-core/src/com/arsdigita/bebop/page/BebopApplicationServlet.java
+++ b/ccm-core/src/com/arsdigita/bebop/page/BebopApplicationServlet.java
@@ -62,6 +62,7 @@ public class BebopApplicationServlet extends BaseApplicationServlet {
*
* @throws ServletException
*/
+ @Override
public void init() throws ServletException {
super.init();
}
@@ -83,7 +84,7 @@ public class BebopApplicationServlet extends BaseApplicationServlet {
/**
*
* disable client/middleware caching of specified page.
- * @param pathinfo - the same path used to add the page when put was called
+ * @param pathInfo - the same path used to add the page when put was called
*/
protected final void disableClientCaching(String pathInfo) {
Assert.exists(pathInfo, String.class);
diff --git a/ccm-core/src/com/arsdigita/web/BaseDispatcher.java b/ccm-core/src/com/arsdigita/web/BaseDispatcher.java
index 73d962f01..b60b89b50 100755
--- a/ccm-core/src/com/arsdigita/web/BaseDispatcher.java
+++ b/ccm-core/src/com/arsdigita/web/BaseDispatcher.java
@@ -26,7 +26,6 @@ import com.arsdigita.persistence.TransactionContext;
import com.arsdigita.profiler.Profiler;
import com.arsdigita.util.Assert;
import com.arsdigita.util.StringUtils;
-import com.arsdigita.web.Application;
import java.io.IOException;
import java.math.BigDecimal;
diff --git a/ccm-sci-publications/pdl/com/arsdigita/scipublications/PublicationExporter.pdl b/ccm-sci-publications/pdl/com/arsdigita/scipublications/SciPublications.pdl
similarity index 89%
rename from ccm-sci-publications/pdl/com/arsdigita/scipublications/PublicationExporter.pdl
rename to ccm-sci-publications/pdl/com/arsdigita/scipublications/SciPublications.pdl
index fcc32f516..32aacb911 100644
--- a/ccm-sci-publications/pdl/com/arsdigita/scipublications/PublicationExporter.pdl
+++ b/ccm-sci-publications/pdl/com/arsdigita/scipublications/SciPublications.pdl
@@ -23,6 +23,6 @@ model com.arsdigita.cms.scipublications;
import com.arsdigita.web.Application;
-object type PublicationExporter extends Application {
- reference key (publication_exporter.application_id);
+object type SciPublications extends Application {
+ reference key (scipublications.application_id);
}
diff --git a/ccm-sci-publications/src/ccm-sci-publications.load b/ccm-sci-publications/src/ccm-sci-publications.load
index f61d25620..6a1973b1e 100644
--- a/ccm-sci-publications/src/ccm-sci-publications.load
+++ b/ccm-sci-publications/src/ccm-sci-publications.load
@@ -42,7 +42,7 @@
-
+
@@ -64,6 +64,6 @@
-
+
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterServlet.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterServlet.java
deleted file mode 100644
index be326529d..000000000
--- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterServlet.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.arsdigita.cms.scipublications;
-
-import com.arsdigita.web.Application;
-import com.arsdigita.web.BaseApplicationServlet;
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- *
- * @author Jens Pelzetter
- */
-public class PublicationExporterServlet extends BaseApplicationServlet {
-
- private static final long serialVersionUID = -632365939651657874L;
-
- @Override
- protected void doService(HttpServletRequest request,
- HttpServletResponse response,
- Application app) throws ServletException,
- IOException {
- response.setContentType("application/text");
- response.setHeader("Content-Disposition", "attachment; filename=ccm-publication-exporter.txt");
- response.getWriter().append("This is the sci-publication-exporter");
- }
-}
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporter.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublications.java
similarity index 59%
rename from ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporter.java
rename to ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublications.java
index 51b416b21..e18364e25 100644
--- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporter.java
+++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublications.java
@@ -10,25 +10,25 @@ import java.math.BigDecimal;
*
* @author Jens Pelzetter
*/
-public class PublicationExporter extends Application {
+public class SciPublications extends Application {
- public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.scipublications.PublicationExporter";
+ public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.scipublications.SciPublications";
- public PublicationExporter(DataObject dobj) {
+ public SciPublications(DataObject dobj) {
super(dobj);
}
- public PublicationExporter(OID oid) throws DataObjectNotFoundException{
+ public SciPublications(OID oid) throws DataObjectNotFoundException{
super(oid);
}
- public PublicationExporter(BigDecimal key) throws DataObjectNotFoundException {
+ public SciPublications(BigDecimal key) throws DataObjectNotFoundException {
this(new OID(BASE_DATA_OBJECT_TYPE, key));
}
@Override
public String getServletPath() {
- return "/scipublicationsexporter/";
+ return "/scipublications/";
}
}
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsInitializer.java
similarity index 89%
rename from ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterInitializer.java
rename to ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsInitializer.java
index 71d1965ad..66ee13206 100644
--- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterInitializer.java
+++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsInitializer.java
@@ -12,9 +12,9 @@ import com.arsdigita.runtime.RuntimeConfig;
*
* @author Jens Pelzetter
*/
-public class PublicationExporterInitializer extends CompoundInitializer {
+public class SciPublicationsInitializer extends CompoundInitializer {
- public PublicationExporterInitializer() {
+ public SciPublicationsInitializer() {
final String url = RuntimeConfig.getConfig().getJDBCURL();
final int database = DbHelper.getDatabaseFromURL(url);
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterLoader.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsLoader.java
similarity index 74%
rename from ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterLoader.java
rename to ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsLoader.java
index 1d9f70c5d..deec5dc0f 100644
--- a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/PublicationExporterLoader.java
+++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsLoader.java
@@ -16,10 +16,10 @@ import org.apache.log4j.Logger;
*
* @author Jens Pelzetter
*/
-public class PublicationExporterLoader extends PackageLoader {
+public class SciPublicationsLoader extends PackageLoader {
private static final Logger logger = Logger.getLogger(
- PublicationExporterLoader.class);
+ SciPublicationsLoader.class);
@Override
public void run(final ScriptContext ctx) {
@@ -33,16 +33,16 @@ public class PublicationExporterLoader extends PackageLoader {
ApplicationSetup setup = new ApplicationSetup(logger);
setup.setApplicationObjectType(
- PublicationExporter.BASE_DATA_OBJECT_TYPE);
- setup.setKey("scipubliationsexporter");
- setup.setTitle("sci-publication Exporter");
+ SciPublications.BASE_DATA_OBJECT_TYPE);
+ setup.setKey("scipubliations");
+ setup.setTitle("sci-publications");
setup.setDescription(
- "Exports publication data in various formats");
+ "Provides several functions like export and import for publications.");
//setup.setSingleton(true);
setup.setInstantiator(new ACSObjectInstantiator() {
@Override
public DomainObject doNewInstance(DataObject dataObject) {
- return new PublicationExporter(dataObject);
+ return new SciPublications(dataObject);
}
});
@@ -50,10 +50,10 @@ public class PublicationExporterLoader extends PackageLoader {
type.save();
if (!Application.isInstalled(
- PublicationExporter.BASE_DATA_OBJECT_TYPE, "/scipublicationsexporter/")) {
+ SciPublications.BASE_DATA_OBJECT_TYPE, "/scipublications/")) {
Application app = Application.createApplication(type,
- "scipublicationsexporter",
- "PublicationExporter",
+ "scipublications",
+ "SciPublications",
null);
app.save();
}
diff --git a/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsServlet.java b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsServlet.java
new file mode 100644
index 000000000..8eedcf16f
--- /dev/null
+++ b/ccm-sci-publications/src/com/arsdigita/cms/scipublications/SciPublicationsServlet.java
@@ -0,0 +1,75 @@
+package com.arsdigita.cms.scipublications;
+
+import com.arsdigita.web.Application;
+import com.arsdigita.web.BaseApplicationServlet;
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class SciPublicationsServlet extends BaseApplicationServlet {
+
+ private static final long serialVersionUID = -632365939651657874L;
+ private static final Logger logger = Logger.getLogger(
+ SciPublicationsServlet.class);
+
+ @Override
+ protected void doService(HttpServletRequest request,
+ HttpServletResponse response,
+ Application app) throws ServletException,
+ IOException {
+ String path = "";
+
+ logger.debug("SciPublicationsServlet is starting...");
+ logger.debug(String.format("pathInfo = '%s'", request.getPathInfo()));
+
+ logger.debug("Extracting path from pathInfo by removing leading and "
+ + "trailing slashes...");
+ if (request.getPathInfo() != null) {
+ if ("/".equals(request.getPathInfo())) {
+ path = "";
+ } else if (request.getPathInfo().startsWith("/")
+ && request.getPathInfo().endsWith("/")) {
+ path = request.getPathInfo().substring(1, request.getPathInfo().
+ length() - 1);
+ } else if (request.getPathInfo().startsWith("/")) {
+ path = request.getPathInfo().substring(1);
+ } else if (request.getPathInfo().endsWith("/")) {
+ path = request.getPathInfo().substring(0, request.getPathInfo().
+ length() - 1);
+ } else {
+ path = request.getPathInfo();
+ }
+ }
+
+ logger.debug(String.format("path = %s", path));
+
+ if (path.isEmpty()) {
+ logger.debug("pathInfo is null, responding with default...");
+ /*response.setContentType("application/text");
+ response.setHeader("Content-Disposition",
+ "attachment; filename=ccm-publication-exporter.txt");
+ response.getWriter().append("This is the sci-publication-exporter");*/
+
+ response.setContentType("text/plain");
+ response.getWriter().append("Please choose an application.");
+
+ //ToDo: Show a menu?
+ } else if("export".equals(path)) {
+ logger.debug("Export a publication");
+
+ response.setContentType("text/plain");
+ response.getWriter().append("Calling exporter...");
+
+ //ToDo: Call the exporter here.
+ } else {
+ logger.debug("Unknown pathinfo, responding with 404...");
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ }
+ }
+}
diff --git a/ccm-sci-publications/web/WEB-INF/web.scipublications.xml b/ccm-sci-publications/web/WEB-INF/web.scipublications.xml
index 4d7927547..2c31f48fa 100644
--- a/ccm-sci-publications/web/WEB-INF/web.scipublications.xml
+++ b/ccm-sci-publications/web/WEB-INF/web.scipublications.xml
@@ -6,13 +6,13 @@
- PublicationExporter
- com.arsdigita.cms.scipublications.PublicationExporterServlet
+ SciPublications
+ com.arsdigita.cms.scipublications.SciPublicationsServlet
- PublicationExporter
- /scipublicationsexporter/*
+ SciPublications
+ /scipublications/*
\ No newline at end of file