Allon Mureinik has uploaded a new change for review.

Change subject: core: Remove FieldsInVDCConfigXmlToSQL
......................................................................

core: Remove FieldsInVDCConfigXmlToSQL

The FieldsInVDCConfigXmlToSQL is no longer in use, and should be
removed.

Change-Id: I950bbe7e04fd2f90df23e70d0749c8fa8210235f
Signed-off-by: Allon Mureinik <amure...@redhat.com>
---
D backend/manager/dbscripts/FieldsInVDCConfigXmlToSQL.java
1 file changed, 0 insertions(+), 263 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/91/14191/1

diff --git a/backend/manager/dbscripts/FieldsInVDCConfigXmlToSQL.java 
b/backend/manager/dbscripts/FieldsInVDCConfigXmlToSQL.java
deleted file mode 100644
index dfd8784..0000000
--- a/backend/manager/dbscripts/FieldsInVDCConfigXmlToSQL.java
+++ /dev/null
@@ -1,263 +0,0 @@
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Properties;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * This utility takes the FieldsInVDConfig.xml and generates an SQL It 
generates a "insert if not exists" SQL for each
- * one of the fields (existence by name + version) For fields with override it 
also provides an update statement
- */
-public class FieldsInVDCConfigXmlToSQL {
-
-    
-    public static final String JDBC_PROPERTIES = "jdbc.properties";
-    public static final String INSERT_NOT_EXIST_QUERY =
-            "insert into vdc_options (option_name,option_value,version) select 
 '%1$s',%4$s'%2$s','%3$s' where not exists (select option_name,version from 
vdc_options where"
-                    +
-                    " option_name='%1$s' and version='%3$s');";
-    public static final String UPDATE_QUERY =
-            "update vdc_options set option_value=%4$s'%2$s' where 
option_name='%1$s' and version='%3$s';";
-    
-    public static final String DELETE_QUERY = "delete from vdc_options where 
option_name='%1$s' and version='%2$s';";
-
-    public static final String CHARS_FOR_ESCAPING = "\\%";
-    private static final String COMMENT = "--Handling %1$s";
-
-    public static void main(String[] args) {
-        if (args.length != 1) {
-            System.err.println("Parameters:<path to FieldsInVDCConfig.xml>");
-            return;
-        }
-        FieldsInVDCConfigXmlToSQL gen = new FieldsInVDCConfigXmlToSQL();
-        gen.initPGDriver();
-        long numOfExistingOptions = gen.getNumOfExistingOptions();
-        if (numOfExistingOptions < 20) { //We have more than 20 options - this 
is just a safe measure
-            System.err.println("The script must be run after create_db.sh is 
run and the database is filled with options");
-            return;
-        }
-        gen.generate(args[0]);
-
-    }
-
-    public void initPGDriver() {
-        try {
-            Class.forName("org.postgresql.Driver");
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("Couldn't find driver jdbc class");
-            System.exit(1);
-        }
-    }
-
-    public long getNumOfExistingOptions() {
-        Connection c = null;
-        try {
-            c = getConnection();
-            Statement statement = 
c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
-                ResultSet.CONCUR_UPDATABLE);
-            ResultSet rs = statement.executeQuery("select count(*) cnt from 
vdc_options");
-            rs.beforeFirst();
-            rs.next(); 
-            long result = rs.getLong("cnt");
-            return result;
-        } catch (Exception se) {
-            se.printStackTrace();
-            System.exit(1);
-            return -1;
-        } finally {
-            closeConnection(c);
-        }
-    }
-
-    private void closeConnection(Connection c) {
-        if (c != null) {
-            try {
-                c.close();
-            }
-            catch (Exception ex) {
-                ex.printStackTrace();
-                System.exit(1);
-            }
-        }
-    }
-
-    private void generate(String pathToFieldsInVDCConfigXML) {
-
-        FileInputStream fis = null;
-        try {
-            fis = new FileInputStream(pathToFieldsInVDCConfigXML);
-            DocumentBuilderFactory domFactory = 
DocumentBuilderFactory.newInstance();
-            domFactory.setNamespaceAware(true);
-            DocumentBuilder builder = domFactory.newDocumentBuilder();
-            Document doc = builder.parse(fis);
-            deleteOptionsNotInXML(doc);
-            NodeList list = getVersionNodes(doc);
-            for (int counter = 0; counter < list.getLength(); counter++) {
-                handleVersion((Element) list.item(counter));
-            }
-           System.out.println("update vdc_options set option_value = 
'Postgres' where option_name = 'DBEngine';");
-        } catch (Exception ex) {
-            ex.printStackTrace();
-            System.err.println("Failure in generating script" + 
ex.getMessage());
-        } finally {
-            if (fis != null) {
-                try {
-                    fis.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-
-    }
-
-    private Connection getConnection() throws Exception {
-        Properties props = new Properties();
-        props.load(new FileInputStream(JDBC_PROPERTIES));
-        String user = props.getProperty("user");
-        String password = props.getProperty("password");
-        String url = props.getProperty("url");
-        Connection c = DriverManager.getConnection(url,
-                                              user, password);
-        return c;
-    }
-
-    private void deleteOptionsNotInXML(Document doc) throws IOException, 
FileNotFoundException, SQLException,
-            XPathExpressionException {
-        Connection c = null;
-        try {
-            c = getConnection();
-            compareDatabaseAndXML(doc, c);
-        } catch (Exception se) {
-            se.printStackTrace();
-            System.exit(1);
-        }
-        finally {
-            closeConnection(c);
-        }
-    }
-
-    private void compareDatabaseAndXML(Document doc, Connection c) throws 
SQLException, XPathExpressionException {
-        Statement statement = 
c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
-                ResultSet.CONCUR_UPDATABLE);
-        ResultSet rs = statement.executeQuery("select * from vdc_options");
-        rs.beforeFirst();
-        while (rs.next()) {
-            String name = rs.getString("option_name");
-            String version = rs.getString("version");
-            if (!existsInVersion(doc,version,name)) {
-                System.out.println(String.format(DELETE_QUERY,name,version));
-            }
-        }
-    }
-
-    private NodeList getVersionNodes(Document doc) throws 
XPathExpressionException {
-        // Get all XML element named Version - they contain the fields per 
version
-        XPath xpath = XPathFactory.newInstance().newXPath();
-        XPathExpression expr = xpath.compile("//Version");
-        NodeList list = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
-        return list;
-    }
-
-    private boolean existsInVersion(Document doc, String version, String name) 
throws XPathExpressionException {
-            try {
-                NodeList versionNodes = getVersionNodes(doc);
-                for (int counter = 0; counter < versionNodes.getLength(); 
counter++) {
-                    if (fieldExists((Element) 
versionNodes.item(counter),name)) {
-                        return true;
-                    }
-                }
-                
-                return false;
-
-            } catch (XPathExpressionException e) {
-                throw e;
-            }
-    }
-
-    private boolean fieldExists(Element versionElement, String name) throws 
XPathExpressionException {
-        NodeList list = getFieldsNodes(versionElement);
-        for (int counter = 0; counter < list.getLength(); counter++) {
-            Element fieldElement = (Element)list.item(counter);
-            String value = fieldElement.getAttribute(name);
-            if (value != null && !value.isEmpty()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void handleVersion(Element versionElement) {
-        String version = versionElement.getAttribute("name");
-        try {
-            NodeList list = getFieldsNodes(versionElement);
-            for (int counter = 0; counter < list.getLength(); counter++) {
-                handleOption((Element) list.item(counter), version);
-            }
-        } catch (Exception ex) {
-            System.err.println("Error in generating queries for verison " + 
version + "exception is: "
-                    + ex.getMessage());
-            System.exit(1);
-        }
-
-    }
-
-    private NodeList getFieldsNodes(Element versionElement) throws 
XPathExpressionException {
-        // Get all XML elements named Field - they contain the field 
information
-        NodeList list = (NodeList) 
versionElement.getElementsByTagName("Field");
-        return list;
-    }
-
-    private boolean shouldEscape(String value) {
-
-        for (int counter = 0; counter < CHARS_FOR_ESCAPING.length(); 
counter++) {
-            char charForEscaping = CHARS_FOR_ESCAPING.charAt(counter);
-            if (value.indexOf(charForEscaping) != -1) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void handleOption(Element field, String version) {
-        // For each option get the key , value and override
-        // If override equals true - provide also an update statement
-        // The value must be checked if it should be escaped or not
-        String keyStr = field.getAttribute("key");
-        String valueStr = field.getAttribute("value");
-        String toolTip = field.getAttribute("toolTip");
-        String escapePrefix = "";
-        if (shouldEscape(valueStr)) {
-            escapePrefix = "E";
-            valueStr = escape(valueStr);
-        }
-        String overrideStr = field.getAttribute("override");
-        boolean override = Boolean.parseBoolean(overrideStr);
-        if (toolTip != null && !toolTip.isEmpty()) {
-            System.out.println(String.format(COMMENT,toolTip));
-        }
-        System.out.println(String.format(INSERT_NOT_EXIST_QUERY, keyStr, 
valueStr, version, escapePrefix));
-        if (override) {
-            System.out.println(String.format(UPDATE_QUERY, keyStr, valueStr, 
version, escapePrefix));
-        }
-    }
-
-    private String escape(String valueStr) {
-        return valueStr.replace("\\", "\\\\");
-    }
-}


--
To view, visit http://gerrit.ovirt.org/14191
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I950bbe7e04fd2f90df23e70d0749c8fa8210235f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <amure...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to