CAY-2051 Try using JAXB annotations to set namespace of generated XML.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b296059b Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b296059b Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b296059b Branch: refs/heads/master Commit: b296059bb91c663cc02698b98d8b85fb7f64c774 Parents: bf001f5 Author: Dzmitry Kazimirchyk <[email protected]> Authored: Mon Feb 29 13:06:39 2016 +0300 Committer: Dzmitry Kazimirchyk <[email protected]> Committed: Mon Feb 29 13:06:39 2016 +0300 ---------------------------------------------------------------------- .../DefaultReverseEngineeringWriter.java | 2 + .../cayenne/dbimport/ReverseEngineering.java | 10 ----- .../apache/cayenne/dbimport/package-info.java | 5 +++ .../dialog/db/ReverseEngineeringView.java | 40 +++++++++++--------- 4 files changed, 29 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/b296059b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java index d72f2b8..ce1d583 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java @@ -43,6 +43,8 @@ public class DefaultReverseEngineeringWriter implements ReverseEngineeringWriter Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); + marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, + "http://cayenne.apache.org/schema/8/reverseEngineering http://cayenne.apache.org/schema/8/reverseEngineering.xsd"); marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); marshaller.marshal(reverseEngineering, writer); http://git-wip-us.apache.org/repos/asf/cayenne/blob/b296059b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java index 8d4e2a8..7fa0a12 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java @@ -39,16 +39,6 @@ public class ReverseEngineering extends FilterContainer implements Configuration private static final Log LOG = LogFactory.getLog(ReverseEngineering.class); - @XmlAttribute(name="xmlns") - private static final String xmlns = "http://cayenne.apache.org/schema/8/reverseEngineering"; - - @XmlAttribute(name="xmlns:xsi") - private static final String xmlns_xsi = "http://www.w3.org/2001/XMLSchema-instance"; - - @XmlAttribute(name="xsi:schemaLocation") - private static final String xsi_schemaLocation = - "http://cayenne.apache.org/schema/8/reverseEngineering http://cayenne.apache.org/schema/8/reverseEngineering.xsd"; - public ReverseEngineering(String name) { this.name = name; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/b296059b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/package-info.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/package-info.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/package-info.java new file mode 100644 index 0000000..2bde5bb --- /dev/null +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/package-info.java @@ -0,0 +1,5 @@ +@XmlSchema(namespace="http://cayenne.apache.org/schema/8/reverseEngineering", elementFormDefault= XmlNsForm.QUALIFIED) +package org.apache.cayenne.dbimport; + +import javax.xml.bind.annotation.XmlNsForm; +import javax.xml.bind.annotation.XmlSchema; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cayenne/blob/b296059b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java ---------------------------------------------------------------------- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java index 26b871d..3b3fad9 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringView.java @@ -50,6 +50,27 @@ import java.util.Map; /** */ public class ReverseEngineeringView extends JPanel { + + private static final String CONFIGURATION_TEMPLATE = + "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + + "<reverseEngineering\n" + + " xmlns=\"http://cayenne.apache.org/schema/8/reverseEngineering\"\n" + + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" + + " xsi:schemaLocation=\"http://cayenne.apache.org/schema/8/reverseEngineering " + + "http://cayenne.apache.org/schema/8/reverseEngineering.xsd\">\n" + + "\n" + + " <skipRelationshipsLoading>false</skipRelationshipsLoading>\n" + + " <skipPrimaryKeyLoading>false</skipPrimaryKeyLoading>\n" + + "\n" + + " <catalog>\n" + + " <schema>\n" + + " <includeTable>\n" + + " </includeTable>\n" + + " </schema>\n" + + " </catalog>\n" + + " <includeProcedure pattern=\".*\"/>\n" + + "</reverseEngineering>"; + protected ProjectController controller; protected ReverseEngineeringController reverseEngineeringController; protected JPanel reverseEngineering; @@ -72,23 +93,6 @@ public class ReverseEngineeringView extends JPanel { protected Map<String, DataMapViewModel> reverseEngineeringViewMap; - private String template = - "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + - "<reverseEngineering xmlns=\"http://cayenne.apache.org/schema/8/reverseEngineering\"\n" + - " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" + - " xsi:schemaLocation=\"http://cayenne.apache.org/schema/8/reverseEngineering http://cayenne.apache.org/schema/8/reverseEngineering.xsd\">\n" + - " <skipRelationshipsLoading>false</skipRelationshipsLoading>\n" + - " <skipPrimaryKeyLoading>false</skipPrimaryKeyLoading>\n" + - "\n" + - " <catalog>\n" + - " <schema>\n" + - " <includeTable>\n" + - " </includeTable>\n" + - " </schema>\n" + - " </catalog>\n" + - " <includeProcedure pattern=\".*\"/>\n" + - "</reverseEngineering>"; - public ReverseEngineeringView(ProjectController controller) { this.controller = controller; @@ -206,7 +210,7 @@ public class ReverseEngineeringView extends JPanel { xmlFileEditor.getView().getEditorPane().setText(reverseEngineeringText); } else { if (dataMap.getReverseEngineering() == null) { - getXmlFileEditor().getView().getEditorPane().setText(template); + getXmlFileEditor().getView().getEditorPane().setText(CONFIGURATION_TEMPLATE); } else { ReverseEngineering reverseEngineering = dataMap.getReverseEngineering(); if (reverseEngineering.getConfigurationSource() != null) {
