util

Clone or download

Modified Files

--- 'a/src/main/java/com/StreamPi/Util/LoggerHelper/StreamPiLogFileHandler.java'
+++ b/src/main/java/com/StreamPi/Util/LoggerHelper/StreamPiLogFileHandler.java
@@ -1,13 +1,14 @@
package com.StreamPi.Util.LoggerHelper;
import java.io.IOException;
+import java.io.Serializable;
import java.util.logging.FileHandler;
public class StreamPiLogFileHandler extends FileHandler {
- public StreamPiLogFileHandler() throws IOException, SecurityException
+ public StreamPiLogFileHandler(String prePath) throws IOException, SecurityException
{
- super("streampi.log", false);
+ super(prePath+"../streampi.log", false);
setFormatter(new StreamPiLogFormatter());
}
--- 'a/src/main/java/com/StreamPi/Util/XMLConfigHelper/XMLConfigHelper.java'
+++ b/src/main/java/com/StreamPi/Util/XMLConfigHelper/XMLConfigHelper.java
@@ -1,39 +1,87 @@
package com.StreamPi.Util.XMLConfigHelper;
+import java.io.File;
+import java.util.logging.Logger;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public class XMLConfigHelper {
+
+ private static Logger logger = Logger.getLogger(XMLConfigHelper.class.getName());
public static String getStringProperty(Element parentElement, String propertyName) throws Exception
{
- return getProperty(parentElement, propertyName);
+ return getProperty(parentElement, propertyName, false, null, null);
}
public static int getIntProperty(Element parentElement, String propertyName) throws Exception
{
- return Integer.parseInt(getProperty(parentElement, propertyName));
+ return Integer.parseInt(getProperty(parentElement, propertyName, false, null, null));
}
+
public static boolean getBooleanProperty(Element parentElement, String propertyName) throws Exception
{
- return getProperty(parentElement, propertyName).equals("true");
+ return getProperty(parentElement, propertyName, false, null, null).equals("true");
}
- public static String getProperty(Element parentElement, String propertyName) throws Exception
+ public static String getProperty(Element parentElement, String propertyName, boolean createNewIfDoesntExist, Document document, File file) throws Exception
{
- return parentElement.getElementsByTagName(propertyName).item(0).getTextContent();
+ try {
+ return parentElement.getElementsByTagName(propertyName).item(0).getTextContent();
+ }
+ catch (Exception e)
+ {
+ logger.warning("CANNOT get property "+parentElement.getNodeName()+"."+propertyName+"!");
+
+ if(createNewIfDoesntExist)
+ {
+ logger.warning("Creating new property by that name ...");
+
+ Element newProp = document.createElement(propertyName);
+ parentElement.appendChild(newProp);
+
+ save(document, file);
+ }
+
+ throw e;
+ }
}
+ public static void save(Document document, File file) throws Exception
+ {
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ Result output = new StreamResult(file);
+ Source input = new DOMSource(document);
+
+ transformer.transform(input, output);
+ }
public static String getStringProperty(Element parentElement, String propertyName, String ifNotPresent, boolean printStackTrace)
{
+ return getStringProperty(parentElement, propertyName, ifNotPresent, printStackTrace, false, null, null);
+ }
+
+
+ public static String getStringProperty(Element parentElement, String propertyName, String ifNotPresent, boolean printStackTrace, boolean createNewIfDoesntExist,
+ Document document, File file)
+ {
String tbr = ifNotPresent;
try
{
- tbr = getProperty(parentElement, propertyName);
+ tbr = getProperty(parentElement, propertyName, createNewIfDoesntExist, document, file);
}
catch(Exception e)
{
@@ -51,44 +99,70 @@ public class XMLConfigHelper {
node.removeChild(node.getFirstChild());
}
- public static String getStringProperty(Element parentElement, String propertyName, String ifNotPresent)
+ public static int getIntProperty(Element parentElement, String propertyName, int ifNotPresent, boolean printStackTrace)
{
- return getStringProperty(parentElement, propertyName, ifNotPresent, true);
+ return getIntProperty(parentElement, propertyName, ifNotPresent, printStackTrace, false, null, null);
}
- public static int getIntProperty(Element parentElement, String propertyName, int ifNotPresent)
+
+ public static int getIntProperty(Element parentElement, String propertyName, int ifNotPresent, boolean printStackTrace, boolean createNewIfDoesntExist,
+ Document document, File file)
{
int tbr = ifNotPresent;
try
{
- tbr = Integer.parseInt(getProperty(parentElement, propertyName));
+ tbr = Integer.parseInt(getProperty(parentElement, propertyName, createNewIfDoesntExist, document, file));
}
catch(Exception e)
{
- e.printStackTrace();
+ if(printStackTrace)
+ e.printStackTrace();
}
return tbr;
}
- public static boolean getBooleanProperty(Element parentElement, String propertyName, boolean ifNotPresent)
+ public static int getIntProperty(Element parentElement, String propertyName, int ifNotPresent)
+ {
+ return getIntProperty(parentElement, propertyName, ifNotPresent, true, false, null, null);
+ }
+
+ public static String getStringProperty(Element parentElement, String propertyName, String ifNotPresent)
+ {
+ return getStringProperty(parentElement, propertyName, ifNotPresent, true, false, null, null);
+ }
+
+ public static boolean getBooleanProperty(Element parentElement, String propertyName, boolean ifNotPresent, boolean printStackTrace)
+ {
+ return getBooleanProperty(parentElement, propertyName, ifNotPresent, printStackTrace, false, null, null);
+ }
+
+
+ public static boolean getBooleanProperty(Element parentElement, String propertyName, boolean ifNotPresent, boolean printStackTrace, boolean createNewIfDoesntExist,
+ Document document, File file)
{
boolean tbr = ifNotPresent;
try
{
- tbr = getProperty(parentElement, propertyName).equals("true");
+ tbr = getProperty(parentElement, propertyName, createNewIfDoesntExist, document, file).equals("true");
}
catch(Exception e)
{
- e.printStackTrace();
+ if(printStackTrace)
+ e.printStackTrace();
}
return tbr;
}
+ public static boolean getBooleanProperty(Element parentElement, String propertyName, boolean ifNotPresent)
+ {
+ return getBooleanProperty(parentElement, propertyName, ifNotPresent, true, false, null, null);
+ }
+
public static boolean doesElementExist(Element parent, String nameOfElement)
{
return parent.getElementsByTagName(nameOfElement).getLength() > 0;