private static void setupJurisdictionPolicies() throws Exception { String javaHomeDir = System.getProperty("java.home"); String sep = File.separator; String pathToPolicyJar = javaHomeDir + sep + "lib" + sep + "security" + sep; File exportJar = new File(pathToPolicyJar, "US_export_policy.jar"); File importJar = new File(pathToPolicyJar, "local_policy.jar"); URL jceCipherURL = ClassLoader.getSystemResource("javax/crypto/Cipher.class"); if ((jceCipherURL == null) || !exportJar.exists() || !importJar.exists()) { throw new SecurityException("Cannot locate policy or framework files!"); } // Read jurisdiction policies. CryptoPermissions defaultExport = new CryptoPermissions(); CryptoPermissions exemptExport = new CryptoPermissions(); loadPolicies(exportJar, defaultExport, exemptExport); CryptoPermissions defaultImport = new CryptoPermissions(); CryptoPermissions exemptImport = new CryptoPermissions(); loadPolicies(importJar, defaultImport, exemptImport); // Merge the export and import policies for default applications. if (defaultExport.isEmpty() || defaultImport.isEmpty()) { throw new SecurityException("Missing mandatory jurisdiction " + "policy files"); } defaultPolicy = defaultExport.getMinimum(defaultImport); // Merge the export and import policies for exempt applications. if (exemptExport.isEmpty()) { exemptPolicy = exemptImport.isEmpty() ? null : exemptImport; } else { exemptPolicy = exemptExport.getMinimum(exemptImport); } }
private void fixConfigSchema() { File configFile; File ctpDir = new File(directory, "CTP"); if (ctpDir.exists()) configFile = new File(ctpDir, "config.xml"); else configFile = new File(directory, "config.xml"); if (configFile.exists()) { try { Document doc = getDocument(configFile); Element root = doc.getDocumentElement(); Element server = getFirstNamedChild(root, "Server"); moveAttributes(server, sslAttrs, "SSL"); moveAttributes(server, proxyAttrs, "ProxyServer"); moveAttributes(server, ldapAttrs, "LDAP"); if (programName.equals("ISN")) fixRSNAROOT(server); if (isMIRC(root)) fixFileServiceAnonymizerID(root); setFileText(configFile, toString(doc)); } catch (Exception ex) { cp.appendln(Color.red, "\nUnable to convert the config file schema."); cp.appendln(Color.black, ""); } } else { cp.appendln(Color.red, "\nUnable to find the config file to check the schema."); cp.appendln(Color.black, ""); } }
private static void checkPackageInfoFiles( Project project, String packageName, boolean expectPackageInfo, boolean expectPackageInfoJava) throws Exception { File pkgInfo = IO.getFile(project.getSrc(), packageName + "/packageinfo"); File pkgInfoJava = IO.getFile(project.getSrc(), packageName + "/package-info.java"); assertEquals(expectPackageInfo, pkgInfo.exists()); assertEquals(expectPackageInfoJava, pkgInfoJava.exists()); }
/** * Extracts next entry from JAR file, creating directories as needed. If the entry is for a * directory which doesn't exist prior to this invocation, returns that entry, otherwise returns * null. */ ZipEntry extractFile(InputStream is, ZipEntry e) throws IOException { ZipEntry rc = null; String name = e.getName(); File f = new File(e.getName().replace('/', File.separatorChar)); if (e.isDirectory()) { if (f.exists()) { if (!f.isDirectory()) { throw new IOException(formatMsg("error.create.dir", f.getPath())); } } else { if (!f.mkdirs()) { throw new IOException(formatMsg("error.create.dir", f.getPath())); } else { rc = e; } } if (vflag) { output(formatMsg("out.create", name)); } } else { if (f.getParent() != null) { File d = new File(f.getParent()); if (!d.exists() && !d.mkdirs() || !d.isDirectory()) { throw new IOException(formatMsg("error.create.dir", d.getPath())); } } try { copy(is, f); } finally { if (is instanceof ZipInputStream) ((ZipInputStream) is).closeEntry(); else is.close(); } if (vflag) { if (e.getMethod() == ZipEntry.DEFLATED) { output(formatMsg("out.inflated", name)); } else { output(formatMsg("out.extracted", name)); } } } if (!useExtractionTime) { long lastModified = e.getTime(); if (lastModified != -1) { f.setLastModified(lastModified); } } return rc; }
public static void testBump() throws Exception { File tmp = new File("tmp-ws"); if (tmp.exists()) IO.deleteWithException(tmp); tmp.mkdir(); assertTrue(tmp.isDirectory()); try { IO.copy(new File("test/ws"), tmp); Workspace ws = Workspace.getWorkspace(tmp); Project project = ws.getProject("p1"); int size = project.getProperties().size(); Version old = new Version(project.getProperty("Bundle-Version")); System.err.println("Old version " + old); project.bump("=+0"); Version newv = new Version(project.getProperty("Bundle-Version")); System.err.println("New version " + newv); assertEquals(old.getMajor(), newv.getMajor()); assertEquals(old.getMinor() + 1, newv.getMinor()); assertEquals(0, newv.getMicro()); assertEquals(size, project.getProperties().size()); assertEquals("sometime", newv.getQualifier()); } finally { IO.deleteWithException(tmp); } }
public static void testBumpSubBuilders() throws Exception { File tmp = new File("tmp-ws"); if (tmp.exists()) IO.deleteWithException(tmp); tmp.mkdir(); assertTrue(tmp.isDirectory()); try { IO.copy(new File("test/ws"), tmp); Workspace ws = Workspace.getWorkspace(tmp); Project project = ws.getProject("bump-sub"); project.setTrace(true); assertNull(project.getProperty("Bundle-Version")); project.bump("=+0"); assertNull(project.getProperty("Bundle-Version")); for (Builder b : project.getSubBuilders()) { assertEquals(new Version(1, 1, 0), new Version(b.getVersion())); } } finally { IO.deleteWithException(tmp); } }
public static void testBumpIncludeFile() throws Exception { File tmp = new File("tmp-ws"); if (tmp.exists()) IO.deleteWithException(tmp); tmp.mkdir(); assertTrue(tmp.isDirectory()); try { IO.copy(new File("test/ws"), tmp); Workspace ws = Workspace.getWorkspace(tmp); Project project = ws.getProject("bump-included"); project.setTrace(true); Version old = new Version(project.getProperty("Bundle-Version")); assertEquals(new Version(1, 0, 0), old); project.bump("=+0"); Processor processor = new Processor(); processor.setProperties(project.getFile("include.txt")); Version newv = new Version(processor.getProperty("Bundle-Version")); System.err.println("New version " + newv); assertEquals(1, newv.getMajor()); assertEquals(1, newv.getMinor()); assertEquals(0, newv.getMicro()); } finally { IO.deleteWithException(tmp); } }
/** * Load classes from given file. File could be either directory or JAR file. * * @param clsLdr Class loader to load files. * @param file Either directory or JAR file which contains classes or references to them. * @return Set of found and loaded classes or empty set if file does not exist. * @throws GridSpiException Thrown if given JAR file references to none existed class or * IOException occurred during processing. */ static Set<Class<? extends GridTask<?, ?>>> getClasses(ClassLoader clsLdr, File file) throws GridSpiException { Set<Class<? extends GridTask<?, ?>>> rsrcs = new HashSet<Class<? extends GridTask<?, ?>>>(); if (file.exists() == false) { return rsrcs; } GridUriDeploymentFileResourceLoader fileRsrcLdr = new GridUriDeploymentFileResourceLoader(clsLdr, file); if (file.isDirectory()) { findResourcesInDirectory(fileRsrcLdr, file, rsrcs); } else { try { for (JarEntry entry : U.asIterable(new JarFile(file.getAbsolutePath()).entries())) { Class<? extends GridTask<?, ?>> rsrc = fileRsrcLdr.createResource(entry.getName(), false); if (rsrc != null) { rsrcs.add(rsrc); } } } catch (IOException e) { throw new GridSpiException( "Failed to discover classes in file: " + file.getAbsolutePath(), e); } } return rsrcs; }
void test(String[] opts, String className) throws Exception { count++; System.err.println("Test " + count + " " + Arrays.asList(opts) + " " + className); Path testSrcDir = Paths.get(System.getProperty("test.src")); Path testClassesDir = Paths.get(System.getProperty("test.classes")); Path classes = Paths.get("classes." + count); classes.createDirectory(); Context ctx = new Context(); PathFileManager fm = new JavacPathFileManager(ctx, true, null); JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); List<String> options = new ArrayList<String>(); options.addAll(Arrays.asList(opts)); options.addAll(Arrays.asList("-verbose", "-XDverboseCompilePolicy", "-d", classes.toString())); Iterable<? extends JavaFileObject> compilationUnits = fm.getJavaFileObjects(testSrcDir.resolve(className + ".java")); StringWriter sw = new StringWriter(); PrintWriter out = new PrintWriter(sw); JavaCompiler.CompilationTask t = compiler.getTask(out, fm, null, options, null, compilationUnits); boolean ok = t.call(); System.err.println(sw.toString()); if (!ok) { throw new Exception("compilation failed"); } File expect = new File("classes." + count + "/" + className + ".class"); if (!expect.exists()) throw new Exception("expected file not found: " + expect); long expectedSize = new File(testClassesDir.toString(), className + ".class").length(); long actualSize = expect.length(); if (expectedSize != actualSize) throw new Exception("wrong size found: " + actualSize + "; expected: " + expectedSize); }
/** * automatically generate non-existing help html files for existing commands in the CommandLoader * * @param cl the CommandLoader where you look for the existing commands */ public void createHelpText(CommandLoader cl) { File dir = new File((getClass().getResource("..").getPath())); dir = new File(dir, language); if (!dir.exists() && !dir.mkdirs()) { System.out.println("Failed to create " + dir.getAbsolutePath()); return; } for (String mnemo : cl.getMnemoList()) { if (!exists(mnemo)) { File file = new File(dir, mnemo + ".htm"); try { file.createNewFile(); BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file)); PrintStream ps = new PrintStream(os); ps.println("<html>\n<head>\n<title>" + mnemo + "\n</title>\n</head>\n<body>"); ps.println("Command: " + mnemo.toUpperCase() + "<br>"); ps.println("arguments: <br>"); ps.println("effects: <br>"); ps.println("flags to be set: <br>"); ps.println("approx. clockcycles: <br>"); ps.println("misc: <br>"); ps.println("</body>\n</html>"); ps.flush(); ps.close(); } catch (IOException e) { System.out.println("failed to create " + file.getAbsolutePath()); } } } }
protected void addPathFile(final File pathComponent) throws IOException { if (!this.pathComponents.contains(pathComponent)) { this.pathComponents.addElement(pathComponent); } if (pathComponent.isDirectory()) { return; } final String absPathPlusTimeAndLength = pathComponent.getAbsolutePath() + pathComponent.lastModified() + "-" + pathComponent.length(); String classpath = AntClassLoader.pathMap.get(absPathPlusTimeAndLength); if (classpath == null) { JarFile jarFile = null; try { jarFile = new JarFile(pathComponent); final Manifest manifest = jarFile.getManifest(); if (manifest == null) { return; } classpath = manifest.getMainAttributes().getValue(Attributes.Name.CLASS_PATH); } finally { if (jarFile != null) { jarFile.close(); } } if (classpath == null) { classpath = ""; } AntClassLoader.pathMap.put(absPathPlusTimeAndLength, classpath); } if (!"".equals(classpath)) { final URL baseURL = AntClassLoader.FILE_UTILS.getFileURL(pathComponent); final StringTokenizer st = new StringTokenizer(classpath); while (st.hasMoreTokens()) { final String classpathElement = st.nextToken(); final URL libraryURL = new URL(baseURL, classpathElement); if (!libraryURL.getProtocol().equals("file")) { this.log( "Skipping jar library " + classpathElement + " since only relative URLs are supported by this" + " loader", 3); } else { final String decodedPath = Locator.decodeUri(libraryURL.getFile()); final File libraryFile = new File(decodedPath); if (!libraryFile.exists() || this.isInPath(libraryFile)) { continue; } this.addPathFile(libraryFile); } } } }
public static void cleanUpUnpacked(File libDir) { if (libDir.exists() && libDir.listFiles(new ExtFilter(".gz")).length > 0) { for (File gz : libDir.listFiles(new ExtFilter(".gz"))) { try { gz.delete(); } catch (Exception e) { } } } }
public static void removePreviousLibs(File libDir) { if (libDir.exists() && libDir.listFiles(new PrefixFilter("runwar")).length > 0) { for (File previous : libDir.listFiles(new PrefixFilter("runwar"))) { try { previous.delete(); } catch (Exception e) { System.err.println("Could not delete previous lib: " + previous.getAbsolutePath()); } } } }
private void adjustConfiguration(Element root, File dir) { // If this is an ISN installation and the Edge Server // keystore and truststore files do not exist, then set the configuration // to use the keystore.jks and truststore.jks files instead of the ones // in the default installation. If the Edge Server files do exist, then // delete the keystore.jks and truststore.jks files, just to avoid // confusion. if (programName.equals("ISN")) { Element server = getFirstNamedChild(root, "Server"); Element ssl = getFirstNamedChild(server, "SSL"); String rsnaroot = System.getenv("RSNA_ROOT"); rsnaroot = (rsnaroot == null) ? "/usr/local/edgeserver" : rsnaroot.trim(); String keystore = rsnaroot + "/conf/keystore.jks"; String truststore = rsnaroot + "/conf/truststore.jks"; File keystoreFile = new File(keystore); File truststoreFile = new File(truststore); cp.appendln(Color.black, "Looking for " + keystore); if (keystoreFile.exists() || truststoreFile.exists()) { cp.appendln(Color.black, "...found it [This is an EdgeServer installation]"); // Delete the default files, just to avoid confusion File ks = new File(dir, "keystore.jks"); File ts = new File(dir, "truststore.jks"); boolean ksok = ks.delete(); boolean tsok = ts.delete(); if (ksok && tsok) cp.appendln(Color.black, "...Unused default SSL files were removed"); else { if (!ksok) cp.appendln(Color.black, "...Unable to delete " + ks); if (!tsok) cp.appendln(Color.black, "...Unable to delete " + ts); } } else { cp.appendln(Color.black, "...not found [OK, this is a non-EdgeServer installation]"); ssl.setAttribute("keystore", "keystore.jks"); ssl.setAttribute("keystorePassword", "edge1234"); ssl.setAttribute("truststore", "truststore.jks"); ssl.setAttribute("truststorePassword", "edge1234"); cp.appendln( Color.black, "...SSL attributes were updated for a non-EdgeServer installation"); } } }
public List<CommandData> getCommands(File commandDir) throws Exception { List<CommandData> result = new ArrayList<CommandData>(); if (!commandDir.exists()) { return result; } for (File f : commandDir.listFiles()) { CommandData data = getData(CommandData.class, f); if (data != null) result.add(data); } return result; }
/** * Copies a file or directory * * @param src the file or directory to copy * @param dest where copy * @throws IOException */ public static void copyFile(File src, File dest) throws IOException { if (!src.exists()) throw new IOException("File not found '" + src.getAbsolutePath() + "'"); BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dest)); BufferedInputStream in = new BufferedInputStream(new FileInputStream(src)); byte[] read = new byte[4096]; int len; while ((len = in.read(read)) > 0) out.write(read, 0, len); out.flush(); out.close(); in.close(); }
protected URL getResourceURL(final File file, final String resourceName) { try { JarFile jarFile = this.jarFiles.get(file); if (jarFile == null && file.isDirectory()) { final File resource = new File(file, resourceName); if (resource.exists()) { try { return AntClassLoader.FILE_UTILS.getFileURL(resource); } catch (MalformedURLException ex) { return null; } } } else { if (jarFile == null) { if (!file.exists()) { return null; } jarFile = new JarFile(file); this.jarFiles.put(file, jarFile); jarFile = this.jarFiles.get(file); } final JarEntry entry = jarFile.getJarEntry(resourceName); if (entry != null) { try { return new URL("jar:" + AntClassLoader.FILE_UTILS.getFileURL(file) + "!/" + entry); } catch (MalformedURLException ex) { return null; } } } } catch (Exception e) { final String msg = "Unable to obtain resource from " + file + ": "; this.log(msg + e, 1); System.err.println(msg); e.printStackTrace(); } return null; }
// Take a tree of files starting in a directory in a zip file // and copy them to a disk directory, recreating the tree. private int unpackZipFile( File inZipFile, String directory, String parent, boolean suppressFirstPathElement) { int count = 0; if (!inZipFile.exists()) return count; parent = parent.trim(); if (!parent.endsWith(File.separator)) parent += File.separator; if (!directory.endsWith(File.separator)) directory += File.separator; File outFile = null; try { ZipFile zipFile = new ZipFile(inZipFile); Enumeration zipEntries = zipFile.entries(); while (zipEntries.hasMoreElements()) { ZipEntry entry = (ZipEntry) zipEntries.nextElement(); String name = entry.getName().replace('/', File.separatorChar); if (name.startsWith(directory)) { if (suppressFirstPathElement) name = name.substring(directory.length()); outFile = new File(parent + name); // Create the directory, just in case if (name.indexOf(File.separatorChar) >= 0) { String p = name.substring(0, name.lastIndexOf(File.separatorChar) + 1); File dirFile = new File(parent + p); dirFile.mkdirs(); } if (!entry.isDirectory()) { System.out.println("Installing " + outFile); // Copy the file BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFile)); BufferedInputStream in = new BufferedInputStream(zipFile.getInputStream(entry)); int size = 1024; int n = 0; byte[] b = new byte[size]; while ((n = in.read(b, 0, size)) != -1) out.write(b, 0, n); in.close(); out.flush(); out.close(); // Count the file count++; } } } zipFile.close(); } catch (Exception e) { System.err.println("...an error occured while installing " + outFile); e.printStackTrace(); System.err.println("Error copying " + outFile.getName() + "\n" + e.getMessage()); return -count; } System.out.println(count + " files were installed."); return count; }
/** * Constructor * * @throws IOException */ public JustAnotherPackageManager(Reporter reporter, Platform platform, File homeDir, File binDir) throws IOException { this.platform = platform; this.reporter = reporter; this.homeDir = homeDir; if (!homeDir.exists() && !homeDir.mkdirs()) throw new IllegalArgumentException("Could not create directory " + homeDir); repoDir = IO.getFile(homeDir, "repo"); if (!repoDir.exists() && !repoDir.mkdirs()) throw new IllegalArgumentException("Could not create directory " + repoDir); commandDir = new File(homeDir, COMMANDS); serviceDir = new File(homeDir, SERVICE); commandDir.mkdir(); serviceDir.mkdir(); service = new File(repoDir, SERVICE_JAR_FILE); if (!service.isFile()) init(); this.binDir = binDir; if (!binDir.exists() && !binDir.mkdirs()) throw new IllegalArgumentException("Could not create bin directory " + binDir); }
public List<ServiceData> getServices(File serviceDir) throws Exception { List<ServiceData> result = new ArrayList<ServiceData>(); if (!serviceDir.exists()) { return result; } for (File sdir : serviceDir.listFiles()) { File dataFile = new File(sdir, "data"); ServiceData data = getData(ServiceData.class, dataFile); result.add(data); } return result; }
public static void unzipInteralZip( ClassLoader classLoader, String resourcePath, File libDir, boolean debug) { if (debug) System.out.println("Extracting " + resourcePath); libDir.mkdir(); URL resource = classLoader.getResource(resourcePath); if (resource == null) { System.err.println("Could not find the " + resourcePath + " on classpath!"); System.exit(1); } class PrintDot extends TimerTask { public void run() { System.out.print("."); } } Timer timer = new Timer(); PrintDot task = new PrintDot(); timer.schedule(task, 0, 2000); try { BufferedInputStream bis = new BufferedInputStream(resource.openStream()); JarInputStream jis = new JarInputStream(bis); JarEntry je = null; while ((je = jis.getNextJarEntry()) != null) { java.io.File f = new java.io.File(libDir.toString() + java.io.File.separator + je.getName()); if (je.isDirectory()) { f.mkdir(); continue; } File parentDir = new File(f.getParent()); if (!parentDir.exists()) { parentDir.mkdir(); } FileOutputStream fileOutStream = new FileOutputStream(f); writeStreamTo(jis, fileOutStream, 8 * KB); if (f.getPath().endsWith("pack.gz")) { unpack(f); fileOutStream.close(); f.delete(); } } } catch (Exception exc) { task.cancel(); exc.printStackTrace(); } task.cancel(); }
public static boolean deleteAll(File file) { boolean b = true; if ((file != null) && file.exists()) { if (file.isDirectory()) { try { File[] files = file.listFiles(); for (File f : files) b &= deleteAll(f); } catch (Exception e) { return false; } } b &= file.delete(); } return b; }
public static void testOutofDate() throws Exception { Workspace ws = Workspace.getWorkspace(new File("test/ws")); Project project = ws.getProject("p3"); File bnd = new File("test/ws/p3/bnd.bnd"); assertTrue(bnd.exists()); project.clean(); File pt = project.getTarget(); if (!pt.exists() && !pt.mkdirs()) { throw new IOException("Could not create directory " + pt); } try { // Now we build it. File[] files = project.build(); System.err.println(project.getErrors()); System.err.println(project.getWarnings()); assertTrue(project.isOk()); assertNotNull(files); assertEquals(1, files.length); // Now we should not rebuild it long lastTime = files[0].lastModified(); files = project.build(); assertEquals(1, files.length); assertTrue(files[0].lastModified() == lastTime); Thread.sleep(2000); project.updateModified(System.currentTimeMillis(), "Testing"); files = project.build(); assertEquals(1, files.length); assertTrue("Must have newer files now", files[0].lastModified() > lastTime); } finally { project.clean(); } }
private InputStream getResourceStream(final File file, final String resourceName) { try { JarFile jarFile = this.jarFiles.get(file); if (jarFile == null && file.isDirectory()) { final File resource = new File(file, resourceName); if (resource.exists()) { return new FileInputStream(resource); } } else { if (jarFile == null) { if (!file.exists()) { return null; } jarFile = new JarFile(file); this.jarFiles.put(file, jarFile); jarFile = this.jarFiles.get(file); } final JarEntry entry = jarFile.getJarEntry(resourceName); if (entry != null) { return jarFile.getInputStream(entry); } } } catch (Exception e) { this.log( "Ignoring Exception " + e.getClass().getName() + ": " + e.getMessage() + " reading resource " + resourceName + " from " + file, 3); } return null; }
private void updateLinuxServiceInstaller() { try { File dir = new File(directory, "CTP"); if (suppressFirstPathElement) dir = dir.getParentFile(); Properties props = new Properties(); String ctpHome = dir.getAbsolutePath(); cp.appendln(Color.black, "...CTP_HOME: " + ctpHome); ctpHome = ctpHome.replaceAll("\\\\", "\\\\\\\\"); props.put("CTP_HOME", ctpHome); File javaHome = new File(System.getProperty("java.home")); String javaBin = (new File(javaHome, "bin")).getAbsolutePath(); cp.appendln(Color.black, "...JAVA_BIN: " + javaBin); javaBin = javaBin.replaceAll("\\\\", "\\\\\\\\"); props.put("JAVA_BIN", javaBin); File linux = new File(dir, "linux"); File install = new File(linux, "ctpService-ubuntu.sh"); cp.appendln(Color.black, "Linux service installer:"); cp.appendln(Color.black, "...file: " + install.getAbsolutePath()); String bat = getFileText(install); bat = replace(bat, props); // do the substitutions bat = bat.replace("\r", ""); setFileText(install, bat); // If this is an ISN installation, put the script in the correct place. String osName = System.getProperty("os.name").toLowerCase(); if (programName.equals("ISN") && !osName.contains("windows")) { install = new File(linux, "ctpService-red.sh"); cp.appendln(Color.black, "ISN service installer:"); cp.appendln(Color.black, "...file: " + install.getAbsolutePath()); bat = getFileText(install); bat = replace(bat, props); // do the substitutions bat = bat.replace("\r", ""); File initDir = new File("/etc/init.d"); File initFile = new File(initDir, "ctpService"); if (initDir.exists()) { setOwnership(initDir, "edge", "edge"); setFileText(initFile, bat); initFile.setReadable(true, false); // everybody can read //Java 1.6 initFile.setWritable(true); // only the owner can write //Java 1.6 initFile.setExecutable(true, false); // everybody can execute //Java 1.6 } } } catch (Exception ex) { ex.printStackTrace(); System.err.println("Unable to update the Linux service ctpService.sh file"); } }
/** * Creates a new Help window associated with the JMenuItem passed as parameters * * @param help */ public HelpWindow(JMenuItem help) { File path = new File(Configuration.instance().getTangaraPath().getParentFile(), "Help"); File log = new File(path, LOG_FILE); if (!log.exists()) { // Log file does not exist : we create the help set createJavaHelp(path, Configuration.instance().getLanguage()); } else { // Log file exists : we check that help set correspond to the current language try { BufferedReader reader = new BufferedReader(new FileReader(log)); String ligne = reader.readLine(); if (ligne != null) { StringTokenizer st = new StringTokenizer(ligne); if (st.nextToken().equals("Language") && !st.nextToken().equals(Configuration.instance().getLanguage())) // Language has changed: we re-create the help set createJavaHelp(path, Configuration.instance().getLanguage()); } reader.close(); } catch (Exception e) { LOG.error("Error while reading log file " + e); } } // Set up the help viewer // FIXME help desactivated // try { // URL [] list = new URL[1]; // list[0] = path.toURI().toURL(); // // ClassLoader cl = new URLClassLoader(list); // URL url = HelpSet.findHelpSet(cl, HELPSET_NAME, new // Locale(Configuration.instance().getLanguage())); // HelpSet hs = new HelpSet(cl, url); // // HelpBroker hb = hs.createHelpBroker(); // // CSH.setHelpIDString(help, FIRST_PAGE); // // help.addActionListener(new CSH.DisplayHelpFromSource(hb)); // } catch (Exception e1) { // LOG.error("Error1 " + e1); // } }
// Get the installer program file by looking in the user.dir for [programName]-installer.jar. private File getInstallerProgramFile() { System.out.println("Looking for the installer program file"); File programFile; try { programFile = new File(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI()); } catch (Exception ex) { String name = getProgramName(); programFile = new File(name + "-installer.jar"); } programFile = new File(programFile.getAbsolutePath()); if (programFile.exists()) System.out.println("...found " + programFile); else { System.err.println("...unable to find the program file " + programFile + "\n...exiting."); exit(); } return programFile; }
private String listFiles(final File cache, List<File> toDelete) throws Exception { boolean stopServices = false; if (toDelete == null) { toDelete = new ArrayList<File>(); } else { stopServices = true; } int count = 0; Formatter f = new Formatter(); f.format(" - Cache:%n * %s%n", cache.getCanonicalPath()); f.format(" - Commands:%n"); for (CommandData cdata : getCommands(new File(cache, COMMANDS))) { f.format(" * %s \t0 handle for \"%s\"%n", cdata.bin, cdata.name); toDelete.add(new File(cdata.bin)); count++; } f.format(" - Services:%n"); for (ServiceData sdata : getServices(new File(cache, SERVICE))) { if (sdata != null) { f.format(" * %s \t0 service directory for \"%s\"%n", sdata.sdir, sdata.name); toDelete.add(new File(sdata.sdir)); File initd = platform.getInitd(sdata); if (initd != null && initd.exists()) { f.format(" * %s \t0 init.d file for \"%s\"%n", initd.getCanonicalPath(), sdata.name); toDelete.add(initd); } if (stopServices) { Service s = getService(sdata); try { s.stop(); } catch (Exception e) { } } count++; } } f.format("%n"); String result = (count > 0) ? f.toString() : null; f.close(); return result; }
private String listSupportFiles(List<File> toDelete) throws Exception { Formatter f = new Formatter(); try { if (toDelete == null) { toDelete = new ArrayList<File>(); } int precount = toDelete.size(); File confFile = IO.getFile(platform.getConfigFile()).getCanonicalFile(); if (confFile.exists()) { f.format(" * %s \t0 Config file%n", confFile); toDelete.add(confFile); } String result = (toDelete.size() > precount) ? f.toString() : null; return result; } finally { f.close(); } }
public ArtifactData get(byte[] sha) throws Exception { String name = Hex.toHexString(sha); File data = IO.getFile(repoDir, name + ".json"); reporter.trace("artifact data file %s", data); if (data.isFile()) { // Bin + metadata ArtifactData artifact = codec.dec().from(data).get(ArtifactData.class); artifact.file = IO.getFile(repoDir, name).getAbsolutePath(); return artifact; } File bin = IO.getFile(repoDir, name); if (bin.exists()) { // Only bin ArtifactData artifact = new ArtifactData(); artifact.file = bin.getAbsolutePath(); artifact.sha = sha; return artifact; } return null; }