Skip to content

Commit

Permalink
Update API Rest
Browse files Browse the repository at this point in the history
Fix #83
  • Loading branch information
Sergio Ochoa authored and Paco Avila committed Aug 24, 2018
1 parent 9274546 commit 7761841
Show file tree
Hide file tree
Showing 13 changed files with 126 additions and 181 deletions.
1 change: 1 addition & 0 deletions pom.xml
Expand Up @@ -844,6 +844,7 @@
<module>com.openkm.frontend.Main</module>
</modules>
<localWorkers>4</localWorkers>
<extraJvmArgs>-Xms256m -Xmx2048m</extraJvmArgs>
</configuration>
</plugin>

Expand Down
108 changes: 54 additions & 54 deletions src/main/java/com/openkm/core/MimeTypeConfig.java
Expand Up @@ -33,61 +33,61 @@ public class MimeTypeConfig {
private static Logger log = LoggerFactory.getLogger(MimeTypeConfig.class);

// MIME types => NOTE Keep on sync with default.sql
public static String MIME_UNDEFINED = "application/octet-stream";
public static String MIME_RTF = "application/rtf";
public static String MIME_PDF = "application/pdf";
public static String MIME_ZIP = "application/zip";
public static String MIME_POSTSCRIPT = "application/postscript";
public static String MIME_MS_WORD = "application/msword";
public static String MIME_MS_EXCEL = "application/vnd.ms-excel";
public static String MIME_MS_POWERPOINT = "application/vnd.ms-powerpoint";
public static String MIME_MS_WORD_2007 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
public static String MIME_MS_EXCEL_2007 = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
public static String MIME_MS_POWERPOINT_2007 = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
public static String MIME_OO_TEXT = "application/vnd.oasis.opendocument.text";
public static String MIME_OO_SPREADSHEET = "application/vnd.oasis.opendocument.spreadsheet";
public static String MIME_OO_PRESENTATION = "application/vnd.oasis.opendocument.presentation";
public static String MIME_SWF = "application/x-shockwave-flash";
public static String MIME_DXF = "image/vnd.dxf";
public static String MIME_DWG = "image/vnd.dwg";
public static String MIME_TIFF = "image/tiff";
public static String MIME_JPEG = "image/jpeg";
public static String MIME_GIF = "image/gif";
public static String MIME_PNG = "image/png";
public static String MIME_BMP = "image/bmp";
public static String MIME_PSD = "image/x-psd";
public static String MIME_ICO = "image/x-ico";
public static String MIME_HTML = "text/html";
public static String MIME_TEXT = "text/plain";
public static String MIME_XML = "text/xml";
public static String MIME_CSV = "text/csv";
public static String MIME_SQL = "text/x-sql";
public static String MIME_JAVA = "text/x-java";
public static String MIME_JAR = "application/x-java-archive";
public static String MIME_SH = "application/x-shellscript";
public static String MIME_BSH = "application/x-bsh";
public static String MIME_PHP = "application/x-php";
public static String MIME_SCALA = "text/x-scala";
public static String MIME_PYTHON = "text/x-python";
public static String MIME_PERL = "application/x-perl";
public static String MIME_JAVASCRIPT = "application/javascript";
public static String MIME_GROOVY = "text/x-groovy";
public static String MIME_DIFF = "text/x-diff";
public static String MIME_PASCAL = "text/x-pascal";
public static String MIME_CSS = "text/css";
public static String MIME_CSHARP = "text/x-csharp";
public static String MIME_CPP = "text/x-c++";
public static String MIME_AS3 = "application/x-font-truetype";
public static String MIME_APPLESCRIPT = "text/applescript";
public static String MIME_EML = "message/rfc822";
public final static String MIME_UNDEFINED = "application/octet-stream";
public final static String MIME_RTF = "application/rtf";
public final static String MIME_PDF = "application/pdf";
public final static String MIME_ZIP = "application/zip";
public final static String MIME_POSTSCRIPT = "application/postscript";
public final static String MIME_MS_WORD = "application/msword";
public final static String MIME_MS_EXCEL = "application/vnd.ms-excel";
public final static String MIME_MS_POWERPOINT = "application/vnd.ms-powerpoint";
public final static String MIME_MS_WORD_2007 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
public final static String MIME_MS_EXCEL_2007 = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
public final static String MIME_MS_POWERPOINT_2007 = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
public final static String MIME_OO_TEXT = "application/vnd.oasis.opendocument.text";
public final static String MIME_OO_SPREADSHEET = "application/vnd.oasis.opendocument.spreadsheet";
public final static String MIME_OO_PRESENTATION = "application/vnd.oasis.opendocument.presentation";
public final static String MIME_SWF = "application/x-shockwave-flash";
public final static String MIME_DXF = "image/vnd.dxf";
public final static String MIME_DWG = "image/vnd.dwg";
public final static String MIME_TIFF = "image/tiff";
public final static String MIME_JPEG = "image/jpeg";
public final static String MIME_GIF = "image/gif";
public final static String MIME_PNG = "image/png";
public final static String MIME_BMP = "image/bmp";
public final static String MIME_PSD = "image/x-psd";
public final static String MIME_ICO = "image/x-ico";
public final static String MIME_HTML = "text/html";
public final static String MIME_TEXT = "text/plain";
public final static String MIME_XML = "text/xml";
public final static String MIME_CSV = "text/csv";
public final static String MIME_SQL = "text/x-sql";
public final static String MIME_JAVA = "text/x-java";
public final static String MIME_JAR = "application/x-java-archive";
public final static String MIME_SH = "application/x-shellscript";
public final static String MIME_BSH = "application/x-bsh";
public final static String MIME_PHP = "application/x-php";
public final static String MIME_SCALA = "text/x-scala";
public final static String MIME_PYTHON = "text/x-python";
public final static String MIME_PERL = "application/x-perl";
public final static String MIME_JAVASCRIPT = "application/javascript";
public final static String MIME_GROOVY = "text/x-groovy";
public final static String MIME_DIFF = "text/x-diff";
public final static String MIME_PASCAL = "text/x-pascal";
public final static String MIME_CSS = "text/css";
public final static String MIME_CSHARP = "text/x-csharp";
public final static String MIME_CPP = "text/x-c++";
public final static String MIME_AS3 = "application/x-font-truetype";
public final static String MIME_APPLESCRIPT = "text/applescript";
public final static String MIME_EML = "message/rfc822";

//public static String MIME_VB = "";
//public static String MIME_RUBY = "";
//public static String MIME_SASS = "";
//public static String MIME_POWERSHELL = "";
//public static String MIME_JAVAFX = "";
//public static String MIME_ERLANG = "";
//public static String MIME_COLDFUSION = "";
//public final static String MIME_VB = "";
//public final static String MIME_RUBY = "";
//public final static String MIME_SASS = "";
//public final static String MIME_POWERSHELL = "";
//public final static String MIME_JAVAFX = "";
//public final static String MIME_ERLANG = "";
//public final static String MIME_COLDFUSION = "";


// Registered MIME types
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/openkm/rest/endpoint/AuthService.java
Expand Up @@ -36,6 +36,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/auth")
public class AuthService {
private static Logger log = LoggerFactory.getLogger(AuthService.class);

Expand Down
55 changes: 36 additions & 19 deletions src/main/java/com/openkm/rest/endpoint/DocumentService.java
Expand Up @@ -21,30 +21,43 @@

package com.openkm.rest.endpoint;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;

import org.apache.commons.io.IOUtils;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.openkm.bean.Document;
import com.openkm.bean.LockInfo;
import com.openkm.bean.Version;
import com.openkm.core.MimeTypeConfig;
import com.openkm.module.DocumentModule;
import com.openkm.module.ModuleManager;
import com.openkm.rest.GenericException;
import com.openkm.rest.util.DocumentList;
import com.openkm.rest.util.VersionList;
import org.apache.commons.io.IOUtils;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/document")
public class DocumentService {
private static Logger log = LoggerFactory.getLogger(DocumentService.class);

Expand Down Expand Up @@ -263,7 +276,8 @@ public void forceCancelCheckout(@QueryParam("docId") String docId) throws Generi

@GET
@Path("/isCheckedOut")
public boolean isCheckedOut(@QueryParam("docId") String docId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean isCheckedOut(@QueryParam("docId") String docId) throws GenericException {
try {
log.debug("cancelCheckout({})", docId);
DocumentModule dm = ModuleManager.getDocumentModule();
Expand Down Expand Up @@ -364,7 +378,8 @@ public void forceUnlock(@QueryParam("docId") String docId) throws GenericExcepti

@GET
@Path("/isLocked")
public boolean isLocked(@QueryParam("docId") String docId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean isLocked(@QueryParam("docId") String docId) throws GenericException {
try {
log.debug("isLocked({})", docId);
DocumentModule dm = ModuleManager.getDocumentModule();
Expand Down Expand Up @@ -457,27 +472,29 @@ public void purgeVersionHistory(@QueryParam("docId") String docId) throws Generi

@GET
@Path("/getVersionHistorySize")
public long getVersionHistorySize(@QueryParam("docId") String docId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Long getVersionHistorySize(@QueryParam("docId") String docId) throws GenericException {
try {
log.debug("getVersionHistorySize({})", docId);
DocumentModule dm = ModuleManager.getDocumentModule();
long size = dm.getVersionHistorySize(null, docId);
log.debug("getVersionHistorySize: {}", size);
return size;
return new Long(size);
} catch (Exception e) {
throw new GenericException(e);
}
}

@GET
@Path("/isValid")
public boolean isValid(@QueryParam("docId") String docId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean isValid(@QueryParam("docId") String docId) throws GenericException {
try {
log.debug("isValid({})", docId);
DocumentModule dm = ModuleManager.getDocumentModule();
boolean valid = dm.isValid(null, docId);
log.debug("isValid: {}", valid);
return valid;
return new Boolean(valid);
} catch (Exception e) {
throw new GenericException(e);
}
Expand Down
7 changes: 5 additions & 2 deletions src/main/java/com/openkm/rest/endpoint/FolderService.java
Expand Up @@ -22,6 +22,7 @@
package com.openkm.rest.endpoint;

import com.openkm.bean.Folder;
import com.openkm.core.MimeTypeConfig;
import com.openkm.module.FolderModule;
import com.openkm.module.ModuleManager;
import com.openkm.rest.GenericException;
Expand All @@ -34,6 +35,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/folder")
public class FolderService {
private static Logger log = LoggerFactory.getLogger(FolderService.class);

Expand Down Expand Up @@ -140,13 +142,14 @@ public FolderList getChildren(@QueryParam("fldId") String fldId) throws GenericE

@GET
@Path("/isValid")
public boolean isValid(@QueryParam("fldId") String fldId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean isValid(@QueryParam("fldId") String fldId) throws GenericException {
try {
log.debug("isValid({})", fldId);
FolderModule fm = ModuleManager.getFolderModule();
boolean valid = fm.isValid(null, fldId);
log.debug("isValid: {}", valid);
return valid;
return new Boolean(valid);
} catch (Exception e) {
throw new GenericException(e);
}
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/com/openkm/rest/endpoint/MailService.java
Expand Up @@ -45,6 +45,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/mail")
public class MailService {
private static Logger log = LoggerFactory.getLogger(MailService.class);

Expand Down Expand Up @@ -134,13 +135,14 @@ public MailList getChildren(@QueryParam("mailId") String mailId) throws GenericE

@GET
@Path("/isValid")
public boolean isValid(@QueryParam("mailId") String mailId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean isValid(@QueryParam("mailId") String mailId) throws GenericException {
try {
log.debug("isValid({})", mailId);
MailModule mm = ModuleManager.getMailModule();
boolean valid = mm.isValid(null, mailId);
log.debug("isValid: {}", valid);
return valid;
return new Boolean(valid);
} catch (Exception e) {
throw new GenericException(e);
}
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/openkm/rest/endpoint/NoteService.java
Expand Up @@ -34,6 +34,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/note")
public class NoteService {
private static Logger log = LoggerFactory.getLogger(NoteService.class);

Expand Down
Expand Up @@ -23,6 +23,7 @@

import com.openkm.bean.form.*;
import com.openkm.core.Config;
import com.openkm.core.MimeTypeConfig;
import com.openkm.module.ModuleManager;
import com.openkm.module.PropertyGroupModule;
import com.openkm.rest.GenericException;
Expand All @@ -43,6 +44,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/propertyGroup")
public class PropertyGroupService {
private static Logger log = LoggerFactory.getLogger(PropertyGroupService.class);

Expand Down Expand Up @@ -224,13 +226,14 @@ public void setPropertiesSimple(@QueryParam("nodeId") String nodeId, @QueryParam

@GET
@Path("/hasGroup")
public boolean hasGroup(@QueryParam("nodeId") String nodeId, @QueryParam("grpName") String grpName) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean hasGroup(@QueryParam("nodeId") String nodeId, @QueryParam("grpName") String grpName) throws GenericException {
try {
log.debug("hasGroup({}, {})", new Object[]{nodeId, grpName});
PropertyGroupModule cm = ModuleManager.getPropertyGroupModule();
boolean ret = cm.hasGroup(null, nodeId, grpName);
log.debug("hasGroup: {}", ret);
return ret;
log.debug("hasGroup: {}", ret);
return new Boolean(ret);
} catch (Exception e) {
throw new GenericException(e);
}
Expand Down
Expand Up @@ -32,6 +32,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/property")
public class PropertyService {
private static Logger log = LoggerFactory.getLogger(PropertyService.class);

Expand Down
7 changes: 5 additions & 2 deletions src/main/java/com/openkm/rest/endpoint/RepositoryService.java
Expand Up @@ -28,6 +28,7 @@
import com.openkm.core.AccessDeniedException;
import com.openkm.core.Config;
import com.openkm.core.DatabaseException;
import com.openkm.core.MimeTypeConfig;
import com.openkm.dao.LegacyDAO;
import com.openkm.module.ModuleManager;
import com.openkm.module.RepositoryModule;
Expand All @@ -53,6 +54,7 @@

@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/repository")
public class RepositoryService {
private static Logger log = LoggerFactory.getLogger(RepositoryService.class);

Expand Down Expand Up @@ -197,13 +199,14 @@ public String getRepositoryUuid() throws GenericException {

@GET
@Path("/hasNode")
public boolean hasNode(@QueryParam("nodeId") String nodeId) throws GenericException {
@Produces(MimeTypeConfig.MIME_TEXT)
public Boolean hasNode(@QueryParam("nodeId") String nodeId) throws GenericException {
try {
log.debug("hasNode()");
RepositoryModule rm = ModuleManager.getRepositoryModule();
boolean has = rm.hasNode(null, nodeId);
log.debug("hasNode: {}", has);
return has;
return new Boolean(has);
} catch (Exception e) {
throw new GenericException(e);
}
Expand Down

0 comments on commit 7761841

Please sign in to comment.