Repository: metamodel Updated Branches: refs/heads/5.x c4788a272 -> 94e72019b
http://git-wip-us.apache.org/repos/asf/metamodel/blob/f015665d/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmSchema.java ---------------------------------------------------------------------- diff --git a/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmSchema.java b/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmSchema.java index 35f98ab..49e24e7 100644 --- a/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmSchema.java +++ b/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmSchema.java @@ -20,10 +20,10 @@ package org.apache.metamodel.sugarcrm; import java.util.ArrayList; import java.util.List; +import java.util.function.Supplier; import org.apache.metamodel.schema.AbstractSchema; import org.apache.metamodel.schema.Table; -import org.apache.metamodel.util.Ref; import com.sugarcrm.ws.soap.SugarsoapPortType; @@ -34,7 +34,7 @@ final class SugarCrmSchema extends AbstractSchema { private final List<Table> _tables; private final String _name; - public SugarCrmSchema(String name, SugarsoapPortType service, Ref<String> sessionId) { + public SugarCrmSchema(String name, SugarsoapPortType service, Supplier<String> sessionId) { _name = name; _tables = new ArrayList<Table>(); _tables.add(new SugarCrmTable("Accounts", this, service, sessionId)); http://git-wip-us.apache.org/repos/asf/metamodel/blob/f015665d/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmTable.java ---------------------------------------------------------------------- diff --git a/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmTable.java b/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmTable.java index 1cb965e..1926d83 100644 --- a/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmTable.java +++ b/sugarcrm/src/main/java/org/apache/metamodel/sugarcrm/SugarCrmTable.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Supplier; import org.apache.metamodel.schema.AbstractTable; import org.apache.metamodel.schema.Column; @@ -31,7 +32,6 @@ import org.apache.metamodel.schema.Relationship; import org.apache.metamodel.schema.Schema; import org.apache.metamodel.schema.TableType; import org.apache.metamodel.util.LazyRef; -import org.apache.metamodel.util.Ref; import org.w3c.dom.Node; import com.sugarcrm.ws.soap.FieldList; @@ -79,9 +79,9 @@ final class SugarCrmTable extends AbstractTable { private final String _name; private final Schema _schema; - private final Ref<List<Column>> _columnsRef; + private final Supplier<List<Column>> _columnsRef; - public SugarCrmTable(String name, Schema schema, final SugarsoapPortType service, final Ref<String> sessionId) { + public SugarCrmTable(String name, Schema schema, final SugarsoapPortType service, final Supplier<String> sessionId) { _name = name; _schema = schema; _columnsRef = new LazyRef<List<Column>>() { http://git-wip-us.apache.org/repos/asf/metamodel/blob/f015665d/xml/src/main/java/org/apache/metamodel/xml/XmlDomDataContext.java ---------------------------------------------------------------------- diff --git a/xml/src/main/java/org/apache/metamodel/xml/XmlDomDataContext.java b/xml/src/main/java/org/apache/metamodel/xml/XmlDomDataContext.java index c71d8ca..b9936af 100644 --- a/xml/src/main/java/org/apache/metamodel/xml/XmlDomDataContext.java +++ b/xml/src/main/java/org/apache/metamodel/xml/XmlDomDataContext.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.function.Supplier; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -57,7 +58,6 @@ import org.apache.metamodel.schema.TableType; import org.apache.metamodel.util.FileResource; import org.apache.metamodel.util.ImmutableRef; import org.apache.metamodel.util.NumberComparator; -import org.apache.metamodel.util.Ref; import org.apache.metamodel.util.Resource; import org.apache.metamodel.util.UrlResource; import org.slf4j.Logger; @@ -97,7 +97,7 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { private static final String TEXT_CONTENT_TEMP_SUFFIX = "_metamodel_text_content"; - private final Ref<InputSource> _inputSourceRef; + private final Supplier<InputSource> _inputSourceRef; private final Map<String, List<Object[]>> _tableData = new HashMap<String, List<Object[]>>();; private final String _schemaName; @@ -152,13 +152,10 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { this(new UrlResource(url), autoFlattenTables); } - private static Ref<InputSource> createInputSourceRef(final Resource resource) { - return new Ref<InputSource>() { - @Override - public InputSource get() { + private static Supplier<InputSource> createInputSourceRef(final Resource resource) { + return () -> { final InputStream in = resource.read(); return new InputSource(in); - } }; } @@ -294,7 +291,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { // Rename all text content columns to reasonable // names (preferably element node name) String currentName = textContentColumn.getName(); - String preferredName = currentName.substring(0, currentName.length() - TEXT_CONTENT_TEMP_SUFFIX.length()); + String preferredName = currentName.substring(0, currentName.length() - TEXT_CONTENT_TEMP_SUFFIX + .length()); column = (MutableColumn) table.getColumnByName(preferredName); if (column == null) { textContentColumn.setName(preferredName); @@ -327,12 +325,13 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { if (parentKeyColumn != null) { Table parentTable = parentKeyColumn.getTable(); - foreignKeyColumn = new MutableColumn(parentTable.getName() + "_id", parentKeyColumn.getType(), table, - table.getColumnCount(), false); + foreignKeyColumn = new MutableColumn(parentTable.getName() + "_id", parentKeyColumn.getType(), + table, table.getColumnCount(), false); foreignKeyColumn.setNativeType(NATIVE_TYPE_FOREIGN_KEY); table.addColumn(foreignKeyColumn); - MutableRelationship.createRelationship(new Column[] { parentKeyColumn }, new Column[] { foreignKeyColumn }); + MutableRelationship.createRelationship(new Column[] { parentKeyColumn }, new Column[] { + foreignKeyColumn }); } else { foreignKeyColumn = null; @@ -412,8 +411,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { } if (column == null && preferredColumnName != null) { logger.info("Creating text content column for table: " + table.getName()); - column = new MutableColumn(preferredColumnName + TEXT_CONTENT_TEMP_SUFFIX, ColumnType.STRING, table, - table.getColumnCount(), true); + column = new MutableColumn(preferredColumnName + TEXT_CONTENT_TEMP_SUFFIX, ColumnType.STRING, table, table + .getColumnCount(), true); column.setNativeType(NATIVE_TYPE_TEXT); table.addColumn(column); } @@ -432,8 +431,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { if (column == null) { String tableName = table.getName(); logger.info("Creating id column for table: " + tableName); - column = new MutableColumn(tableName + "_metamodel_surrogate_id", ColumnType.INTEGER, table, table.getColumnCount(), - false); + column = new MutableColumn(tableName + "_metamodel_surrogate_id", ColumnType.INTEGER, table, table + .getColumnCount(), false); column.setNativeType(NATIVE_TYPE_PRIMARY_KEY); column.setIndexed(true); table.addColumn(column); @@ -543,8 +542,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { List<Object[]> tableRows = executeQuery(q).toObjectArrays(); for (Column foreignColumn : foreignColumns) { - MutableColumn newPrimaryColumn = new MutableColumn(foreignColumn.getName(), foreignColumn.getType(), primaryTable, - primaryTable.getColumnCount(), foreignColumn.isNullable()); + MutableColumn newPrimaryColumn = new MutableColumn(foreignColumn.getName(), foreignColumn.getType(), + primaryTable, primaryTable.getColumnCount(), foreignColumn.isNullable()); newPrimaryColumn.setIndexed(foreignColumn.isIndexed()); newPrimaryColumn.setNativeType(foreignColumn.getNativeType()); primaryTable.addColumn(newPrimaryColumn); @@ -558,7 +557,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { ((MutableRelationship) relationship).remove(); if (logger.isInfoEnabled()) { - logger.info("Tables '" + primaryTableName + "' and '" + foreignTableName + "' flattened to: " + primaryTableName); + logger.info("Tables '" + primaryTableName + "' and '" + foreignTableName + "' flattened to: " + + primaryTableName); if (logger.isDebugEnabled()) { logger.debug(primaryTableName + " columns: " + Arrays.toString(primaryTable.getColumns())); } @@ -608,7 +608,8 @@ public class XmlDomDataContext extends QueryPostprocessDataContext { Column[] foreignColumns = foreignKeyRelationship.getForeignColumns(); SelectItem countAllItem = SelectItem.getCountAllItem(); - Query q = new Query().select(foreignColumns).select(countAllItem).from(table).groupBy(foreignColumns); + Query q = new Query().select(foreignColumns).select(countAllItem).from(table).groupBy( + foreignColumns); DataSet data = executeQuery(q); Comparable<Object> comparable = NumberComparator.getComparable(1); while (data.next()) { http://git-wip-us.apache.org/repos/asf/metamodel/blob/f015665d/xml/src/main/java/org/apache/metamodel/xml/XmlSaxDataContext.java ---------------------------------------------------------------------- diff --git a/xml/src/main/java/org/apache/metamodel/xml/XmlSaxDataContext.java b/xml/src/main/java/org/apache/metamodel/xml/XmlSaxDataContext.java index fa7aa8b..f1c2d6c 100644 --- a/xml/src/main/java/org/apache/metamodel/xml/XmlSaxDataContext.java +++ b/xml/src/main/java/org/apache/metamodel/xml/XmlSaxDataContext.java @@ -23,6 +23,7 @@ import java.io.InputStream; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; +import java.util.function.Supplier; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; @@ -43,7 +44,6 @@ import org.apache.metamodel.schema.Schema; import org.apache.metamodel.schema.Table; import org.apache.metamodel.util.Action; import org.apache.metamodel.util.FileResource; -import org.apache.metamodel.util.Ref; import org.apache.metamodel.util.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,7 +67,7 @@ public class XmlSaxDataContext extends QueryPostprocessDataContext { public static final String COLUMN_NAME_ROW_ID = "row_id"; - private final Ref<InputSource> _inputSourceRef; + private final Supplier<InputSource> _inputSourceRef; private final Map<XmlSaxTableDef, Map<String, String>> _valueXpaths; private String _schemaName; private XmlSaxTableDef[] _tableDefs; @@ -84,7 +84,7 @@ public class XmlSaxDataContext extends QueryPostprocessDataContext { * * @see XmlSaxTableDef */ - public XmlSaxDataContext(Ref<InputSource> inputSourceRef, XmlSaxTableDef... tableDefs) { + public XmlSaxDataContext(Supplier<InputSource> inputSourceRef, XmlSaxTableDef... tableDefs) { _inputSourceRef = inputSourceRef; _tableDefs = tableDefs; _valueXpaths = new HashMap<XmlSaxTableDef, Map<String, String>>(); @@ -108,13 +108,10 @@ public class XmlSaxDataContext extends QueryPostprocessDataContext { this(createInputSourceRef(new FileResource(file)), tableDefs); } - private static Ref<InputSource> createInputSourceRef(final Resource resource) { - return new Ref<InputSource>() { - @Override - public InputSource get() { - final InputStream in = resource.read(); - return new InputSource(in); - } + private static Supplier<InputSource> createInputSourceRef(final Resource resource) { + return () -> { + final InputStream in = resource.read(); + return new InputSource(in); }; } @@ -124,8 +121,8 @@ public class XmlSaxDataContext extends QueryPostprocessDataContext { for (XmlSaxTableDef tableDef : _tableDefs) { final String rowXpath = tableDef.getRowXpath(); - final MutableTable table = new MutableTable(getTableName(tableDef)).setSchema(schema).setRemarks( - "XPath: " + rowXpath); + final MutableTable table = new MutableTable(getTableName(tableDef)).setSchema(schema).setRemarks("XPath: " + + rowXpath); final MutableColumn rowIndexColumn = new MutableColumn(COLUMN_NAME_ROW_ID, ColumnType.INTEGER) .setColumnNumber(0).setNullable(false).setTable(table).setRemarks("Row/tag index (0-based)"); @@ -225,8 +222,8 @@ public class XmlSaxDataContext extends QueryPostprocessDataContext { SAXParserFactory saxFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxFactory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); - xmlReader - .setContentHandler(new XmlSaxContentHandler(tableDef.getRowXpath(), rowPublisher, valueXpaths)); + xmlReader.setContentHandler(new XmlSaxContentHandler(tableDef.getRowXpath(), rowPublisher, + valueXpaths)); try { xmlReader.parse(_inputSourceRef.get()); } catch (XmlStopParsingException e) {