/**
* Copyright (c) 2009 Juwi MacMillan Group GmbH
*
* 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 de.juwimm.cms.content.frame.helper;
import java.io.File;
import java.util.HashMap;
import javax.swing.ImageIcon;
import de.juwimm.cms.util.UIConstants;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: </p>
* @author <a href="mailto:s.kulawik@juwimm.com">Sascha-Matthias Kulawik</a>
* @version $Id$
*/
public final class Utils {
public static final HashMap<String, FileType> FILETYPES_SUPPORTED = new HashMap<String, FileType>(22);
public static final String JPEG = "jpeg";
public static final String JPG = "jpg";
public static final String GIF = "gif";
public static final String TIFF = "tiff";
public static final String TIF = "tif";
public static final String PNG = "png";
public static final String SVG = "svg";
public static final String EMF = "emf";
public static final String WMF = "wmf";
public static final String BMP = "bmp";
public static final String DOC = "doc";
public static final String DOCX = "docx";
public static final String PDF = "pdf";
public static final String XLS = "xls";
public static final String XLSX = "xlsx";
public static final String ZIP = "zip";
public static final String PPT = "ppt";
public static final String PPTX = "pptx";
public static final String PPS = "pps";
public static final String ODT = "odt";
public static final String OTT = "ott";
public static final String ODS = "ods";
public static final String DOT = "dot";
public static final String RTF = "rtf";
public static final String AVI = "avi";
public static final String MPG = "mpg";
public static final String MPEG = "mpeg";
public static final String MP3 = "mp3";
public static final String SWF = "swf";
public static final String WMA = "wma";
public static final String WMV = "wmv";
public static final String RM = "rm";
public static final String MOV = "mov";
public static final String EXE = "exe";
public static final String CSV = "csv";
public static final String XML = "xml";
public static final String HLP = "hlp";
public static final String TXT = "txt";
static {
FILETYPES_SUPPORTED.put(JPEG, new FileType(JPEG, "image/jpeg", "jpg.png"));
FILETYPES_SUPPORTED.put(JPG, new FileType(JPG, "image/jpeg", "jpg.png"));
FILETYPES_SUPPORTED.put(GIF, new FileType(GIF, "image/gif", "png.png"));
FILETYPES_SUPPORTED.put(TIFF, new FileType(TIFF, "image/tif", "tif.png"));
FILETYPES_SUPPORTED.put(TIF, new FileType(TIF, "image/tif", "tif.png"));
FILETYPES_SUPPORTED.put(BMP, new FileType(BMP, "image/bitmap", "tif.png"));
FILETYPES_SUPPORTED.put(PNG, new FileType(PNG, "image/png", "png.png"));
FILETYPES_SUPPORTED.put(SVG, new FileType(SVG, "image/svg+xml", "xml.png"));
FILETYPES_SUPPORTED.put(EMF, new FileType(EMF, "image/x-emf", "emf.gif"));
FILETYPES_SUPPORTED.put(WMF, new FileType(WMF, "image/x-wmf", "emf.gif"));
FILETYPES_SUPPORTED.put(DOC, new FileType(DOC, "application/msword", "doc.png"));
FILETYPES_SUPPORTED.put(DOCX, new FileType(DOCX, "application/msword", "doc.png"));
FILETYPES_SUPPORTED.put(DOT, new FileType(DOT, "application/msword", "doc.png"));
FILETYPES_SUPPORTED.put(RTF, new FileType(RTF, "application/rtf", "doc.png"));
FILETYPES_SUPPORTED.put(PDF, new FileType(PDF, "application/pdf", "pdf.png"));
FILETYPES_SUPPORTED.put(XLS, new FileType(XLS, "application/excel", "xls.png"));
FILETYPES_SUPPORTED.put(XLSX, new FileType(XLSX, "application/excel", "xls.png"));
FILETYPES_SUPPORTED.put(PPT, new FileType(PPT, "application/powerpoint", "ppt.png"));
FILETYPES_SUPPORTED.put(PPTX, new FileType(PPTX, "application/powerpoint", "ppt.png"));
FILETYPES_SUPPORTED.put(PPS, new FileType(PPS, "application/powerpoint", "ppt.png"));
FILETYPES_SUPPORTED.put(ZIP, new FileType(ZIP, "application/zip", "zip.png"));
FILETYPES_SUPPORTED.put(CSV, new FileType(CSV, "text/csv", "ascii.png"));
FILETYPES_SUPPORTED.put(XML, new FileType(XML, "text/xml", "xml.png"));
FILETYPES_SUPPORTED.put(AVI, new FileType(AVI, "video/x-msvideo", "avi.png"));
FILETYPES_SUPPORTED.put(MPG, new FileType(MPG, "video/mpeg", "mpg.png"));
FILETYPES_SUPPORTED.put(MPEG, new FileType(MPEG, "video/mpeg", "mpg.png"));
FILETYPES_SUPPORTED.put(WMV, new FileType(WMV, "video/x-msvideo", "avi.png"));
FILETYPES_SUPPORTED.put(WMA, new FileType(WMA, "audio/x-ms-wma", "mp3.gif"));
FILETYPES_SUPPORTED.put(RM, new FileType(RM, "audio/x-pn-realaudio", "mp3.gif"));
FILETYPES_SUPPORTED.put(MP3, new FileType(MP3, "audio/mpeg", "mp3.gif"));
FILETYPES_SUPPORTED.put(SWF, new FileType(SWF, "application/x-shockwave-flash", "flash.png"));
FILETYPES_SUPPORTED.put(EXE, new FileType(EXE, "application/octet-stream", "exe.gif"));
FILETYPES_SUPPORTED.put(HLP, new FileType(HLP, "application/winhlp", "help.png"));
FILETYPES_SUPPORTED.put(TXT, new FileType(TXT, "text/plain", "ascii.png"));
FILETYPES_SUPPORTED.put(ODT, new FileType(ODT, "application/vnd.oasis.opendocument.spreadsheet", "doc.png"));
FILETYPES_SUPPORTED.put(OTT, new FileType(OTT, "application/vnd.oasis.opendocument.text-template", "doc.png"));
FILETYPES_SUPPORTED.put(ODS, new FileType(ODS, "application/vnd.oasis.opendocument.spreadsheet", "xls.xls"));
}
private Utils() {
}
public static boolean containsFileType(String fileType) {
return FILETYPES_SUPPORTED.containsKey(fileType.toLowerCase());
}
public static String getExtension(File f) {
String ext = null;
String s = f.getName();
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1) {
ext = s.substring(i + 1).toLowerCase();
}
return ext;
}
public static String getExtension(String filename) {
String ext = null;
String s = filename;
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1) {
ext = s.substring(i + 1).toLowerCase();
}
return ext;
}
public static String getMimeType4Extension(String fext) {
return FILETYPES_SUPPORTED.get(fext).getMimeType();
}
public static ImageIcon getIcon4Extension(String fext) {
String iconname = "";
try {
iconname = FILETYPES_SUPPORTED.get(fext).getImageName();
} catch (Exception exep) {
iconname = FILETYPES_SUPPORTED.get(EXE).getImageName();
}
return UIConstants.getDocumentsIcon(iconname);
}
public static FileType getFileType(String fext) {
return FILETYPES_SUPPORTED.get(fext);
}
/**
* <p>Title: Tizzit</p>
* <p>Description: Enterprise Content Management</p>
* <p>Copyright: Copyright (c) 2004</p>
* InnerClass to represent a FileType.
* @author <a href="sascha.kulawik@juwimm.com">Sascha-Matthias Kulawik</a>
* @version $Revision: 1.32 $
*/
public static class FileType {
private final String extension, mimeType, imageName;
public FileType(String ftExtension, String ftMimeType, String ftImageName) {
this.extension = ftExtension;
this.mimeType = ftMimeType;
this.imageName = ftImageName;
}
public String getExtension() {
return extension;
}
public String getMimeType() {
return mimeType;
}
public String getImageName() {
return imageName;
}
}
}