private XMLGregorianCalendar getTimeToXmlTime(long lastModified) throws DatatypeConfigurationException { GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("UTC")); gc.setTime(new Date(lastModified)); XMLGregorianCalendar xmlTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); return xmlTime; }
/** Sets the time of the next scheduled raid */ private void setNextRaid(Info info) { String raidTime = info.getMessage().substring(13); raidTime = substituteTimeZone(raidTime); try { SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd HH:mm z"); Date date = parser.parse(raidTime); TimeZone z = parser.getTimeZone(); GregorianCalendar cal = new GregorianCalendar(z); cal.setTime(date); raids.put(info.getChannel(), cal); saveRaids(); info.sendMessage("Raid time set."); } catch (ParseException e) { info.sendMessage( "Date format was bad. Date format is like \"2008-11-26 21:45 EST\". You entered " + raidTime); } }
// Generates a unique filename based on the current date and time. private String getUniqueFileName() { GregorianCalendar now = new GregorianCalendar(); String fileName = "" + now.get(Calendar.YEAR) + now.get(Calendar.MONTH) + now.get(Calendar.DATE) + now.get(Calendar.HOUR_OF_DAY) + now.get(Calendar.MINUTE) + now.get(Calendar.SECOND) + now.get(Calendar.MILLISECOND); return fileName + ".jpg"; }
private void nextRaid(Info info) { GregorianCalendar nextRaid = raids.get(info.getChannel()); GregorianCalendar now = Utils.getRealDate(info); int diffMins = (int) ((nextRaid.getTimeInMillis() - now.getTimeInMillis()) / 1000 / 60); if (nextRaid.compareTo(now) < 0) { info.sendMessage("There is no future raid set."); return; } String tz = info.getMessage().substring(9).trim(); tz = substituteTimeZone(tz); TimeZone timeZone; if (tz.length() == 0) timeZone = tZF("GMT"); else timeZone = tZF(tz); formatter.setTimeZone(timeZone); String ret = "The next raid is scheduled for " + formatter.format(nextRaid.getTime()); ret = ret + getTimeDifference(diffMins); info.sendMessage(ret); }
/** * Creates the java help * * @param path the path where to create the java help * @param lang the spoken language */ private void createJavaHelp(File path, String lang) { File pages = new File(path, "pages"); if (pages.exists()) deleteDir(pages); pages.mkdir(); File javahelpsearch = new File(path, SEARCH_DIR); if (javahelpsearch.exists()) deleteDir(javahelpsearch); File helpset_file = new File(path, HELPSET_NAME_BASE + lang + HELPSET_NAME_SUFFIX); File config_file = null; File map_file = null; File tam_file = null; String underscore = ""; if (helpset_file.exists()) { // There is a helpset corresponding to the current language map_file = new File(path, MAP_NAME_BASE + lang + MAP_NAME_SUFFIX); tam_file = new File(path, TAM_NAME_BASE + lang + TAM_NAME_SUFFIX); underscore = "_" + lang; } else { // There is no helpset : we use the default one map_file = new File(path + "Map.jhm"); tam_file = new File(path + "TAM.xml"); } config_file = new File(path, CONFIG_FILE); if (config_file.exists()) config_file.delete(); if (map_file.exists()) map_file.delete(); if (tam_file.exists()) tam_file.delete(); boolean test = true; try { // Generates the jhm and copy the file for objects // Generates the TAM.xml file test = test && map_file.createNewFile(); test = test && tam_file.createNewFile(); File lang_dir = new File(path, "Main_pages/" + lang); test = test && lang_dir.exists(); if (test) { print = new PrintWriter(new BufferedWriter(new FileWriter(map_file))); // debut + images print.println( "<?xml version='1.0' encoding='ISO-8859-1' ?>\n " + "<!DOCTYPE map\n" + "PUBLIC \"-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN\"\n" + "\"http://java.sun.com/products/javahelp/map_1_0.dtd\">\n" + "\n" + "<map version=\"1.0\">\n" + "<mapID target=\"image\" url=\"Main_pages/logo_cbs_petit.gif\" />\n" + "<mapID target=\"tamicon\" url=\"Main_pages/tam.gif\" />\n" + "<mapID target=\"fileicon\" url=\"Main_pages/file.gif\" />\n" + "<mapID target=\"" + FIRST_PAGE + "\" url=\"pages/" + FIRST_PAGE + ".html\" />"); print2 = new PrintWriter(new BufferedWriter(new FileWriter(tam_file))); print2.println( " <?xml version='1.0' encoding='ISO-8859-1' ?> \n " + "<!DOCTYPE toc \n" + "PUBLIC \"-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 2.0//EN\"\n" + "\"../dtd/toc_2_0.dtd\">\n" + "<toc version=\"2.0\"> \n<tocitem text=\"" + getTitle(new File(path, "Main_pages/" + lang + "/" + FIRST_PAGE + ".html")) + "\" target=\"" + FIRST_PAGE + "\" image=\"image\">"); copyFile( new File(path, "Main_pages/" + lang + "/" + FIRST_PAGE + ".html"), new File(path, "pages/" + FIRST_PAGE + ".html")); // generation of the tree File[] list_lang_dir = lang_dir.listFiles(); for (int a = 0; a < list_lang_dir.length; a++) { if (!list_lang_dir[a].getName().equals("CVS") && list_lang_dir[a].isFile() && !list_lang_dir[a].getName().equals(FIRST_PAGE + ".html")) { mapAndTocForFile(list_lang_dir[a], path, underscore); } } // Ends print.println("</map>"); print.close(); print2.println("</tocitem>\n</toc>"); print2.close(); test = test && config_file.createNewFile(); if (test) { // Generates the config file print = new PrintWriter(new BufferedWriter(new FileWriter(config_file))); print.print("IndexRemove " + path.getAbsolutePath()); print.close(); } } } catch (Exception e) { LOG.error("Error getHelp " + e); } // Generates the search database String[] args = new String[] { pages.getAbsolutePath(), "-c", config_file.getAbsolutePath(), "-db", javahelpsearch.getAbsolutePath(), "-locale", lang }; // Indexer indexer=new Indexer(); // FIXME help desactived // Indexer.main(args); Calendar c = GregorianCalendar.getInstance(); c.setTime(new Date()); int day = c.get(Calendar.DAY_OF_MONTH); int month = c.get(Calendar.MONTH) + 1; int year = c.get(Calendar.YEAR); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); int seconds = c.get(Calendar.SECOND); File log = new File(path, LOG_FILE); try { log.createNewFile(); PrintWriter printlog = new PrintWriter(new BufferedWriter(new FileWriter(log))); printlog.println("Language " + lang); printlog.println( "Date : " + year + " " + month + " " + day + " " + hour + " " + minute + " " + seconds); printlog.close(); } catch (Exception e) { LOG.error("Error while creating log " + e); } }