Name der Application für SciPublications geändert. Die Application wird alle Funktionen (Export, Import, ...) anbieten, es wird keine eigenständigen Apps für Import und Export geben.
git-svn-id: https://svn.libreccm.org/ccm/trunk@729 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
7afcab2687
commit
2c89d68f98
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
<initializer class="com.arsdigita.cms.contenttypes.ExpertiseInitializer"/>
|
||||
<initializer class="com.arsdigita.cms.contenttypes.ReviewInitializer"/>
|
||||
<initializer class="com.arsdigita.cms.contenttypes.SciAuthorInitializer"/>
|
||||
<initializer class="com.arsdigita.cms.scipublications.PublicationExporterInitializer"/>
|
||||
<initializer class="com.arsdigita.cms.scipublications.SciPublicationsInitializer"/>
|
||||
</provides>
|
||||
<scripts>
|
||||
<schema directory="ccm-sci-publications"/>
|
||||
|
|
@ -64,6 +64,6 @@
|
|||
<data class="com.arsdigita.cms.contenttypes.ExpertiseLoader"/>
|
||||
<data class="com.arsdigita.cms.contenttypes.ReviewLoader"/>
|
||||
<data class="com.arsdigita.cms.contenttypes.SciAuthorLoader"/>
|
||||
<data class="com.arsdigita.cms.scipublications.PublicationExporterLoader"/>
|
||||
<data class="com.arsdigita.cms.scipublications.SciPublicationsLoader"/>
|
||||
</scripts>
|
||||
</load>
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
@ -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/";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,13 +6,13 @@
|
|||
<!-- Servlets for the sci-publications applications -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>PublicationExporter</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.scipublications.PublicationExporterServlet</servlet-class>
|
||||
<servlet-name>SciPublications</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.scipublications.SciPublicationsServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>PublicationExporter</servlet-name>
|
||||
<url-pattern>/scipublicationsexporter/*</url-pattern>
|
||||
<servlet-name>SciPublications</servlet-name>
|
||||
<url-pattern>/scipublications/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
</web-app>
|
||||
Loading…
Reference in New Issue