This commit is contained in:
Douglas Gillespie 2023-03-15 23:38:51 +00:00
parent 27b8456c5a
commit 8c3c0098da
4 changed files with 26 additions and 1 deletions

View File

@ -17,6 +17,7 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="lib" path="C:/Users/dg50/source/repos/nilusxmlgenerator/target/nilus-3.0.jar"/> <classpathentry combineaccessrules="false" kind="src" path="/TethysJavaClient"/>
<classpathentry combineaccessrules="false" kind="src" path="/nilusxmlgenerator"/>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@ -29,6 +29,7 @@ import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document; import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import com.sun.javafx.runtime.VersionInfo; import com.sun.javafx.runtime.VersionInfo;
@ -48,6 +49,7 @@ import PamguardMVC.PamDataBlock;
import PamguardMVC.PamDataUnit; import PamguardMVC.PamDataUnit;
import PamguardMVC.PamProcess; import PamguardMVC.PamProcess;
import binaryFileStorage.BinaryStore; import binaryFileStorage.BinaryStore;
import tethys.TethysControl;
/** /**
* Class for writing XML configuration output to a file. * Class for writing XML configuration output to a file.
@ -62,6 +64,7 @@ public class PamguardXMLWriter implements PamSettings {
private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes(); private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes();
private XMLWriterSettings writerSettings = new XMLWriterSettings(); private XMLWriterSettings writerSettings = new XMLWriterSettings();
// private String xmlNameSpace;
private static PamguardXMLWriter singleInstance; private static PamguardXMLWriter singleInstance;
@ -84,6 +87,19 @@ public class PamguardXMLWriter implements PamSettings {
return singleInstance; return singleInstance;
} }
/**
* Recursively walk the tree and add a namespace to every
* single element.
* @param doc
* @param nameSpace
* @return
*/
public boolean addNameSpaceToElements(Document doc, Element el, String nameSpace) {
// el.setAttributeNS(nameSpace, nameSpace, nameSpace);
NamedNodeMap attributes = el.getAttributes();
return true;
}
/** /**
* Make a document with the options specified in writerSettings. * Make a document with the options specified in writerSettings.
* @param time timestamp for document * @param time timestamp for document
@ -967,5 +983,9 @@ public class PamguardXMLWriter implements PamSettings {
return true; return true;
} }
// public void setStaticNameSpace(String xmlNameSpace) {
// this.xmlNameSpace = xmlNameSpace;
// }
} }

View File

@ -30,6 +30,7 @@ public class TethysControl extends PamControlledUnit {
public static final String unitType = "Tethys Interface"; public static final String unitType = "Tethys Interface";
public static String defaultName = "Tethys"; public static String defaultName = "Tethys";
public static String xmlNameSpace = "http://tethys.sdsu.edu/schema/1.0";
private TethysExportParams tethysExportParams = new TethysExportParams(); private TethysExportParams tethysExportParams = new TethysExportParams();

View File

@ -27,6 +27,7 @@ import nilus.Deployment;
import nilus.DescriptionType; import nilus.DescriptionType;
import nilus.Detection; import nilus.Detection;
import nilus.SpeciesIDType; import nilus.SpeciesIDType;
import tethys.TethysControl;
import tethys.TethysTimeFuncs; import tethys.TethysTimeFuncs;
import tethys.output.StreamExportParams; import tethys.output.StreamExportParams;
import tethys.output.TethysExportParams; import tethys.output.TethysExportParams;
@ -105,10 +106,12 @@ public class AutoTethysProvider implements TethysDataProvider {
if (settingsObjs == null) { if (settingsObjs == null) {
return null; return null;
} }
// pamXMLWriter.setStaticNameSpace(TethysControl.xmlNameSpace);
Element settingsEl = pamXMLWriter.writeUnitSettings(doc, dummyEl, pamSettings, settingsObjs); Element settingsEl = pamXMLWriter.writeUnitSettings(doc, dummyEl, pamSettings, settingsObjs);
if (settingsEl == null) { if (settingsEl == null) {
return null; return null;
} }
pamXMLWriter.addNameSpaceToElements(doc, settingsEl, TethysControl.xmlNameSpace);
dummyEl.appendChild(settingsEl); dummyEl.appendChild(settingsEl);
NodeList childs = settingsEl.getChildNodes(); NodeList childs = settingsEl.getChildNodes();
for (int i = 0; i < childs.getLength(); i++) { for (int i = 0; i < childs.getLength(); i++) {