if (!publishDateFlag) { String[] lastURLs = this.config.getUrlLevels()[(this.config.getUrlLevels().length - 1)].split("\\\n", -1); if (lastURLs.length != 1) { return; } RegexParser rpUrl = new RegexParser(lastURLs[0]); boolean numberFlag = true; for (int i = 0; i < set.size(); ++i) { String url = set.get(i).getReferURL(); rpUrl.setText(url); if (rpUrl.match()) { String v = rpUrl.getMapx().getString("SortID"); set.get(i).setProp2(v); if (!NumberUtil.isLong(v)) { numberFlag = false; } } } set.sort("Prop2", "asc", numberFlag); for (int i = set.size() - 1; i >= 0; --i) { set.get(i).setOrderFlag(OrderUtil.getDefaultOrder()); set.get(i).setProp2(null); } set.update(); }
public static Mapx getSiteInfo(String file) throws Exception { FileInputStream fin = null; try { fin = new FileInputStream(file); fin.read(); byte[] bs = new byte[8]; fin.read(bs); bs = new byte[4]; if (!bufferRead(bs, fin)) { return null; } int len = NumberUtil.toInt(bs); byte[] bs = new byte[len]; if (!bufferRead(bs, fin)) return null; int len; byte[] bs = new byte[4]; if (!bufferRead(bs, fin)) { return null; } int len = NumberUtil.toInt(bs); byte[] bs = new byte[len]; if (!bufferRead(bs, fin)) return null; int len; byte[] bs = ZipUtil.unzip(bs); DataTable dt = (DataTable) FileUtil.unserialize(bs); return dt.getDataRow(0).toCaseIgnoreMapx(); } finally { if (fin != null) try { fin.close(); } catch (IOException e) { e.printStackTrace(); } } }
public boolean importSite(String poolName) { User.UserData user = new User.UserData(); user.setUserName("admin"); user.setBranchInnerCode("86"); user.setLogin(true); user.setManager(true); User.setCurrent(user); this.isNewSite = (("0".equals(this.map.getString("ID"))) || (StringUtil.isEmpty(this.map.getString("ID")))); this.NoRelas = SiteTableRela.getNoRelaArray(); this.TableRelas = SiteTableRela.getRelas(); this.da = new DataAccess(); FileInputStream fin = null; try { fin = new FileInputStream(this.file); this.da.setAutoCommit(false); this.ExportCharset = ((fin.read() == 1) ? "GBK" : "UTF-8"); byte[] bs = new byte[8]; fin.read(bs); this.siteID = NumberUtil.toLong(bs); boolean flag = true; int i = 0; while (true) { bs = new byte[4]; if (!bufferRead(bs, fin)) { break; } int len = NumberUtil.toInt(bs); bs = new byte[len]; if (!bufferRead(bs, fin)) { flag = false; break; } Object obj = FileUtil.unserialize(bs); bs = new byte[4]; if (!bufferRead(bs, fin)) { flag = false; break; } len = NumberUtil.toInt(bs); bs = new byte[len]; if (!bufferRead(bs, fin)) { flag = false; break; } bs = ZipUtil.unzip(bs); this.task.setPercent(i * 100 / 200); dealOneEntry(bs, obj); ++i; } if (flag) { this.da.commit(); } else { LogUtil.error("读取站点导出文件时发生错误!"); this.da.rollback(); } this.da.setAutoCommit(true); Site.updatePrivAndFile(this.map.getString("Alias")); return flag; } catch (Exception e1) { e1.printStackTrace(); try { this.da.rollback(); } catch (SQLException e) { e.printStackTrace(); } return false; } finally { try { this.da.setAutoCommit(true); } catch (Exception e) { e.printStackTrace(); } try { this.da.close(); } catch (Exception e) { e.printStackTrace(); } try { fin.close(); } catch (Exception e) { e.printStackTrace(); } } }