Skip to content

Instantly share code, notes, and snippets.

@raprasad
Last active March 31, 2017 15:27
Show Gist options
  • Select an option

  • Save raprasad/41471248f0d2af19bd27c2cbc429c128 to your computer and use it in GitHub Desktop.

Select an option

Save raprasad/41471248f0d2af19bd27c2cbc429c128 to your computer and use it in GitHub Desktop.
tabular thumbnail

Updates

Code snippets to make a map thumbnail available for a tabular file

This is only a partial solution

DataFileServiceBean.java

method: public boolean thumbnailSupported (DataFile file) {

Added below: contentType.equalsIgnoreCase("text/tab-separated-values") ||

        return (contentType != null && 
                (contentType.startsWith("image/") || 
                contentType.equalsIgnoreCase("application/pdf") ||
                contentType.equalsIgnoreCase("text/tab-separated-values") ||
                contentType.equalsIgnoreCase(MIME_TYPE_GEO_SHAPE)));
  }

ImageThumbConverter.java

Change 1

method: public static boolean isThumbnailAvailable(DataFile file, int size) {

add the last else if from in the snippet below

 if (file.getContentType().substring(0, 6).equalsIgnoreCase("image/")) {
                imageThumbFileName = generateImageThumb(dataAccess.getFileSystemPath().toString(), size);
            } else if (file.getContentType().equalsIgnoreCase("application/pdf")) {
                imageThumbFileName = generatePDFThumb(dataAccess.getFileSystemPath().toString(), size);
            } else if (file.getContentType().equalsIgnoreCase("application/zipped-shapefile")) {
                imageThumbFileName = generateWorldMapThumb(dataAccess.getFileSystemPath().toString(), size);
            } else if (file.getContentType().equalsIgnoreCase("text/tab-separated-values")) {
                imageThumbFileName = generateWorldMapThumb(dataAccess.getFileSystemPath().toString(), size);
            }

Change 2

  • Add last else if for "text/tab-separated-values"
public static File getImageThumbAsFile(FileAccessIO fileAccess, int size ) {
        String imageThumbFileName = null;
        try {
            if (fileAccess.getDataFile() != null && fileAccess.getDataFile().getContentType().substring(0, 6).equalsIgnoreCase("image/")) {
                imageThumbFileName = generateImageThumb(fileAccess.getFileSystemPath().toString(), size);
                
            } else if (fileAccess.getDataFile() != null && fileAccess.getDataFile().getContentType().equalsIgnoreCase("application/pdf")) {
                imageThumbFileName = generatePDFThumb(fileAccess.getFileSystemPath().toString(), size);
                
            } else if (fileAccess.getDataFile() != null && fileAccess.getDataFile().getContentType().equalsIgnoreCase("application/zipped-shapefile")) {
                imageThumbFileName = generateWorldMapThumb(fileAccess.getFileSystemPath().toString(), size);

            } else if (fileAccess.getDataFile() != null && fileAccess.getDataFile().getContentType().equalsIgnoreCase("text/tab-separated-values")) {
                imageThumbFileName = generateWorldMapThumb(fileAccess.getFileSystemPath().toString(), size);

            } else {
                return null;
            }

filesFragment.xhtml

Add after line 197:

   <ui:fragment><b>#{fileMetadata.dataFile.id}</b>
                    <br />available: #{DatasetPage.isThumbnailAvailable(fileMetadata)}
   </ui:fragment>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment