/** * 'handler' can be of any type that implements 'exportedInterface', but only methods declared by * the interface (and its superinterfaces) will be invocable. */ public <T> InAppServer( String name, String portFilename, InetAddress inetAddress, Class<T> exportedInterface, T handler) { this.fullName = name + "Server"; this.exportedInterface = exportedInterface; this.handler = handler; // In the absence of authentication, we shouldn't risk starting a server as root. if (System.getProperty("user.name").equals("root")) { Log.warn( "InAppServer: refusing to start unauthenticated server \"" + fullName + "\" as root!"); return; } try { File portFile = FileUtilities.fileFromString(portFilename); secretFile = new File(portFile.getPath() + ".secret"); Thread serverThread = new Thread(new ConnectionAccepter(portFile, inetAddress), fullName); // If there are no other threads left, the InApp server shouldn't keep us alive. serverThread.setDaemon(true); serverThread.start(); } catch (Throwable th) { Log.warn("InAppServer: couldn't start \"" + fullName + "\".", th); } writeNewSecret(); }
public void restartApplication() { try { final String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "javaw"; final File currentJar = new File(network.class.getProtectionDomain().getCodeSource().getLocation().toURI()); System.out.println("javaBin " + javaBin); System.out.println("currentJar " + currentJar); System.out.println("currentJar.getPath() " + currentJar.getPath()); /* is it a jar file? */ // if(!currentJar.getName().endsWith(".jar")){return;} try { // xmining = 0; // systemx.shutdown(); } catch (Exception e) { e.printStackTrace(); } /* Build command: java -jar application.jar */ final ArrayList<String> command = new ArrayList<String>(); command.add(javaBin); command.add("-jar"); command.add("-Xms256m"); command.add("-Xmx1024m"); command.add(currentJar.getPath()); final ProcessBuilder builder = new ProcessBuilder(command); builder.start(); // try{Thread.sleep(10000);} catch (InterruptedException e){} // close and exit SystemTray.getSystemTray().remove(network.icon); System.exit(0); } // try catch (Exception e) { JOptionPane.showMessageDialog(null, e.getCause()); } } // ******************************
public void initPlugin(LockssDaemon daemon, File file) throws PluginException { ExternalizableMap oneMap = new ExternalizableMap(); oneMap.loadMap(file); if (oneMap.getErrorString() != null) { throw new PluginException(oneMap.getErrorString()); } initPlugin(daemon, file.getPath(), oneMap, null); }
/** * Read block from file. * * @param file - File to read. * @param off - Marker position in file to start read from if {@code -1} read last blockSz bytes. * @param blockSz - Maximum number of chars to read. * @param lastModified - File last modification time. * @return Read file block. * @throws IOException In case of error. */ public static VisorFileBlock readBlock(File file, long off, int blockSz, long lastModified) throws IOException { RandomAccessFile raf = null; try { long fSz = file.length(); long fLastModified = file.lastModified(); long pos = off >= 0 ? off : Math.max(fSz - blockSz, 0); // Try read more that file length. if (fLastModified == lastModified && fSz != 0 && pos >= fSz) throw new IOException( "Trying to read file block with wrong offset: " + pos + " while file size: " + fSz); if (fSz == 0) return new VisorFileBlock(file.getPath(), pos, fLastModified, 0, false, EMPTY_FILE_BUF); else { int toRead = Math.min(blockSz, (int) (fSz - pos)); byte[] buf = new byte[toRead]; raf = new RandomAccessFile(file, "r"); raf.seek(pos); int cntRead = raf.read(buf, 0, toRead); if (cntRead != toRead) throw new IOException( "Count of requested and actually read bytes does not match [cntRead=" + cntRead + ", toRead=" + toRead + ']'); boolean zipped = buf.length > 512; return new VisorFileBlock( file.getPath(), pos, fSz, fLastModified, zipped, zipped ? zipBytes(buf) : buf); } } finally { U.close(raf, null); } }
/** * Checks to see if the absolute path is availabe thru an application global static variable or * thru a system variable. If so, appends the relative path to the absolute path and returns the * String. */ private String processSrcPath(String src) { String val = src; File imageFile = new File(src); if (imageFile.isAbsolute()) return src; // try to get application images path... if (MadChat.ApplicationImagePath != null) { String imagePath = MadChat.ApplicationImagePath; val = (new File(imagePath, imageFile.getPath())).toString(); } // try to get system images path... else { String imagePath = System.getProperty("system.image.path.key"); if (imagePath != null) { val = (new File(imagePath, imageFile.getPath())).toString(); } } // System.out.println("src before: " + src + ", src after: " + val); return val; }
static Properties getAuIdProperties(String location) { File propFile = new File(location + File.separator + AU_ID_FILE); try { InputStream is = new BufferedInputStream(new FileInputStream(propFile)); Properties idProps = new Properties(); idProps.load(is); is.close(); return idProps; } catch (Exception e) { logger.warning("Error loading au id from " + propFile.getPath() + "."); return null; } }
public void loadImage(File f) { if (f == null) { thumbnail = null; } else { ImageIcon tmpIcon = new ImageIcon(f.getPath()); if (tmpIcon.getIconWidth() > 90) { thumbnail = new ImageIcon(tmpIcon.getImage().getScaledInstance(90, -1, Image.SCALE_DEFAULT)); } else { thumbnail = tmpIcon; } } }
/** * Searches for the directory 'dirPath'; if not found, tries to create it, then returns a File * object for that directory. */ public static File ensureDirExists(final String dirPath) { File dirpath = new File(dirPath); if (!dirpath.isDirectory()) { if (!dirpath.exists()) { printDebug("[Meta] " + dirpath + " does not exist: creating it..."); try { Files.createDirectories(Paths.get(dirpath.getPath())); return dirpath; } catch (IOException e) { printDebug("[Meta] Exception while creating directory:"); e.printStackTrace(); return null; } } else { printDebug( "[Meta] Error: path `" + dirpath + "' is not a valid directory path, and could not create it."); return null; } } else return dirpath; }
static void saveAuIdProperties(String location, Properties props) { // XXX these AU_ID_FILE entries need to be backed up elsewhere to avoid // single-point corruption File propDir = new File(location); if (!propDir.exists()) { logger.debug("Creating directory '" + propDir.getAbsolutePath() + "'"); propDir.mkdirs(); } File propFile = new File(propDir, AU_ID_FILE); try { logger.debug3("Saving au id properties at '" + location + "'."); OutputStream os = new BufferedOutputStream(new FileOutputStream(propFile)); props.store(os, "ArchivalUnit id info"); os.close(); propFile.setReadOnly(); } catch (IOException ioe) { logger.error("Couldn't write properties for " + propFile.getPath() + ".", ioe); throw new LockssRepository.RepositoryStateException("Couldn't write au id properties file."); } }
/** * Setter for workingFolder * * @param File */ public void setWorkingFolder(File workingFolder) { this.workingFolder = workingFolder; this.workingFolderPath = workingFolder.getPath(); }
public void run(String arg) { if (arg.equals("menus")) { updateMenus(); return; } if (IJ.getApplet() != null) return; URL url = getClass().getResource("/ij/IJ.class"); String ij_jar = url == null ? null : url.toString().replaceAll("%20", " "); if (ij_jar == null || !ij_jar.startsWith("jar:file:")) { error("Could not determine location of ij.jar"); return; } int exclamation = ij_jar.indexOf('!'); ij_jar = ij_jar.substring(9, exclamation); if (IJ.debugMode) IJ.log("Updater (jar loc): " + ij_jar); File file = new File(ij_jar); if (!file.exists()) { error("File not found: " + file.getPath()); return; } if (!file.canWrite()) { String msg = "No write access: " + file.getPath(); error(msg); return; } String[] list = openUrlAsList(IJ.URL + "/download/jars/list.txt"); int count = list.length + 3; String[] versions = new String[count]; String[] urls = new String[count]; String uv = getUpgradeVersion(); if (uv == null) return; versions[0] = "v" + uv; urls[0] = IJ.URL + "/upgrade/ij.jar"; if (versions[0] == null) return; for (int i = 1; i < count - 2; i++) { String version = list[i - 1]; versions[i] = version.substring(0, version.length() - 1); // remove letter urls[i] = IJ.URL + "/download/jars/ij" + version.substring(1, 2) + version.substring(3, 6) + ".jar"; } versions[count - 2] = "daily build"; urls[count - 2] = IJ.URL + "/ij.jar"; versions[count - 1] = "previous"; urls[count - 1] = IJ.URL + "/upgrade/ij2.jar"; int choice = showDialog(versions); if (choice == -1 || !Commands.closeAll()) return; // System.out.println("choice: "+choice); // for (int i=0; i<urls.length; i++) System.out.println(" "+i+" "+urls[i]); byte[] jar = null; if ("daily build".equals(versions[choice]) && notes != null && notes.contains(" </title>")) jar = getJar("http://wsr.imagej.net/download/daily-build/ij.jar"); if (jar == null) jar = getJar(urls[choice]); if (jar == null) { error("Unable to download ij.jar from " + urls[choice]); return; } Prefs.savePreferences(); // System.out.println("saveJar: "+file); saveJar(file, jar); if (choice < count - 2) // force macro Function Finder to download fresh list new File(IJ.getDirectory("macros") + "functions.html").delete(); System.exit(0); }
public void run(String arg) { if (arg.equals("menus")) { updateMenus(); return; } if (IJ.getApplet() != null) return; // File file = new File(Prefs.getHomeDir() + File.separator + "ij.jar"); // if (isMac() && !file.exists()) // file = new File(Prefs.getHomeDir() + File.separator + // "ImageJ.app/Contents/Resources/Java/ij.jar"); URL url = getClass().getResource("/ij/IJ.class"); String ij_jar = url == null ? null : url.toString().replaceAll("%20", " "); if (ij_jar == null || !ij_jar.startsWith("jar:file:")) { error("Could not determine location of ij.jar"); return; } int exclamation = ij_jar.indexOf('!'); ij_jar = ij_jar.substring(9, exclamation); if (IJ.debugMode) IJ.log("Updater: " + ij_jar); File file = new File(ij_jar); if (!file.exists()) { error("File not found: " + file.getPath()); return; } if (!file.canWrite()) { String msg = "No write access: " + file.getPath(); if (IJ.isVista()) msg += Prefs.vistaHint; error(msg); return; } String[] list = openUrlAsList(IJ.URL + "/download/jars/list.txt"); int count = list.length + 2; String[] versions = new String[count]; String[] urls = new String[count]; String uv = getUpgradeVersion(); if (uv == null) return; versions[0] = "v" + uv; urls[0] = IJ.URL + "/upgrade/ij.jar"; if (versions[0] == null) return; for (int i = 1; i < count - 1; i++) { String version = list[i - 1]; versions[i] = version.substring(0, version.length() - 1); // remove letter urls[i] = IJ.URL + "/download/jars/ij" + version.substring(1, 2) + version.substring(3, 6) + ".jar"; } versions[count - 1] = "daily build"; urls[count - 1] = IJ.URL + "/ij.jar"; int choice = showDialog(versions); if (choice == -1) return; if (!versions[choice].startsWith("daily") && versions[choice].compareTo("v1.39") < 0 && Menus.getCommands().get("ImageJ Updater") == null) { String msg = "This command is not available in versions of ImageJ prior\n" + "to 1.39 so you will need to install the plugin version at\n" + "<" + IJ.URL + "/plugins/imagej-updater.html>."; if (!IJ.showMessageWithCancel("Update ImageJ", msg)) return; } byte[] jar = getJar(urls[choice]); // file.renameTo(new File(file.getParent()+File.separator+"ij.bak")); if (version().compareTo("1.37v") >= 0) Prefs.savePreferences(); // if (!renameJar(file)) return; // doesn't work on Vista saveJar(file, jar); if (choice < count - 1) // force macro Function Finder to download fresh list new File(IJ.getDirectory("macros") + "functions.html").delete(); System.exit(0); }
public static void main(String[] args) throws Exception { String sourceUrlString = null; PrintWriter writer = null; File Directory = new File("asd\\Web Pages\\HousingAndEnvironment"); if (Directory.isDirectory()) { for (File f : Directory.listFiles()) { sourceUrlString = Directory.getPath() + "\\" + f.getName(); if (sourceUrlString.indexOf(':') == -1) sourceUrlString = "file:" + sourceUrlString; // reader = new BufferedReader(new FileReader(sourceUrlString)); writer = new PrintWriter("asd\\Web Pages\\HousingAndEnvironment" + f.getName() + ".txt"); Source source = new Source(new URL(sourceUrlString)); source.fullSequentialParse(); writer.print(source.getTextExtractor().setIncludeAttributes(true).toString()); writer.flush(); writer.close(); // MicrosoftConditionalCommentTagTypes.register(); // PHPTagTypes.register(); // PHPTagTypes.PHP_SHORT.deregister(); // remove PHP short tags for this example otherwise // they override processing instructions // MasonTagTypes.register(); // Call fullSequentialParse manually as most of the source will be parsed. // System.out.println("Document title:"); // String title=getTitle(source); // System.out.println(title==null ? "(none)" : title); // System.out.println("\nDocument description:"); // String description=getMetaValue(source,"description"); // System.out.println(description==null ? "(none)" : description); // // System.out.println("\nDocument keywords:"); // String keywords=getMetaValue(source,"keywords"); // System.out.println(keywords==null ? "(none)" : keywords); // // System.out.println("\nLinks to other documents:"); // List<Element> linkElements=source.getAllElements(HTMLElementName.A); // for (Element linkElement : linkElements) { // String href=linkElement.getAttributeValue("href"); // if (href==null) continue; // // A element can contain other tags so need to extract the text from it: // String label=linkElement.getContent().getTextExtractor().toString(); // System.out.println(label+" <"+href+'>'); // } // System.out.println("\nAll text from file (exluding content inside SCRIPT and STYLE // elements):\n"); // System.out.println(source.getTextExtractor().setIncludeAttributes(true).toString()); // System.out.println("\nSame again but this time extend the TextExtractor class to also // exclude text from P elements and any elements with class=\"control\":\n"); // TextExtractor textExtractor=new TextExtractor(source) { // public boolean excludeElement(StartTag startTag) { // return startTag.getName()==HTMLElementName.P || // "control".equalsIgnoreCase(startTag.getAttributeValue("class")); // } // }; // System.out.println(textExtractor.setIncludeAttributes(true).toString()); } } }
private void mapAndTocForFile(File f, File path, String underscore) { // we get the single name of the file and the urlname int under_index2 = f.getName().indexOf("_"); int point_index2 = f.getName().indexOf("."); String named = f.getName().substring(under_index2 + 1, point_index2); String tmp = path.getAbsolutePath() + "Main_pages/fr/"; String url_name = f.getPath().replace("\\", "/").substring(tmp.length()); String targetName = url_name.substring(0, url_name.lastIndexOf(".html")); // now we will add into the map and the toc print.println("<mapID target=\"" + targetName + "\" url=\"pages/" + url_name + "\"/>"); File dir_associated = new File(f.getParent(), named); if ((dir_associated.exists() && dir_associated.isDirectory()) || named.equals("objects")) { print2.println( "<tocitem text=\"" + getTitle(f) + "\" target=\"" + targetName + "\" image=\"tamicon\">"); if (dir_associated.exists()) { // Apres on fait pareil pour tous les sous fichiers File[] sub_files = dir_associated.listFiles(); for (int i = 0; i < sub_files.length; i++) { if (!sub_files[i].getName().equals("CVS") && sub_files[i].isFile()) { if (sub_files[i].getName().endsWith(".html")) mapAndTocForFile(sub_files[i], path, underscore); else { try { copyFile( sub_files[i], new File(path, "pages/" + named + "/" + sub_files[i].getName())); } catch (IOException e) { LOG.error("Error while copying normal files in help " + e); } } } } } if (named.equals("objects")) { // Specialement pour les objets on les rajoute tous File objects_dir = new File( Configuration.instance() .getTangaraPath() .getParentFile() .getAbsolutePath() .replace("\\", "/") + "/objects/"); File[] listfiles = objects_dir.listFiles(); Vector<String> list_names = new Vector<String>(); HashMap<String, String> map = new HashMap<String, String>(); for (int i = 0; i < listfiles.length; i++) { try { if (listfiles[i].getName().endsWith(".jar")) { int point_index = listfiles[i].getName().lastIndexOf("."); String name = listfiles[i].getName().substring(0, point_index); // Copy the pages in the right directory File object_dir = new File(path, "pages/" + name); object_dir.mkdir(); File object_ressource = new File( Configuration.instance() .getTangaraPath() .getParentFile() .getAbsolutePath() .replace("\\", "/") + "/objects/resources/" + name + "/Help"); if (object_ressource.exists()) { File[] list_html_object = object_ressource.listFiles(); for (int e = 0; e < list_html_object.length; e++) { if (list_html_object[e].getName().endsWith(".html")) { int under_index = list_html_object[e].getName().lastIndexOf("_"); if (underscore.equals("") && under_index == -1) copyFile( list_html_object[e], new File(path, "pages/" + name + "/" + list_html_object[e].getName())); else if (!underscore.equals("")) { if (list_html_object[e].getName().contains(underscore)) copyFile( list_html_object[e], new File(path, "pages/" + name + "/" + list_html_object[e].getName())); } } else copyFile( list_html_object[e], new File(path, "pages/" + name + "/" + list_html_object[e].getName())); } // Gets the name of the object in the selected language String name_lang = null; if (underscore.equals("")) name_lang = name; else { name_lang = getLangName(listfiles[i]); } if (name_lang != null) { list_names.add(name_lang); map.put(name_lang, name); // Add to the map file print.println( "<mapID target=\"" + name + "\" url=\"pages/" + name + "/index" + underscore + ".html\" />"); } } } } catch (Exception e2) { LOG.error("Error2 getHelp " + e2); } } // Add to the tam file Collections.sort(list_names); for (String s : list_names) { print2.println( "<tocitem text=\"" + s + "\" target=\"" + map.get(s) + "\" image=\"fileicon\" />"); } } print2.println("</tocitem>"); } else { // pas de sous fichiers print2.println( "<tocitem text=\"" + getTitle(f) + "\" target=\"" + targetName + "\" image=\"fileicon\"/>"); } File parent = new File(path, "pages/" + url_name.substring(0, url_name.lastIndexOf(named) - 3)); if (!parent.exists()) parent.mkdirs(); File in_pages = new File(path, "pages/" + url_name); try { in_pages.createNewFile(); copyFile(f, in_pages); } catch (IOException e3) { LOG.error("Error 3 getHelp " + e3 + " " + f.getName()); } }
@Override public void run() { // TODO: Implement this method super.run(); start = 0; end = 0; LoadPageImage imp; HashMap<String, Object> map = new HashMap<String, Object>(); try { start = html.indexOf("page-submission", 0); start = html.indexOf("small_url =", start); end = html.indexOf("var full_url", start); s = "http:" + html.substring(start + 13, end - 3); final String img = s; map.put("img", s); end = html.indexOf(">Download<", end); start = html.lastIndexOf("href=", end); s = "http:" + html.substring(start + 6, end - 1); map.put("download", s); int std = s.lastIndexOf("/"); String name = PageActivity.HOME_PATH + s.substring(std + 1, s.length()); File f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { name = PageActivity.HOME_PATH + "s-" + s.substring(std + 1, s.length()); f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { imp = new LoadPageImage(); imp.start(img, -1, now); } } end = html.indexOf("Main Gallery", end); start = html.lastIndexOf("href=", end); end = html.indexOf("class=", start); s = html.substring(start + 6, end - 2); map.put("gallery", s); start = html.indexOf("<tr>\n<td", end); start = html.indexOf("<b>", start); end = html.indexOf("</b>", start); s = html.substring(start + 3, end); map.put("title", s); start = html.indexOf("href=", start); end = html.indexOf("><img", start); s = "http://www.furaffinity.net" + html.substring(start + 6, end - 1); map.put("userlink", s); start = html.indexOf("alt=", end); end = html.indexOf("\" src", start); s = html.substring(start + 5, end); map.put("username", s); start = html.indexOf("src=", end); end = html.indexOf("></a>", start); s = "http:" + html.substring(start + 5, end - 1); imp = new LoadPageImage(); imp.start(s, -2, now); map.put("usericon", s); start = html.indexOf("<br/><br/>", end); end = html.indexOf("</td>\n</tr>", start); int st = start; int ed = start - 2; String t = ""; s = ""; while (html.indexOf("<br/>", st + 1) < end - 6) { st = html.indexOf("<br/>", ed); ed = html.indexOf("<br/>", st + 1); t = html.substring(st + 5, ed); if (t.indexOf("href=") != -1) { int i1; int i2; i1 = t.indexOf("alt=\"", 0); i2 = t.indexOf("\"/>", i1); try { t = " @ " + t.substring(i1 + 5, i2) + " "; } catch (Exception e) { t = ""; } } t = t.replace("</td>", ""); t = t.replace("<td>", ""); t = t.replace("</tr>", ""); t = t.replace("<tr>", ""); t = t.replace("</table>", ""); t = t.replace("<table>", ""); t = t.replace("<br>", ""); t = t.replace("</br>", ""); if (t.indexOf("bbcode") != -1) { t = ""; } s += t; } map.put("info", s); if (now == PageActivity.now) { Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 5; PageActivity.hander.sendMessage(msg); } } catch (Exception e) { File f = new File(PageActivity.HOME_PATH + "LOG/lastPage.html"); if (f.exists()) { f.renameTo(new File(PageActivity.HOME_PATH + "LOG/lastErrorPage.html")); } Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 998; PageActivity.hander.sendMessage(msg); } }
public void setFile(File file) { elt.setAttribute("file", file.getPath()); }
public void run() { SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss"); Date now = new Date(); String startTime = sdfTime.format(now); int size = 0; String cacheResult = ""; int statusCode = 0; input = ""; try { // Get input from the client BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream())); PrintStream out = new PrintStream(server.getOutputStream()); out.flush(); boolean done = true; // System.out.println(in.readLine()); while ((line = in.readLine()) != null) { if (line.isEmpty()) { break; } input += line; // I know this trims off the newline characters, but don't fix it } // System.out.println(input); String[] header = input.split("\\s+"); File f = new File(header[1].substring(1)); // header[1].substring(1);//removes the / if (fileCache.containsKey(f.getName())) { cacheResult = "hit"; size = (int) fileCache.get(f.getName()).toString().length(); statusCode = 200; line = "HTTP/1.1 200 OK" + "\r\n" + "Content-Length: " + size + "\r\n"; line += "Content-Type: text/plain" + "\r\n\r\n"; out.print(line); out.flush(); out.println(fileCache.get(f.getName())); out.flush(); } else if (f.exists() && !f.isDirectory()) { cacheResult = "miss"; size = (int) f.length(); statusCode = 200; line = "HTTP/1.1 200 OK" + "\r\n" + "Content-Length: " + size + "\r\n"; line += "Content-Type: text/plain" + "\r\n\r\n"; out.print(line); out.flush(); out.println(new String(Files.readAllBytes(Paths.get(f.getPath())))); out.flush(); } else { f = new File("404.html"); cacheResult = "miss"; size = (int) f.length(); statusCode = 404; line = "HTTP/1.1 404 Not Found" + "\r\n" + "Content-Length: " + size + "\r\n"; line += "Content-Type: text/html" + "\r\n\r\n"; out.print(line); out.flush(); out.println(new String(Files.readAllBytes(Paths.get(f.getPath())))); out.flush(); } now = new Date(); String endTime = sdfTime.format(now); this.print("localhost/" + f.getName(), startTime, endTime, size, cacheResult, statusCode); in.close(); out.close(); server.close(); } catch (IOException ioe) { System.out.println("IOException on socket listen: " + ioe); ioe.printStackTrace(); } }