/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.oobd.base.archive; import java.io.File; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import org.oobd.base.Core; /** * * @author steffen */ public class Factory { public static ArrayList<Archive> getDirContent(String path) { ArrayList<Archive> res = new ArrayList<Archive>(); File directory = new File(path); Archive actFile; if (directory.exists()) { File[] files = directory.listFiles(); // For each file in dir... for (int i = 0; i < files.length; i++) { actFile = null; // split file name into name and extension Logger.getLogger(Factory.class.getName()).log(Level.CONFIG, "File to be evaluated: {0}", files[i].getName()); String name[] = files[i].getName().split("\\."); // only class names without $ are taken if (name.length > 1) { String ext = name[name.length - 1]; if (ext.equalsIgnoreCase("pgp") || ext.equalsIgnoreCase("lbc") || ext.equalsIgnoreCase("epd") || ext.equalsIgnoreCase("epa")) { actFile = getArchive(files[i].getPath()); } } if (actFile != null) { if (actFile.bind(path + "/" + files[i].getName())) { res.add(actFile); Logger.getLogger(Factory.class.getName()).log(Level.INFO, "Archive found : {0} with ID {1} ", new Object[]{actFile.getFileName(), actFile.getID()}); } } } } return res; } public static Archive getArchive(String filePath) { File file = new File(filePath); if (!file.exists()) { file = new File(filePath + ".pgp"); } if (file.exists()) { String name[] = file.getName().split("\\."); if (name.length > 1) { if (name[name.length - 1].equalsIgnoreCase("pgp")) { return new FileHandlerPGP(Core.getSingleInstance()); } else if (name[name.length - 1].equalsIgnoreCase("epd") || name[name.length - 1].equalsIgnoreCase("epa")) { return new FileHandlerEpa(Core.getSingleInstance()); } else { return new FileHandlerPlain(Core.getSingleInstance()); } } else { return new FileHandlerPlain(Core.getSingleInstance()); } } return null; } }