From 0bee837b52c3c11f3606a64baf2ed83846a34b63 Mon Sep 17 00:00:00 2001 From: Willem Date: Mon, 3 Feb 2025 18:19:31 +0100 Subject: [PATCH] Upgraded to NX01 maisdoc mm with new meta model with junk json support --- gdxapp4d-app-mmdoc/pom.xml | 9 +- .../gdxapp4d/app/mmdoc/MMDocDeskApp.java | 2 +- .../gdxapp4d/app/mmdoc/MMDocManager.java | 6 +- .../metamodel/doc/DocModelDataStore.java | 87 ---- .../metamodel/doc/DocModelWriter.java | 199 -------- .../metamodel/doc/DocModelWriterSchema.java | 104 ----- .../metamodel/doc/DocModelWriterTable.java | 439 ------------------ .../metamodel/doc/jdbc/DBConstrain.java | 33 -- .../eobjects/metamodel/doc/jdbc/DBIndex.java | 159 ------- .../metamodel/doc/jdbc/DBIndexColumn.java | 77 --- .../metamodel/doc/jdbc/DBIndexType.java | 54 --- .../metamodel/doc/jdbc/DBPrimaryKey.java | 114 ----- .../eobjects/metamodel/doc/jdbc/DBTable.java | 132 ------ .../metamodel/doc/jdbc/DBTableFactory.java | 184 -------- .../metamodel/doc/jdbc/db/DBType.java | 45 -- .../metamodel/doc/jdbc/db/DBTypeFactory.java | 56 --- .../doc/jdbc/db/DBTypeTableScripter.java | 76 --- .../doc/jdbc/db/PostgresqlDBType.java | 75 --- .../metamodel/doc/jdbc/db/package-info.java | 28 -- .../metamodel/doc/jdbc/package-info.java | 28 -- .../eobjects/metamodel/doc/package-info.java | 28 -- gdxapp4d-chain-boot-ship-engine/pom.xml | 2 +- gdxapp4d-chain-boot-warp-sea/pom.xml | 2 +- gdxapp4d-chain-default-apps/pom.xml | 2 +- gdxapp4d-chain-default-music/pom.xml | 2 +- gdxapp4d-chain-dep-osgi-lib/pom.xml | 18 +- .../src/main/chain/warp-hash.xml | 4 + .../src/main/chain/warp-sea.xml | 4 + gdxapp4d-chain-dep-osgi-scr/pom.xml | 2 +- gdxapp4d-chain-font-unicode4d/pom.xml | 2 +- gdxapp4d-chain-mod-unitxc/pom.xml | 2 +- gdxapp4d-chain-mod-vrgem4/pom.xml | 2 +- gdxapp4d-chain-mod-vrsys5/pom.xml | 2 +- gdxapp4d-tos4/pom.xml | 16 +- .../gdxapp4d/tos4/GDXAppTos4BootFactory.java | 133 ++++-- pom.xml | 160 +++++-- 36 files changed, 257 insertions(+), 2031 deletions(-) delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelDataStore.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBConstrain.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndex.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexColumn.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexType.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBPrimaryKey.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTable.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTableFactory.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBType.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeFactory.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeTableScripter.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/PostgresqlDBType.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/package-info.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/package-info.java delete mode 100644 gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/package-info.java diff --git a/gdxapp4d-app-mmdoc/pom.xml b/gdxapp4d-app-mmdoc/pom.xml index 1dbfb4a1..094d5ef1 100644 --- a/gdxapp4d-app-mmdoc/pom.xml +++ b/gdxapp4d-app-mmdoc/pom.xml @@ -16,8 +16,13 @@ provided - org.mariadb.jdbc - mariadb-java-client + com.fasterxml.jackson.core + jackson-core + provided + + + com.fasterxml.jackson.core + jackson-databind provided diff --git a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java index 782fc962..1bc5b390 100644 --- a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java +++ b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocDeskApp.java @@ -31,7 +31,7 @@ import java.io.File; import java.util.Map.Entry; import java.util.function.Consumer; -import org.eobjects.metamodel.DataContext; +import org.apache.metamodel.DataContext; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; diff --git a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocManager.java b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocManager.java index 68e5d542..f34a0d49 100644 --- a/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocManager.java +++ b/gdxapp4d-app-mmdoc/src/main/java/love/distributedrebirth/gdxapp4d/app/mmdoc/MMDocManager.java @@ -31,11 +31,11 @@ import java.io.File; import java.sql.DriverManager; import java.sql.SQLException; -import org.eobjects.metamodel.csv.CsvDataContext; +import org.apache.metamodel.csv.CsvDataContext; import org.eobjects.metamodel.doc.DocModelDataStore; import org.eobjects.metamodel.doc.DocModelWriter; -import org.eobjects.metamodel.jdbc.JdbcDataContext; -import org.eobjects.metamodel.xml.XmlDomDataContext; +import org.apache.metamodel.jdbc.JdbcDataContext; +import org.apache.metamodel.xml.XmlDomDataContext; public class MMDocManager { diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelDataStore.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelDataStore.java deleted file mode 100644 index c8007b15..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelDataStore.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc; - -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; - -import org.eobjects.metamodel.DataContext; -import org.eobjects.metamodel.jdbc.JdbcDataContext; - -import java.util.Map.Entry; - -public class DocModelDataStore { - - private Map dataContexts = null; - - public DocModelDataStore() { - dataContexts = new TreeMap(); - } - - public void addDataContext(String id,DataContext dataContext) { - dataContexts.put(id,dataContext); - } - - public void removeDataContext(String id) { - dataContexts.remove(id); - } - - public Set> entrySet() { - return dataContexts.entrySet(); - } - - public List getDataContexts() { - return new ArrayList(dataContexts.values()); // are ordered on id. - } - - public String getDataContextKey(DataContext dc) { - for (Entry entry:entrySet()) { - if (entry.getValue().equals(dc)) { - return entry.getKey(); - } - } - throw new IllegalArgumentException("Could not find key for data context: "+dc.toString()); - } - - public void clearAndCloseAllSafe() { - for (DataContext dc:dataContexts.values()) { - if (dc instanceof JdbcDataContext) { // TODO: only support jdbc, MM need 'DataContextLifeCycle extends DataContext' - try { - ((JdbcDataContext)dc).getConnection().close(); - } catch (SQLException e) { // swallow exception is 'Safe' postfix. - // TODO: logger.warn - } - } - } - dataContexts.clear(); - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java deleted file mode 100644 index 795654f7..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriter.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; - -import org.eobjects.metamodel.DataContext; -import org.eobjects.metamodel.schema.Column; -import org.eobjects.metamodel.schema.Relationship; -import org.eobjects.metamodel.schema.Schema; -import org.eobjects.metamodel.schema.Table; -import org.x4o.o2o.tdoc.ApiDocGenerator; -import org.x4o.o2o.tdoc.DefaultPageWriterHelp; -import org.x4o.o2o.tdoc.DefaultPageWriterIndexAll; -import org.x4o.o2o.tdoc.DefaultPageWriterTree; -import org.x4o.o2o.tdoc.dom.ApiDoc; -import org.x4o.o2o.tdoc.dom.ApiDocConcept; -import org.x4o.o2o.tdoc.dom.ApiDocNode; -import org.xml.sax.SAXException; - -public class DocModelWriter { - - private static final String[] C_DATA_STORE = {"data-store","Overview","All data stores.","The data stores of user defines resources."}; - private static final String[] C_DATA_CONTEXT = {"data-context","DataContext","The MetaModel DataContext.","The MetaModel DataContext provides the meta schema definitions."}; - private static final String[] C_SCHEMA = {"schema","Schema","The schema.","The schema hold the tables and other data types."}; - private static final String[] C_TABLE = {"table","Table","The Data Table.","The table has columns so can hold row/column data."}; - //private static final String[] C_VIEW = {"view","Table","The Data Table.","The table has columns so can hold row/column data."}; - - private static final String[] CC_RS = {"relationship","Relationship","The relationships.","The telationships data."}; - - private ApiDocGenerator writer = null; - private ApiDoc doc = null; - - public DocModelWriter(DocModelDataStore dmds) { - if (dmds==null) { - throw new NullPointerException("Can't write null "+DocModelDataStore.class.getSimpleName()); - } - doc = buildApiDoc(dmds); - writer = new ApiDocGenerator(); - } - - public ApiDoc getApiDoc() { - return doc; - } - - public void writeModelDoc(File basePath) throws IOException, SAXException { - doc.checkModel(); - writer.write(doc,basePath); - } - - private ApiDoc buildApiDoc(DocModelDataStore dmds) { - ApiDoc doc = new ApiDoc(); - doc.setName("MetaModel"); - doc.setDescription("MetaModel generic schema overview."); - doc.setDocAbout("MetaModel of\nDataContexts"); - doc.createDocCopyright(System.getProperty("user.name")); - doc.setDocPageSubTitle("MMDB 1.0 API"); - doc.addMetaKeywordAll(createLanguageKeywords()); - doc.setNoFrameAllName("All Schemas"); - doc.setFrameNavOverviewPrintParent(true); - doc.setFrameNavPrintParent(true); - doc.setFrameNavPrintParentParent(true); - doc.setGroupTypeName("summary", "Summary",1); - doc.setGroupTypeName("overview", "Overview",2); - - //doc.addRemoteClass(new ApiDocRemoteClass("file:///home/willemc/devv/git/x4o/x4o-driver/target/apidocs")); - //doc.addRemoteClass(new ApiDocRemoteClass("http://docs.oracle.com/javase/7/docs/api/")); - - doc.addTreeNodeClassExclude(Relationship.class); - - doc.setFrameNavConceptClass(Table.class); - - doc.addTreeNodePageModeClass(DocModelDataStore.class); - doc.addTreeNodePageModeClass(DataContext.class); - doc.addTreeNodePageModeClass(Schema.class); - - doc.addAnnotatedClasses(DocModelWriterSchema.class); - doc.addAnnotatedClasses(DocModelWriterTable.class); - - ApiDocConcept adc1 = doc.addConcept(new ApiDocConcept(null,C_DATA_STORE,DocModelDataStore.class)); - ApiDocConcept adc2 = doc.addConcept(new ApiDocConcept(adc1,C_DATA_CONTEXT,DataContext.class)); - ApiDocConcept adc3 = doc.addConcept(new ApiDocConcept(adc2,C_SCHEMA,Schema.class)); - ApiDocConcept adc4 = doc.addConcept(new ApiDocConcept(adc3,C_TABLE,Table.class)); - - adc4.addChildConcepts(new ApiDocConcept(adc4, CC_RS, Relationship.class)); - - doc.addDocPage(DefaultPageWriterTree.createDocPage()); - doc.addDocPage(DefaultPageWriterIndexAll.createDocPage()); - doc.addDocPage(DefaultPageWriterHelp.createDocPage()); - - ApiDocNode rootNode = new ApiDocNode(dmds,"data-store","DataStore","All schemas from all data contexts."); - doc.setRootNode(rootNode); - for (Entry entry:dmds.entrySet()) { - ApiDocNode dcNode = rootNode.addNode(createNodeDataContext(entry)); - for (Schema schema:entry.getValue().getSchemas()) {; - if (isInvalidDocSchema(schema)) { - continue; - } - ApiDocNode schemaNode = dcNode.addNode(createNodeSchema(schema)); - for (Table table:schema.getTables()) { - schemaNode.addNode(createNodeTable(table)); - } - for (Relationship rs:schema.getRelationships()) { - schemaNode.addNode(createNodeRelationship(rs)); - } - } - } - return doc; - } - - private boolean isInvalidDocSchema(Schema schema) { - if (schema.getName().toLowerCase().startsWith("information_schema")) { - return true; - } - if (schema.getName().toLowerCase().equals("sys") || schema.getName().toLowerCase().equals("dbo") ) { - return true; - } - if (schema.getTableCount()==0) { - return true; - } - return false; - } - - private ApiDocNode createNodeDataContext(Entry entry) { - return new ApiDocNode(entry.getValue(),entry.getKey(),entry.getKey(),entry.getKey()); - } - private ApiDocNode createNodeSchema(Schema schema) { - return new ApiDocNode(schema,schema.getName(),schema.getQualifiedLabel(),schema.getName()); - } - private ApiDocNode createNodeTable(Table table) { - return new ApiDocNode(table,table.getName(),table.getQualifiedLabel(),table.getRemarks()); - } - private ApiDocNode createNodeRelationship(Relationship rs) { - String name = rsName(rs); - return new ApiDocNode(rs,name,name,name); - } - - private String rsName(Relationship rs) { - StringBuilder buf = new StringBuilder(); - buf.append(rs.getPrimaryTable().getName()); - buf.append('_'); - for (Column c:rs.getPrimaryColumns()) { - buf.append(c.getName()); - buf.append('_'); - } - buf.append(rs.getForeignTable().getName()); - buf.append('_'); - for (Column c:rs.getForeignColumns()) { - buf.append(c.getName()); - buf.append('_'); - } - buf.append("RS"); - return buf.toString(); - } - - private List createLanguageKeywords() { - List keywords = new ArrayList(10); - keywords.add("eobjects"); - keywords.add("metamodel"); - keywords.add("meta-model"); - keywords.add("schema"); - keywords.add("schema-model"); - keywords.add("database"); - keywords.add("database-model"); - keywords.add("documentation"); - keywords.add("javadoc"); - keywords.add("x4o"); - return keywords; - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java deleted file mode 100644 index ace2cf3b..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterSchema.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import org.eobjects.metamodel.DataContext; -import org.eobjects.metamodel.data.DataSet; -import org.eobjects.metamodel.query.FunctionType; -import org.eobjects.metamodel.schema.Schema; -import org.eobjects.metamodel.schema.Table; -import org.eobjects.metamodel.schema.TableType; -import org.x4o.o2o.tdoc.ApiDocContentCss; -import org.x4o.o2o.tdoc.ApiDocContentWriter; -import org.x4o.o2o.tdoc.ApiDocNodeWriterMethod; -import org.x4o.o2o.tdoc.dom.ApiDocNode; -import org.x4o.o2o.tdoc.dom.ApiDocNodeBody; -import org.x4o.o2o.tdoc.dom.ApiDocWriteEvent; -import org.xml.sax.SAXException; - -public class DocModelWriterSchema { - - private List filterTables(Schema schema,TableType tableType,boolean addEquals) { - List
result = new ArrayList
(); - for (Table table:schema.getTables()) { - if (addEquals==tableType.equals(table.getType())) { - result.add(table); - } - } - return result; - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Schema.class}) - public void writeSchemaTableSummary(ApiDocWriteEvent event) throws SAXException, IOException { - ApiDocContentWriter writer = event.getWriter(); - Schema schema = (Schema)event.getEventObject().getUserData(); - DataContext dc = (DataContext)event.getEventObject().getParent().getUserData(); - List
tables = filterTables(schema,TableType.VIEW,false); - if (tables.isEmpty()) { - return; - } - writer.docTableStart("Table Summary", "All tables in the schema.",ApiDocContentCss.overviewSummary); - writer.docTableHeader("Name", "Description"); - for (Table table:tables) { - Number tableCount = 0l; - if (table.getColumnCount()>0) { - DataSet ds = dc.query().from(table).select(FunctionType.COUNT, table.getColumns()[0]).execute(); - ds.next(); - tableCount = (Number)ds.getRow().getValue(0); - ds.close(); - } - String link = ApiDocContentWriter.toSafeUri(table.getName())+"/index.html"; - writer.docTableRowLink(link,table.getName(),"Record Count: "+tableCount); - } - writer.docTableEnd(); - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Schema.class}) - public void writeSchemaViewSummary(ApiDocWriteEvent event) throws SAXException, IOException { - ApiDocContentWriter writer = event.getWriter(); - Schema schema = (Schema)event.getEventObject().getUserData(); - List
tables = filterTables(schema,TableType.VIEW,true); - if (tables.isEmpty()) { - return; - } - writer.docTableStart("View Summary", "All views in the schema.",ApiDocContentCss.overviewSummary); - writer.docTableHeader("Name", "Description"); - for (Table table:schema.getTables()) { - if (!TableType.VIEW.equals(table.getType())) { - continue; - } - String link = ApiDocContentWriter.toSafeUri(table.getName())+"/index.html"; - writer.docTableRowLink(link,table.getName(),table.getQualifiedLabel()); - } - writer.docTableEnd(); - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java deleted file mode 100644 index ce05a15e..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/DocModelWriterTable.java +++ /dev/null @@ -1,439 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc; - -import java.io.IOException; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eobjects.metamodel.DataContext; -import org.eobjects.metamodel.doc.jdbc.DBIndex; -import org.eobjects.metamodel.doc.jdbc.DBIndexColumn; -import org.eobjects.metamodel.doc.jdbc.DBTable; -import org.eobjects.metamodel.doc.jdbc.DBTableFactory; -import org.eobjects.metamodel.jdbc.JdbcDataContext; -import org.eobjects.metamodel.schema.Column; -import org.eobjects.metamodel.schema.Relationship; -import org.eobjects.metamodel.schema.Table; -import org.eobjects.metamodel.schema.TableType; -import org.x4o.o2o.io.ContentWriterHtml.Tag; -import org.x4o.o2o.tdoc.ApiDocContentCss; -import org.x4o.o2o.tdoc.ApiDocContentWriter; -import org.x4o.o2o.tdoc.ApiDocNodeWriterMethod; -import org.x4o.o2o.tdoc.dom.ApiDocIndexItem; -import org.x4o.o2o.tdoc.dom.ApiDocNode; -import org.x4o.o2o.tdoc.dom.ApiDocNodeBody; -import org.x4o.o2o.tdoc.dom.ApiDocWriteEvent; - -public class DocModelWriterTable { - - private DBTableFactory dbTableFactory; - private DBTable currentDBTable; - - public DocModelWriterTable() { - dbTableFactory = new DBTableFactory(); - } - - private DBTable getDBTable(ApiDocWriteEvent event) { - Table table = (Table)event.getEventObject().getUserData(); - if (currentDBTable!=null && currentDBTable.getTable().getQualifiedLabel().equals(table.getQualifiedLabel())) - { - return currentDBTable; - } - DataContext dcRaw = (DataContext)event.getEventObject().getParent().getParent().getUserData(); - if (dcRaw instanceof JdbcDataContext) { - JdbcDataContext dc = (JdbcDataContext) dcRaw; - try { - currentDBTable = dbTableFactory.loadMetaTable(dc, table); - return currentDBTable; - } catch (SQLException e) { - throw new IllegalStateException("Could not fetch meta table: "+e.getMessage(),e); - } - } else { - return null; - } - } - - private List rsFilter(Relationship[] rsa,Table table,boolean filterPrimary) { - List result = new ArrayList(10); - for (int i=0;i event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - - if (!TableType.VIEW.equals(table.getType())) { - Iterator rsIn = rsFilter(table.getRelationships(),table,false).iterator(); - Iterator rsOut = rsFilter(table.getRelationships(),table,true).iterator(); - writer.printTagStart(Tag.dl); - writer.printTagCharacters(Tag.dt,"All Incoming Relations:"); - writer.printTagStart(Tag.dd); - if (!rsIn.hasNext()) { - writer.printCharacters("Table is not referenced."); - } - while (rsIn.hasNext()) { - Relationship rs = rsIn.next(); - String uri = "../../"+ApiDocContentWriter.toSafeUri(rs.getForeignTable().getSchema().getName())+"/"+ApiDocContentWriter.toSafeUri(rs.getForeignTable().getName())+"/index.html"; - writer.printHref(uri, rs.getForeignTable().getName()); - if (rsIn.hasNext()) { - writer.printCharacters(", "); - } - } - writer.printTagEnd(Tag.dd); - writer.printTagEnd(Tag.dl); - - writer.printTagStart(Tag.dl); - writer.printTagCharacters(Tag.dt,"All Referenced Tables:"); - writer.printTagStart(Tag.dd); - if (!rsOut.hasNext()) { - writer.printCharacters("Table has no references."); - } - while (rsOut.hasNext()) { - Relationship rs = rsOut.next(); - String uri = "../../"+ApiDocContentWriter.toSafeUri(rs.getPrimaryTable().getSchema().getName())+"/"+ApiDocContentWriter.toSafeUri(rs.getPrimaryTable().getName())+"/index.html"; - writer.printHref(uri, rs.getPrimaryTable().getName()); - if (rsOut.hasNext()) { - writer.printCharacters(", "); - } - } - writer.printTagEnd(Tag.dd); - writer.printTagEnd(Tag.dl); - } - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DESCRIPTION_NODE,targetClasses={Table.class}) - public void writeTableSqlView(ApiDocWriteEvent event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - - // fixme or only normal - if (!TableType.VIEW.equals(table.getType())) { - event.getWriter().printCharacters(event.getEventObject().getDescription()); - } else { - event.getWriter().printCharacters("View "+table.getQualifiedLabel()); - } - - DBTable tableDB = getDBTable(event); - if (tableDB!=null && tableDB.getSqlScript()!=null) { - writeSqlBlock(writer,tableDB.getSqlScript()); - for (DBIndex index:tableDB.getIndexes()) { - if (index.getSqlScript()!=null) { - writeSqlBlock(writer,index.getSqlScript()); - } - } - } - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Table.class},nodeBodyOrders={3},contentGroup="Columns",contentGroupType="summary") - public void writeTableSummary(ApiDocWriteEvent event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - if (TableType.VIEW.equals(table.getType())) { - writer.docTableStart("Column Summary", "All column of the view.",null); - } else { - writer.docTableStart("Column Summary", "All column of the table.",null); - } - writer.docTableHeader("Name", "Description"); - for (Column column:table.getColumns()) { - writer.docTableRowLink("#"+ApiDocContentWriter.toSafeUri(column.getName()),column.getName(),column.getQualifiedLabel()); - } - writer.docTableEnd(); - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.SUMMARY,targetClasses={Table.class},nodeBodyOrders={1},contentGroup="Primary Key",contentGroupType="summary") - public void writeTablePKSummary(ApiDocWriteEvent event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - DBTable tableDB = getDBTable(event); - if (tableDB==null) { - writer.docPageBlockStart("Primary Key.","primary_key",null); - writer.printTagStart(Tag.code); - Column[] cols = table.getPrimaryKeys(); - for (int i=0;i cols = new ArrayList(5); - if (tableDB.getPrimaryKey()!=null) { - cols.addAll(tableDB.getPrimaryKey().getColumnNames()); - writer.docPageBlockStart("Primary Key: "+tableDB.getPrimaryKey().getName(),"primary_key",null); - } else { - writer.docPageBlockStart("Primary Key: None","primary_key",null); - } - writer.printTagStart(Tag.code); - - for (int i=0;i event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - DBTable tableDB = getDBTable(event); - if (tableDB==null) { - Column[] columns = table.getIndexedColumns(); - if (columns.length==0) { - return; - } - writer.printHrefNamed("column_indexes"); - writer.printTagCharacters(Tag.h3, "Indexed Columns"); - writer.printTagStart(Tag.code); - for (Column column:columns) { - writer.printHref("#"+ApiDocContentWriter.toSafeUri(column.getName()), column.getName()); - } - writer.printTagEnd(Tag.code); - } else { - writer.printHrefNamed("column_indexes"); - //writer.printTagCharacters(Tag.h3, "Indexes"); - writer.docTableStart("Column Indexes", "All indexes of the table.",null); - writer.docTableHeader("Name", "Columns"); - for (DBIndex index:tableDB.getIndexes()) { - StringBuilder buf = new StringBuilder(30); - List cols = index.getIndexColumns(); - for (int i=0;i event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - //Table table = (Table)event.getEventObject().getUserData(); - DBTable tableDB = getDBTable(event); - if (tableDB==null) { - return; - } - for (DBIndex index:tableDB.getIndexes()) { - writer.printHrefNamed(index.getName()); - writer.docPageBlockStart(); - writer.printTagCharacters(Tag.h4, index.getName()); - - writer.printTagStart(Tag.pre); - writer.printCharacters("INDEX "); - writer.printCharacters(index.getSchema()); - writer.printCharacters("."); - writer.printCharacters(index.getName()); - if (index.getUnique()!=null && index.getUnique()) { - writer.printCharacters(" UNIQUE=true"); - } - if (index.getIndexQualifier()!=null) { - writer.printCharacters(" QUALIFIER="); - writer.printCharacters(index.getIndexQualifier()); - } - if (index.getCatalog()!=null) { - writer.printCharacters(" CATELOG="); - writer.printCharacters(index.getCatalog()); - } - writer.printTagEnd(Tag.pre); - - - writer.printTagStart(Tag.div,ApiDocContentCss.block); - writer.printCharacters("Type: "); - writer.printCharacters(index.getType().name()); - writer.printTagEnd(Tag.div); - - if (index.getSqlScript()!=null) { - writeSqlBlock(writer,index.getSqlScript()); - } - - writer.printTagStart(Tag.dl); - writer.printTagStart(Tag.dt); - writer.printTagStart(Tag.span,ApiDocContentCss.strong); - writer.printCharacters("Columns:"); - writer.printTagEnd(Tag.span); - writer.printTagEnd(Tag.dt); - for (DBIndexColumn column:index.getIndexColumns()) { - writer.printTagStart(Tag.dd); - writer.printTagStart(Tag.code); - writer.printHref("#"+ApiDocContentWriter.toSafeUri(column.getColumn()), column.getColumn()); - writer.printTagEnd(Tag.code); - writer.printCharacters(" ORDER "); - if (column.getAscending()!=null && column.getAscending()) { - writer.printCharacters("ASC"); - } else { - writer.printCharacters("DESC"); - } - writer.printTagEnd(Tag.dd); - } - writer.printTagEnd(Tag.dl); - - writer.docPageBlockEnd(); - } - } - - @ApiDocNodeWriterMethod(nodeBody=ApiDocNodeBody.DETAIL,targetClasses={Table.class},nodeBodyOrders={2},contentGroup="Columns",contentGroupType="overview") - public void writeTableDetail(ApiDocWriteEvent event) throws IOException { - ApiDocContentWriter writer = event.getWriter(); - Table table = (Table)event.getEventObject().getUserData(); - DBTable tableDB = getDBTable(event); - for (Column column:table.getColumns()) { - - ApiDocIndexItem indexItem = new ApiDocIndexItem(); - indexItem.setLinkText(column.getName()); - event.getDoc().getNodeData().addIndexItem(indexItem); - - writer.printHrefNamed(column.getName()); - writer.docPageBlockStart(); - writer.printTagCharacters(Tag.h4, column.getName()); - - writer.printTagStart(Tag.pre); - writer.printCharacters(column.getQualifiedLabel()); - writer.printCharacters(" "); - if (column.getNativeType() != null) { - writer.printCharacters(column.getNativeType().toUpperCase()); - } - if (column.getColumnSize()!=null) { - writer.printCharacters(" ("); - writer.printCharacters(""+column.getColumnSize()); - writer.printCharacters(")"); - } - if (column.isNullable()) { - writer.printCharacters(" NULL"); - } else { - writer.printCharacters(" NOT NULL"); - } - if (column.isPrimaryKey()) { - writer.printCharacters(" PRIMARY KEY"); - } - writer.printTagEnd(Tag.pre); - - - writer.printTagStart(Tag.div,ApiDocContentCss.block); - writer.printCharacters("Description: "); - writer.printCharacters(column.getQuotedName()); - writer.printTagEnd(Tag.div); - - writer.printTagStart(Tag.dl); - if (column.isIndexed()) { - List idx = null; - if (tableDB!=null) { - idx = tableDB.getIndexesByColumn(column.getName()); - } - writer.printTagStart(Tag.dt); - writer.printTagStart(Tag.span,ApiDocContentCss.strong); - writer.printCharacters("Indexes:"); - writer.printTagEnd(Tag.span); - writer.printTagEnd(Tag.dt); - - if (idx!=null) { - writer.printTagStart(Tag.dd); - writer.printTagStart(Tag.code); - for (int i=0;i indexColumns = null; - private String sqlScript = null; - - public DBIndex() { - indexColumns = new ArrayList(3); - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name the name to set - */ - protected void setName(String name) { - this.name = name; - } - - /** - * @return the schema - */ - public String getSchema() { - return schema; - } - - /** - * @param schema the schema to set - */ - protected void setSchema(String schema) { - this.schema = schema; - } - - /** - * @return the unique - */ - public Boolean getUnique() { - return unique; - } - - /** - * @param unique the unique to set - */ - protected void setUnique(Boolean unique) { - this.unique = unique; - } - - /** - * @return the indexQualifier - */ - public String getIndexQualifier() { - return indexQualifier; - } - - /** - * @param indexQualifier the indexQualifier to set - */ - protected void setIndexQualifier(String indexQualifier) { - this.indexQualifier = indexQualifier; - } - - /** - * @return the type - */ - public DBIndexType getType() { - return type; - } - - /** - * @param type the type to set - */ - protected void setType(DBIndexType type) { - this.type = type; - } - - /** - * @return the catalog - */ - public String getCatalog() { - return catalog; - } - - /** - * @param catalog the catalog to set - */ - protected void setCatalog(String catalog) { - this.catalog = catalog; - } - - /** - * @return the indexColumns - */ - public List getIndexColumns() { - return indexColumns; - } - - /** - * @param indexColumn the indexColumn to add - */ - protected void addIndexColumn(DBIndexColumn indexColumn) { - this.indexColumns.add(indexColumn); - } - - /** - * @return the sqlScript - */ - public String getSqlScript() { - return sqlScript; - } - - /** - * @param sqlScript the sqlScript to set - */ - public void setSqlScript(String sqlScript) { - this.sqlScript = sqlScript; - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexColumn.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexColumn.java deleted file mode 100644 index effbb07c..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexColumn.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; - -public class DBIndexColumn { - - private String table = null; - private String column = null; - private Boolean ascending = null; - - /** - * @return the table - */ - public String getTable() { - return table; - } - - /** - * @param table the table to set - */ - public void setTable(String table) { - this.table = table; - } - - /** - * @return the column - */ - public String getColumn() { - return column; - } - - /** - * @param column the column to set - */ - public void setColumn(String column) { - this.column = column; - } - - /** - * @return the ascending - */ - public Boolean getAscending() { - return ascending; - } - - /** - * @param ascending the ascending to set - */ - public void setAscending(Boolean ascending) { - this.ascending = ascending; - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexType.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexType.java deleted file mode 100644 index f41a84dd..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBIndexType.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; - -import java.sql.DatabaseMetaData; - -public enum DBIndexType { - - STATISTIC, - CLUSTERED, - HASHED, - OTHER; - - public static DBIndexType parseJdbcMetaInfo(short dbType) { - if (dbType==DatabaseMetaData.tableIndexClustered) { - return CLUSTERED; - } - if (dbType==DatabaseMetaData.tableIndexHashed) { - return HASHED; - } - if (dbType==DatabaseMetaData.tableIndexOther) { - return OTHER; - } - if (dbType==DatabaseMetaData.tableIndexStatistic) { - return STATISTIC; - } - throw new IllegalArgumentException("Unknown index type: "+dbType); - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBPrimaryKey.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBPrimaryKey.java deleted file mode 100644 index d1526c91..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBPrimaryKey.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; - -import java.util.ArrayList; -import java.util.List; - -public class DBPrimaryKey { - - private String name = null; - private String catalog = null; - private String schema = null; - private String tableName = null; - private List columnNames = null; - - public DBPrimaryKey() { - columnNames = new ArrayList(3); - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name the name to set - */ - public void setName(String name) { - this.name = name; - } - - /** - * @return the catalog - */ - public String getCatalog() { - return catalog; - } - - /** - * @param catalog the catalog to set - */ - public void setCatalog(String catalog) { - this.catalog = catalog; - } - - /** - * @return the schema - */ - public String getSchema() { - return schema; - } - - /** - * @param schema the schema to set - */ - public void setSchema(String schema) { - this.schema = schema; - } - - /** - * @return the tableName - */ - public String getTableName() { - return tableName; - } - - /** - * @param tableName the tableName to set - */ - public void setTableName(String tableName) { - this.tableName = tableName; - } - - /** - * @return the columnNames - */ - public List getColumnNames() { - return columnNames; - } - - /** - * @param columnNames the columnNames to set - */ - protected void addColumnName(String columnName) { - this.columnNames.add(columnName); - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTable.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTable.java deleted file mode 100644 index a9cb9740..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTable.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import org.eobjects.metamodel.schema.Table; - -public class DBTable { - - private Table table; - private DBPrimaryKey primaryKey; - private List indexes; - private String sqlScript = null; - - public DBTable() { - indexes = new ArrayList(20); - } - - /** - * @return the table - */ - public Table getTable() { - return table; - } - - /** - * @param table the table to set - */ - public void setTable(Table table) { - this.table = table; - } - - /** - * @return the primaryKey - */ - public DBPrimaryKey getPrimaryKey() { - return primaryKey; - } - - /** - * @param primaryKey the primaryKey to set - */ - public void setPrimaryKey(DBPrimaryKey primaryKey) { - this.primaryKey = primaryKey; - } - - /** - * @return the indexes - */ - public List getIndexes() { - return indexes; - } - - /** - * @param index the indexes to add. - */ - public void addIndex(DBIndex index) { - this.indexes.add(index); - } - - /** - * @param indexes the indexes to add. - */ - public void addIndexes(Collection indexes) { - this.indexes.addAll(indexes); - } - - /** - * @param index the indexes to remove. - */ - public void removeIndex(DBIndex index) { - this.indexes.remove(index); - } - - /** - * @param index the indexes to add. - */ - public List getIndexesByColumn(String column) { - List result = new ArrayList(3); - for (DBIndex index:indexes) { - for (DBIndexColumn col:index.getIndexColumns()) { - if (col.getColumn().equals(column)) { - result.add(index); - break; - } - } - } - return result; - } - - /** - * @return the sqlScript - */ - public String getSqlScript() { - return sqlScript; - } - - /** - * @param sqlScript the sqlScript to set - */ - public void setSqlScript(String sqlScript) { - this.sqlScript = sqlScript; - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTableFactory.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTableFactory.java deleted file mode 100644 index 347fdae8..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/DBTableFactory.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; - -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import org.eobjects.metamodel.doc.jdbc.db.DBType; -import org.eobjects.metamodel.doc.jdbc.db.DBTypeFactory; -import org.eobjects.metamodel.jdbc.JdbcDataContext; -import org.eobjects.metamodel.schema.Table; -import org.eobjects.metamodel.schema.TableType; - -public class DBTableFactory { - - public DBTable loadMetaTable(JdbcDataContext dc,Table table) throws SQLException { - Connection conn = dc.getConnection(); - DatabaseMetaData meta = conn.getMetaData(); - DBTable result = new DBTable(); - result.setPrimaryKey(fetchPrimaryKeyInfo(meta, dc, table)); - result.setTable(table); - result.addIndexes(fetchIndexInfo(meta, dc, table)); - - DBType dbType = DBTypeFactory.getDBType(dc.getConnection()); - if (dbType!=null) { - String sqlScript; - if (TableType.VIEW.equals(table.getType())) { - sqlScript = dbType.getViewScript(dc.getConnection(), table.getName()); - } else { - sqlScript = dbType.getTableScript(dc.getConnection(), table); - } - result.setSqlScript(sqlScript); - } - return result; - } - - private DBPrimaryKey fetchPrimaryKeyInfo(DatabaseMetaData meta,JdbcDataContext dc,Table table) throws SQLException { - DBPrimaryKey result = new DBPrimaryKey(); - TreeMap columns = new TreeMap(); - ResultSet indexInformation = meta.getPrimaryKeys(dc.getCatalogName(), table.getSchema().getName(), table.getName()); - while (indexInformation.next()) { - String dbCatalog = indexInformation.getString("TABLE_CAT"); - String dbSchema = indexInformation.getString("TABLE_SCHEM"); - String dbTableName = indexInformation.getString("TABLE_NAME"); - String dbColumnName = indexInformation.getString("COLUMN_NAME"); - short dbKeySeq = indexInformation.getShort("KEY_SEQ"); - String dbPkName = indexInformation.getString("PK_NAME"); - - result.setCatalog(dbCatalog); - result.setName(dbPkName); - result.setSchema(dbSchema); - result.setTableName(dbTableName); - columns.put(dbKeySeq, dbColumnName); - } - if (result.getName()==null) { - return null; // no PK on table ! - } - result.getColumnNames().addAll(columns.values()); - return result; - } - - private List fetchIndexInfo(DatabaseMetaData meta,JdbcDataContext dc,Table table) throws SQLException { - - Map indexScripts = null; - DBType dbType = DBTypeFactory.getDBType(dc.getConnection()); - if (dbType!=null) { - indexScripts = dbType.getIndexScripts(dc.getConnection(), table.getName()); - } - - DBIndex index = new DBIndex(); - List result = new ArrayList(); - ResultSet indexInformation = meta.getIndexInfo(dc.getCatalogName(), table.getSchema().getName(), table.getName(), false, false); - while (indexInformation.next()) { - String dbCatalog = indexInformation.getString("TABLE_CAT"); - String dbSchema = indexInformation.getString("TABLE_SCHEM"); - String dbTableName = indexInformation.getString("TABLE_NAME"); - boolean dbNoneUnique = indexInformation.getBoolean("NON_UNIQUE"); - String dbIndexQualifier = indexInformation.getString("INDEX_QUALIFIER"); - String dbIndexName = indexInformation.getString("INDEX_NAME"); - short indexType = indexInformation.getShort("TYPE"); -// short dbOrdinalPosition = indexInformation.getShort("ORDINAL_POSITION"); - String dbColumnName = indexInformation.getString("COLUMN_NAME"); - String dbAscOrDesc = indexInformation.getString("ASC_OR_DESC"); -// int dbCardinality = indexInformation.getInt("CARDINALITY"); -// int dbPages = indexInformation.getInt("PAGES"); -// String dbFilterCondition = indexInformation.getString("FILTER_CONDITION"); - - if (!dbIndexName.equals(index.getName())) { - index = new DBIndex(); - result.add(index); - - if (indexScripts!=null) { - String indexScript = indexScripts.get(dbIndexName); - index.setSqlScript(indexScript); - } - } - index.setCatalog(dbCatalog); - index.setIndexQualifier(dbIndexQualifier); - index.setName(dbIndexName); - index.setSchema(dbSchema); - index.setType(DBIndexType.parseJdbcMetaInfo(indexType)); - index.setUnique(false==dbNoneUnique); - - DBIndexColumn col = new DBIndexColumn(); - col.setTable(dbTableName); - col.setColumn(dbColumnName); - col.setAscending("A".equalsIgnoreCase(dbAscOrDesc)); - index.addIndexColumn(col); - } - return result; - } - - - private List fetchExportedKeys(DatabaseMetaData meta,JdbcDataContext dc,Table table) throws SQLException { - DBIndex index = new DBIndex(); - List result = new ArrayList(); - ResultSet indexInformation = meta.getExportedKeys(dc.getCatalogName(), table.getSchema().getName(), table.getName()); - while (indexInformation.next()) { - String dbCatalog = indexInformation.getString("TABLE_CAT"); - String dbSchema = indexInformation.getString("TABLE_SCHEM"); - String dbTableName = indexInformation.getString("TABLE_NAME"); - boolean dbNoneUnique = indexInformation.getBoolean("NON_UNIQUE"); - String dbIndexQualifier = indexInformation.getString("INDEX_QUALIFIER"); - String dbIndexName = indexInformation.getString("INDEX_NAME"); - short dbType = indexInformation.getShort("TYPE"); -// short dbOrdinalPosition = indexInformation.getShort("ORDINAL_POSITION"); - String dbColumnName = indexInformation.getString("COLUMN_NAME"); - String dbAscOrDesc = indexInformation.getString("ASC_OR_DESC"); -// int dbCardinality = indexInformation.getInt("CARDINALITY"); -// int dbPages = indexInformation.getInt("PAGES"); -// String dbFilterCondition = indexInformation.getString("FILTER_CONDITION"); - - if (!dbIndexName.equals(index.getName())) { - index = new DBIndex(); - result.add(index); - } - index.setCatalog(dbCatalog); - index.setIndexQualifier(dbIndexQualifier); - index.setName(dbIndexName); - index.setSchema(dbSchema); - index.setType(DBIndexType.parseJdbcMetaInfo(dbType)); - index.setUnique(false==dbNoneUnique); - - DBIndexColumn col = new DBIndexColumn(); - col.setTable(dbTableName); - col.setColumn(dbColumnName); - col.setAscending("A".equalsIgnoreCase(dbAscOrDesc)); - index.addIndexColumn(col); - } - return result; - } - -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBType.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBType.java deleted file mode 100644 index 8aecc3b4..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBType.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc.db; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Map; - -import org.eobjects.metamodel.schema.Table; - -public interface DBType { - - String getDatabaseProductName(); - - Map getIndexScripts(Connection conn,String table) throws SQLException; - - String getViewScript(Connection conn,String viewName) throws SQLException; - - String getTableScript(Connection conn,Table table) throws SQLException; -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeFactory.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeFactory.java deleted file mode 100644 index bb6e07bc..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeFactory.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc.db; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -public class DBTypeFactory { - - static private List types = new ArrayList(5); - - static { - types.add(new PostgresqlDBType()); - } - - static public final DBType getDBType(Connection conn) throws SQLException { - if (conn==null) { - throw new NullPointerException("Can't resolve db on null connection."); - } - String jdbcProductName = conn.getMetaData().getDatabaseProductName(); - for (DBType type:types) { - if (jdbcProductName.equalsIgnoreCase(type.getDatabaseProductName())) { - return type; - } - } - - return null; - } -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeTableScripter.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeTableScripter.java deleted file mode 100644 index 8e6ff333..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/DBTypeTableScripter.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc.db; - -import java.sql.Connection; - -import org.eobjects.metamodel.schema.Column; -import org.eobjects.metamodel.schema.Table; - -public class DBTypeTableScripter { - - - public String createTableScript(Connection conn,Table table) { - StringBuilder buf = new StringBuilder(100); - buf.append("CREATE TABLE (\n"); - Column[] cols = table.getColumns(); - for (int i=0;i getIndexScripts(Connection conn,String table) throws SQLException { - Map result = new HashMap(); - - Statement s = conn.createStatement(); - s.execute("select indexname,indexdef from pg_indexes where schemaname != 'pg_catalog' and schemaname != 'information_schema' and tablename= '"+table+"'"); - ResultSet rs = s.getResultSet(); - while (rs.next()) { - result.put(rs.getString(1), rs.getString(2)); - } - rs.close(); - - return result; - } - - public String getViewScript(Connection conn,String viewName) throws SQLException { - String result = null; - Statement s = conn.createStatement(); - s.execute("select viewname,definition from pg_views where schemaname != 'pg_catalog' and schemaname != 'information_schema' and viewname= '"+viewName+"'"); - ResultSet rs = s.getResultSet(); - if (rs.next()) { - result = rs.getString(2); - } - rs.close(); - return result; - } - - public String getTableScript(Connection conn,Table table) throws SQLException { - return new DBTypeTableScripter().createTableScript(conn, table); - } - -} diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/package-info.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/package-info.java deleted file mode 100644 index 4c46b591..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/db/package-info.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc.db; diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/package-info.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/package-info.java deleted file mode 100644 index 8d5f20c4..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/jdbc/package-info.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc.jdbc; diff --git a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/package-info.java b/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/package-info.java deleted file mode 100644 index 7ff2b79e..00000000 --- a/gdxapp4d-app-mmdoc/src/main/java/org/eobjects/metamodel/doc/package-info.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright ©Δ∞ 仙上主天 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and - * the following disclaimer in the documentation and/or other materials provided with the distribution. - * * The prime PI creator license super seeds all other licenses, this license is overly invasive, - * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. - * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, - * even on air gaped systems, all information in the universe is owned by the pi creator. - * - * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package org.eobjects.metamodel.doc; diff --git a/gdxapp4d-chain-boot-ship-engine/pom.xml b/gdxapp4d-chain-boot-ship-engine/pom.xml index e7def480..ac67f782 100644 --- a/gdxapp4d-chain-boot-ship-engine/pom.xml +++ b/gdxapp4d-chain-boot-ship-engine/pom.xml @@ -25,7 +25,7 @@ - + diff --git a/gdxapp4d-chain-boot-warp-sea/pom.xml b/gdxapp4d-chain-boot-warp-sea/pom.xml index fba8705e..f0cad820 100644 --- a/gdxapp4d-chain-boot-warp-sea/pom.xml +++ b/gdxapp4d-chain-boot-warp-sea/pom.xml @@ -25,7 +25,7 @@ - + diff --git a/gdxapp4d-chain-default-apps/pom.xml b/gdxapp4d-chain-default-apps/pom.xml index 3ad5ea3b..0c8f5920 100644 --- a/gdxapp4d-chain-default-apps/pom.xml +++ b/gdxapp4d-chain-default-apps/pom.xml @@ -71,7 +71,7 @@ - + diff --git a/gdxapp4d-chain-default-music/pom.xml b/gdxapp4d-chain-default-music/pom.xml index e8c8a055..02069f3a 100644 --- a/gdxapp4d-chain-default-music/pom.xml +++ b/gdxapp4d-chain-default-music/pom.xml @@ -25,7 +25,7 @@ - + diff --git a/gdxapp4d-chain-dep-osgi-lib/pom.xml b/gdxapp4d-chain-dep-osgi-lib/pom.xml index 2870c2d0..9975f5ee 100644 --- a/gdxapp4d-chain-dep-osgi-lib/pom.xml +++ b/gdxapp4d-chain-dep-osgi-lib/pom.xml @@ -21,6 +21,18 @@ org.mariadb.jdbc mariadb-java-client + + org.postgresql + postgresql + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + @@ -56,13 +68,17 @@ + + + + - + diff --git a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml index c8e02f4b..b2930142 100644 --- a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml +++ b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-hash.xml @@ -9,4 +9,8 @@ + + + + diff --git a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml index 5a2db848..b49c85d5 100644 --- a/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml +++ b/gdxapp4d-chain-dep-osgi-lib/src/main/chain/warp-sea.xml @@ -9,5 +9,9 @@ + + + + diff --git a/gdxapp4d-chain-dep-osgi-scr/pom.xml b/gdxapp4d-chain-dep-osgi-scr/pom.xml index dda1df09..166b6bff 100644 --- a/gdxapp4d-chain-dep-osgi-scr/pom.xml +++ b/gdxapp4d-chain-dep-osgi-scr/pom.xml @@ -25,7 +25,7 @@ - + diff --git a/gdxapp4d-chain-font-unicode4d/pom.xml b/gdxapp4d-chain-font-unicode4d/pom.xml index 128447fa..2967ee90 100644 --- a/gdxapp4d-chain-font-unicode4d/pom.xml +++ b/gdxapp4d-chain-font-unicode4d/pom.xml @@ -25,7 +25,7 @@ - + diff --git a/gdxapp4d-chain-mod-unitxc/pom.xml b/gdxapp4d-chain-mod-unitxc/pom.xml index b9308419..71acd792 100644 --- a/gdxapp4d-chain-mod-unitxc/pom.xml +++ b/gdxapp4d-chain-mod-unitxc/pom.xml @@ -36,7 +36,7 @@ - + diff --git a/gdxapp4d-chain-mod-vrgem4/pom.xml b/gdxapp4d-chain-mod-vrgem4/pom.xml index 5e9f5d21..9565d886 100644 --- a/gdxapp4d-chain-mod-vrgem4/pom.xml +++ b/gdxapp4d-chain-mod-vrgem4/pom.xml @@ -36,7 +36,7 @@ - + diff --git a/gdxapp4d-chain-mod-vrsys5/pom.xml b/gdxapp4d-chain-mod-vrsys5/pom.xml index 492526c0..d09e0c3d 100644 --- a/gdxapp4d-chain-mod-vrsys5/pom.xml +++ b/gdxapp4d-chain-mod-vrsys5/pom.xml @@ -36,7 +36,7 @@ - + diff --git a/gdxapp4d-tos4/pom.xml b/gdxapp4d-tos4/pom.xml index e629644e..6fdb06c1 100644 --- a/gdxapp4d-tos4/pom.xml +++ b/gdxapp4d-tos4/pom.xml @@ -59,7 +59,7 @@ love.distributedrebirth.nx01 - nx01-x4o-o2o + nx01-mushroom-mais-mm org.eobjects.metamodel @@ -80,9 +80,21 @@ MetaModel-xml - postgresql + org.postgresql postgresql + + org.mariadb.jdbc + mariadb-java-client + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java index d42fa672..a3e193b3 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java @@ -127,22 +127,25 @@ public class GDXAppTos4BootFactory { "org.x4o.fc18,"+ "org.x4o.fc18.cake2,"+ "org.x4o.fc18.cake2.clk1k,"+ + "org.x4o.fc18.cake2.flag4,"+ + "org.x4o.fc18.cake2.gram5,"+ "org.x4o.fc18.cake2.pie9c,"+ "org.x4o.fc18.cake2.pie9d,"+ "org.x4o.fc18.cake2.zero33,"+ + "org.x4o.fc18.cake2.zero33.dec1,"+ "org.x4o.fc18.cake2.zero33.vt06,"+ + "org.x4o.fc18.octal8,"+ "org.x4o.fc18.zion7,"+ - "org.x4o.o2o,"+ - "org.x4o.o2o.io,"+ - "org.x4o.o2o.io.sax3,"+ - "org.x4o.o2o.io.sax3.xdbx,"+ - "org.x4o.o2o.io.sax4,"+ - "org.x4o.o2o.io.tlv,"+ - "org.x4o.o2o.octal,"+ - "org.x4o.o2o.octo,"+ - "org.x4o.o2o.octo.conv,"+ - "org.x4o.o2o.tdoc,"+ - "org.x4o.o2o.tdoc.dom,"+ + "org.x4o.sax3,"+ + "org.x4o.sax3.io,"+ + "org.x4o.sax3.io.xdbx,"+ + "org.x4o.maisdoc,"+ + "org.x4o.maisdoc.flake,"+ + "org.x4o.maisdoc.model,"+ + "org.x4o.maisdoc.theme,"+ + "org.x4o.maisdoc.theme.base,"+ + "org.x4o.maisdoc.theme.jdk6,"+ + "org.x4o.maisdoc.theme.jdk7,"+ "org.x4o.xml,"+ "org.x4o.xml.conv,"+ "org.x4o.xml.conv.text,"+ @@ -219,60 +222,98 @@ public class GDXAppTos4BootFactory { "love.distributedrebirth.unicode4d,"+ "love.distributedrebirth.unicode4d.atlas,"+ "love.distributedrebirth.unicode4d.draw,"+ - "org.x4o.html,"+ - "org.x4o.html.spec,"+ - "org.x4o.xml.eld.doc,"+ - "org.x4o.xml.eld.doc.api,"+ - "org.x4o.xml.eld.doc.api.dom,"+ - "org.x4o.xml.eld.doc.theme.base,"+ - "org.x4o.xml.eld.doc.theme.jdk6,"+ - "org.x4o.xml.eld.doc.theme.jdk7,"+ - "org.eobjects.metamodel,"+ - "org.eobjects.metamodel.convert,"+ - "org.eobjects.metamodel.create,"+ - "org.eobjects.metamodel.data,"+ - "org.eobjects.metamodel.delete,"+ - "org.eobjects.metamodel.drop,"+ - "org.eobjects.metamodel.insert,"+ - "org.eobjects.metamodel.intercept,"+ - "org.eobjects.metamodel.query,"+ - "org.eobjects.metamodel.query.builder,"+ - "org.eobjects.metamodel.query.parser,"+ - "org.eobjects.metamodel.schema,"+ - "org.eobjects.metamodel.update,"+ - "org.eobjects.metamodel.util,"+ - "org.eobjects.metamodel.csv,"+ - "org.eobjects.metamodel.xml,"+ - "org.eobjects.metamodel.mongodb,"+ - "org.eobjects.metamodel.jdbc,"+ - "org.eobjects.metamodel.jdbc.dialects,"+ + "love.distributedrebirth.nx01.mushroom.mais.mm,"+ + "org.eobjects.metamodel.doc,"+ + "org.eobjects.metamodel.doc.jdbc,"+ + "org.eobjects.metamodel.doc.jdbc.db,"+ + "org.apache.metamodel,"+ + "org.apache.metamodel.convert,"+ + "org.apache.metamodel.create,"+ + "org.apache.metamodel.data,"+ + "org.apache.metamodel.delete,"+ + "org.apache.metamodel.drop,"+ + "org.apache.metamodel.insert,"+ + "org.apache.metamodel.intercept,"+ + "org.apache.metamodel.query,"+ + "org.apache.metamodel.query.builder,"+ + "org.apache.metamodel.query.parser,"+ + "org.apache.metamodel.schema,"+ + "org.apache.metamodel.update,"+ + "org.apache.metamodel.util,"+ + "org.apache.metamodel.csv,"+ + "org.apache.metamodel.xml,"+ + "org.apache.metamodel.mongodb,"+ + "org.apache.metamodel.jdbc,"+ + "org.apache.metamodel.jdbc.dialects,"+ "au.com.bytecode.opencsv,"+ "au.com.bytecode.opencsv.bean,"+ "org.postgresql,"+ "org.postgresql.copy,"+ "org.postgresql.core,"+ - "org.postgresql.core.types,"+ - "org.postgresql.core.v2,"+ "org.postgresql.core.v3,"+ + "org.postgresql.core.v3.adaptivefetch,"+ + "org.postgresql.core.v3.replication,"+ "org.postgresql.ds,"+ "org.postgresql.ds.common,"+ - "org.postgresql.ds.jdbc23,"+ - "org.postgresql.db.jdbc4,"+ "org.postgresql.fastpath,"+ "org.postgresql.geometric,"+ "org.postgresql.gss,"+ + "org.postgresql.hostchooser,"+ + "org.postgresql.jdbc,"+ "org.postgresql.jdbc2,"+ "org.postgresql.jdbc2.optional,"+ "org.postgresql.jdbc3,"+ - "org.postgresql.jdbc3g,"+ - "org.postgresql.jdbc4,"+ + "org.postgresql.jdbcurlresolver,"+ "org.postgresql.largeobject,"+ + "org.postgresql.osgi,"+ + "org.postgresql.plugin,"+ + "org.postgresql.replication,"+ + "org.postgresql.replication.fluent,"+ + "org.postgresql.replication.fluent.logical,"+ + "org.postgresql.replication.fluent.physical,"+ "org.postgresql.ssl,"+ + "org.postgresql.ssl.jdbc4,"+ + "org.postgresql.sspi,"+ "org.postgresql.translation,"+ "org.postgresql.util,"+ + "org.postgresql.util.internal,"+ "org.postgresql.xa,"+ - "org.postgresql.xa.jdbc3,"+ - "org.postgresql.xa.jdbc4" + "org.postgresql.xml,"+ + "com.fasterxml.jackson.core,"+ + "com.fasterxml.jackson.core.async,"+ + "com.fasterxml.jackson.core.base,"+ + "com.fasterxml.jackson.core.exc,"+ + "com.fasterxml.jackson.core.filter,"+ + "com.fasterxml.jackson.core.format,"+ + "com.fasterxml.jackson.core.io,"+ + "com.fasterxml.jackson.core.json,"+ + "com.fasterxml.jackson.core.json.async,"+ + "com.fasterxml.jackson.core.sym,"+ + "com.fasterxml.jackson.core.type,"+ + "com.fasterxml.jackson.core.util,"+ + "com.fasterxml.jackson.annotation,"+ + "com.fasterxml.jackson.databind,"+ + "com.fasterxml.jackson.databind.annotation,"+ + "com.fasterxml.jackson.databind.cfg,"+ + "com.fasterxml.jackson.databind.deser,"+ + "com.fasterxml.jackson.databind.deser.impl,"+ + "com.fasterxml.jackson.databind.deser.std,"+ + "com.fasterxml.jackson.databind.exc,"+ + "com.fasterxml.jackson.databind.ext,"+ + "com.fasterxml.jackson.databind.introspect,"+ + "com.fasterxml.jackson.databind.jdk14,"+ + "com.fasterxml.jackson.databind.json,"+ + "com.fasterxml.jackson.databind.jsonFormatVisitors,"+ + "com.fasterxml.jackson.databind.jsonschema,"+ + "com.fasterxml.jackson.databind.jsontype,"+ + "com.fasterxml.jackson.databind.jsontype.impl,"+ + "com.fasterxml.jackson.databind.module,"+ + "com.fasterxml.jackson.databind.node,"+ + "com.fasterxml.jackson.databind.ser,"+ + "com.fasterxml.jackson.databind.ser.impl,"+ + "com.fasterxml.jackson.databind.ser.std,"+ + "com.fasterxml.jackson.databind.type,"+ + "com.fasterxml.jackson.databind.util" ); // ; version=1.0.0 if (cachedir != null) { diff --git a/pom.xml b/pom.xml index b0c2b2b1..47343f55 100644 --- a/pom.xml +++ b/pom.xml @@ -44,6 +44,9 @@ 1.7.36 〇一。壬寅。一〄-SNAPSHOT 6.0.53 + 5.3.6 + + 2.13.1 org.osgi.framework, org.osgi.service.packageadmin, @@ -109,22 +112,25 @@ org.x4o.fc18, org.x4o.fc18.cake2, org.x4o.fc18.cake2.clk1k, + org.x4o.fc18.cake2.flag4, + org.x4o.fc18.cake2.gram5, org.x4o.fc18.cake2.pie9c, org.x4o.fc18.cake2.pie9d, org.x4o.fc18.cake2.zero33, + org.x4o.fc18.cake2.zero33.dec1, org.x4o.fc18.cake2.zero33.vt06, + org.x4o.fc18.octal8, org.x4o.fc18.zion7, - org.x4o.o2o, - org.x4o.o2o.io, - org.x4o.o2o.io.sax3, - org.x4o.o2o.io.sax3.xdbx, - org.x4o.o2o.io.sax4, - org.x4o.o2o.io.tlv, - org.x4o.o2o.octal, - org.x4o.o2o.octo, - org.x4o.o2o.octo.conv, - org.x4o.o2o.tdoc, - org.x4o.o2o.tdoc.dom, + org.x4o.sax3, + org.x4o.sax3.io, + org.x4o.sax3.io.xdbx, + org.x4o.maisdoc, + org.x4o.maisdoc.flake, + org.x4o.maisdoc.model, + org.x4o.maisdoc.theme, + org.x4o.maisdoc.theme.base, + org.x4o.maisdoc.theme.jdk6, + org.x4o.maisdoc.theme.jdk7, org.x4o.xml, org.x4o.xml.conv, org.x4o.xml.conv.text, @@ -200,7 +206,11 @@ love.distributedrebirth.warpme.ship, love.distributedrebirth.unicode4d, love.distributedrebirth.unicode4d.atlas, - love.distributedrebirth.unicode4d.draw + love.distributedrebirth.unicode4d.draw, + love.distributedrebirth.nx01.mushroom.mais.mm, + org.eobjects.metamodel.doc, + org.eobjects.metamodel.doc.jdbc, + org.eobjects.metamodel.doc.jdbc.db, love.distributedrebirth.gdxapp4d.vrgem4.service, @@ -233,52 +243,94 @@ org.apache.commons.lang3.tuple - org.eobjects.metamodel, - org.eobjects.metamodel.convert, - org.eobjects.metamodel.create, - org.eobjects.metamodel.data, - org.eobjects.metamodel.delete, - org.eobjects.metamodel.drop, - org.eobjects.metamodel.insert, - org.eobjects.metamodel.intercept, - org.eobjects.metamodel.query, - org.eobjects.metamodel.query.builder, - org.eobjects.metamodel.query.parser, - org.eobjects.metamodel.schema, - org.eobjects.metamodel.update, - org.eobjects.metamodel.util, - org.eobjects.metamodel.csv, - org.eobjects.metamodel.xml, - org.eobjects.metamodel.mongodb, - org.eobjects.metamodel.jdbc, - org.eobjects.metamodel.jdbc.dialects, + org.apache.metamodel, + org.apache.metamodel.convert, + org.apache.metamodel.create, + org.apache.metamodel.data, + org.apache.metamodel.delete, + org.apache.metamodel.drop, + org.apache.metamodel.insert, + org.apache.metamodel.intercept, + org.apache.metamodel.query, + org.apache.metamodel.query.builder, + org.apache.metamodel.query.parser, + org.apache.metamodel.schema, + org.apache.metamodel.update, + org.apache.metamodel.util, + org.apache.metamodel.csv, + org.apache.metamodel.xml, + org.apache.metamodel.mongodb, + org.apache.metamodel.jdbc, + org.apache.metamodel.jdbc.dialects, au.com.bytecode.opencsv, au.com.bytecode.opencsv.bean, org.postgresql, org.postgresql.copy, org.postgresql.core, - org.postgresql.core.types, - org.postgresql.core.v2, org.postgresql.core.v3, + org.postgresql.core.v3.adaptivefetch, + org.postgresql.core.v3.replication, org.postgresql.ds, org.postgresql.ds.common, - org.postgresql.ds.jdbc23, - org.postgresql.db.jdbc4, org.postgresql.fastpath, org.postgresql.geometric, org.postgresql.gss, + org.postgresql.hostchooser, + org.postgresql.jdbc, org.postgresql.jdbc2, org.postgresql.jdbc2.optional, org.postgresql.jdbc3, - org.postgresql.jdbc3g, - org.postgresql.jdbc4, + org.postgresql.jdbcurlresolver, org.postgresql.largeobject, + org.postgresql.osgi, + org.postgresql.plugin, + org.postgresql.replication, + org.postgresql.replication.fluent, + org.postgresql.replication.fluent.logical, + org.postgresql.replication.fluent.physical, org.postgresql.ssl, + org.postgresql.ssl.jdbc4, + org.postgresql.sspi, org.postgresql.translation, org.postgresql.util, + org.postgresql.util.internal, org.postgresql.xa, - org.postgresql.xa.jdbc3, - org.postgresql.xa.jdbc4 + org.postgresql.xml, + com.fasterxml.jackson.core, + com.fasterxml.jackson.core.async, + com.fasterxml.jackson.core.base, + com.fasterxml.jackson.core.exc, + com.fasterxml.jackson.core.filter, + com.fasterxml.jackson.core.format, + com.fasterxml.jackson.core.io, + com.fasterxml.jackson.core.json, + com.fasterxml.jackson.core.json.async, + com.fasterxml.jackson.core.sym, + com.fasterxml.jackson.core.type, + com.fasterxml.jackson.core.util, + com.fasterxml.jackson.annotation, + com.fasterxml.jackson.databind, + com.fasterxml.jackson.databind.annotation, + com.fasterxml.jackson.databind.cfg, + com.fasterxml.jackson.databind.deser, + com.fasterxml.jackson.databind.deser.impl, + com.fasterxml.jackson.databind.deser.std, + com.fasterxml.jackson.databind.exc, + com.fasterxml.jackson.databind.ext, + com.fasterxml.jackson.databind.introspect, + com.fasterxml.jackson.databind.jdk14, + com.fasterxml.jackson.databind.json, + com.fasterxml.jackson.databind.jsonFormatVisitors, + com.fasterxml.jackson.databind.jsonschema, + com.fasterxml.jackson.databind.jsontype, + com.fasterxml.jackson.databind.jsontype.impl, + com.fasterxml.jackson.databind.module, + com.fasterxml.jackson.databind.node, + com.fasterxml.jackson.databind.ser, + com.fasterxml.jackson.databind.ser.impl, + com.fasterxml.jackson.databind.ser.std, + com.fasterxml.jackson.databind.type, + com.fasterxml.jackson.databind.util org.mariadb.jdbc, @@ -399,22 +451,32 @@ org.eobjects.metamodel MetaModel-jdbc - 3.4.11 + ${metamodel.version} org.eobjects.metamodel MetaModel-csv - 3.4.11 + ${metamodel.version} org.eobjects.metamodel MetaModel-xml - 3.4.11 + ${metamodel.version} - postgresql + com.fasterxml.jackson.core + jackson-core + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + org.postgresql postgresql - 9.1-901-1.jdbc4 + 42.7.5 org.mariadb.jdbc @@ -426,6 +488,11 @@ nx01-jpp-base ${nx01.version} + + love.distributedrebirth.nx01 + nx01-mushroom-mais-mm + ${nx01.version} + love.distributedrebirth.nx01 nx01-warp-core @@ -451,11 +518,6 @@ nx01-x4o-fc18 ${nx01.version} - - love.distributedrebirth.nx01 - nx01-x4o-o2o - ${nx01.version} -