package org.korsakow.services.tdg; import javax.xml.xpath.XPathException; import javax.xml.xpath.XPathExpressionException; import org.korsakow.ide.DataRegistry; import org.korsakow.ide.XPathHelper; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class SnuTDG { public static final String NODE_NAME = "Snu"; public static int insert(long version, String name, Long mainMediaId, float rating, Long backgroundSoundId, String backgroundSoundMode, float backgroundSoundVolume, boolean backgroundSoundLooping, Long interfaceId, Long lives, boolean looping, Long max_links, boolean starter, boolean ender, Long previewMediaId, String previewText, String insertText) throws XPathException{ return insert(DataRegistry.getMaxId(), version, name, mainMediaId, rating, backgroundSoundId, backgroundSoundMode, backgroundSoundVolume, backgroundSoundLooping, interfaceId, lives, looping, max_links, starter, ender, previewMediaId, previewText, insertText); } public static int insert(long id, long version, String name, Long mainMediaId, float rating, Long backgroundSoundId, String backgroundSoundMode, float backgroundSoundVolume, boolean backgroundSoundLooping, Long interfaceId, Long lives, boolean looping, Long max_links, boolean starter, boolean ender, Long previewMediaId, String previewText, String insertText) throws XPathExpressionException{ Element element = DataRegistry.getHelper().appendElement("/korsakow/snus", NODE_NAME); DataRegistry.getHelper().setLong(element, "id", id); DataRegistry.getHelper().setLong(element, "version", version); return update(id, version, name, mainMediaId, rating, backgroundSoundId, backgroundSoundMode, backgroundSoundVolume, backgroundSoundLooping, interfaceId, lives, looping, max_links, starter, ender, previewMediaId, previewText, insertText); } public static int delete(long id, long version) throws XPathExpressionException { NodeList list = DataRegistry.getHelper().removeNodes(XPathHelper.formatQuery("/korsakow/snus/Snu[id=? and version=?]", id, version)); return list.getLength(); } public static int update(long id, long version, String name, Long mainMediaId, float rating, Long backgroundSoundId, String backgroundSoundMode, float backgroundSoundVolume, boolean backgroundSoundLooping, Long interfaceId, Long lives, boolean looping, Long max_links, boolean starter, boolean ender, Long previewMediaId, String previewText, String insertText) throws XPathExpressionException{ Element element = DataRegistry.getHelper().findElementByIdTag(id); // Element element = DataRegistry.getHelper().xpathAsElement(XPathHelper.formatQuery("/korsakow/snus/Snu[id=? and version=?]", id, version)); if (element == null) return 0; DataRegistry.getHelper().setLong(element, "id", id); DataRegistry.getHelper().setLong(element, "version", version+1); DataRegistry.getHelper().setString(element, "name", name); DataRegistry.getHelper().setLong(element, "mainMediaId", mainMediaId); DataRegistry.getHelper().setFloat(element, "rating", rating); DataRegistry.getHelper().setLong(element, "backgroundSoundId", backgroundSoundId); DataRegistry.getHelper().setString(element, "backgroundSoundMode", backgroundSoundMode); DataRegistry.getHelper().setFloat(element, "backgroundSoundVolume", backgroundSoundVolume); DataRegistry.getHelper().setBoolean(element, "backgroundSoundLooping", backgroundSoundLooping); DataRegistry.getHelper().setLong(element, "interfaceId", interfaceId); DataRegistry.getHelper().setLong(element, "lives", lives); DataRegistry.getHelper().setBoolean(element, "looping", looping); DataRegistry.getHelper().setLong(element, "maxLinks", max_links); DataRegistry.getHelper().setBoolean(element, "starter", starter); DataRegistry.getHelper().setBoolean(element, "ender", ender); DataRegistry.getHelper().setLong(element, "previewMediaId", previewMediaId); DataRegistry.getHelper().setString(element, "previewText", previewText); DataRegistry.getHelper().setString(element, "insertText", insertText); return 1; } public static void createSnuTable() throws XPathExpressionException { if (DataRegistry.getHelper().xpathAsElement("/korsakow/snus") == null) { DataRegistry.getHelper().appendElement("/korsakow", "snus"); } } public static void dropTable () throws XPathExpressionException{ DataRegistry.getHelper().removeNodes(XPathHelper.formatQuery("/korsakow/snus")); } }