public void loadInfo(String xmlPath, String confPath) { this.xmlPath = xmlPath; xml = new MyXML(xmlPath); if (xml.getDoc() != null && (xml.getRootNode().getName().equalsIgnoreCase("install") || xml.getRootNode().getName().equalsIgnoreCase("extension"))) { String type = xml.getRootNode().getAttributeValue("type"); plgGroup = xml.getRootNode().getAttributeValue("group"); String ver = xml.getRootNode().getAttributeValue("version"); extClient = xml.getRootNode().getAttributeValue("client"); Element eName = xml.getFirstElementByTag("name", null); if (eName == null) { return; } String name = eName.getValue().toLowerCase(); extType = SharedDefines.emJava_ext.valueOf(type); if (ver.compareTo(SharedDefines.emJava_ver.LATEST.getVersion()) < 0) { extVer = SharedDefines.emJava_ver.J_15; extFolder = extType.getPrefix() + name; } else { extVer = SharedDefines.emJava_ver.LATEST; extFolder = name; } if (!plgGroup.isEmpty()) extFolder = plgGroup; // check if xml is not in admin folder. [todo] optimize it if (xml.getFirstElementByTag("administration", null) == null) rootPath = MyCommonMethods.getParentDirectory(xmlPath, 3); else rootPath = MyCommonMethods.getParentDirectory(xmlPath, 4); if (!confPath.isEmpty()) { String user = MyCommonMethods.readPhpConf(confPath, "$user"); String password = MyCommonMethods.readPhpConf(confPath, "$password"); String dbName = MyCommonMethods.readPhpConf(confPath, "$db"); String host = MyCommonMethods.readPhpConf(confPath, "$host"); if (user.isEmpty() || dbName.isEmpty() || host.isEmpty()) return; propConn = new PropConnection(host, dbName, user, password, true); tableModelDatabases.cleanList(); tableModelDatabases.refreshList(0, "", propConn); } // XXX implements reading table with #__ special char // cell selection must be disabled and rowselection enabled Element tableSection = xml.getFirstElementByTag("tables", null); if (tableSection != null) { ArrayList<String> tables = xml.getElementsValues(xml.getElementsByTag("table", tableSection), null); for (String T : tables) { int coord[] = MyCommonMethods.search(frame.jTableDBList, T, 0, -1); // because single col frame.jTableDBList.addRowSelectionInterval(coord[1], coord[1]); } } frame.jButtonExport.setEnabled(true); } }