added interface override annotations.
This commit is contained in:
parent
fc4c568b18
commit
5bbd8e4ef3
189 changed files with 1458 additions and 319 deletions
|
|
@ -42,6 +42,7 @@ public class MetaModelDataContextCsv implements MetaModelDataContextProvider {
|
|||
private String url = null;
|
||||
private CsvConfiguration csvConfiguration = null;
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
if (csvConfiguration==null) {
|
||||
csvConfiguration = new CsvConfiguration();
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ public class MetaModelDataContextJdbc implements MetaModelDataContextProvider {
|
|||
private String username = null;
|
||||
private String password = null;
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
JdbcDataContext dataContext = new JdbcDataContext(getConnection());
|
||||
return dataContext;
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ public class MetaModelDataContextJndiDataContext implements MetaModelDataContext
|
|||
|
||||
private String jndiName = null;
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
return getDataContextJndi();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ public class MetaModelDataContextJndiDataSource implements MetaModelDataContextP
|
|||
private String jndiName = null;
|
||||
private JdbcDataContext dataContext = null;
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
if (dataContext==null) {
|
||||
dataContext = new JdbcDataContext(getDataSource());
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ public class MetaModelDataContextMongodb implements MetaModelDataContextProvider
|
|||
|
||||
protected Mongo mongo = null;
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
//MongoDbDataContextBean dataContext = new MongoDbDataContextBean(getMongodbConnection());
|
||||
///dataContext.setRegisterMBean(true);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class MetaModelDataContextXmlDom implements MetaModelDataContextProvider
|
|||
private String file = null;
|
||||
private boolean autoFlattenTables = true;
|
||||
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
if (file==null) {
|
||||
throw new NullPointerException("Can's provided data context with null file.");
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ public class MetaModelDataContextXmlSax implements MetaModelDataContextProvider
|
|||
tableSchemas = new ArrayList<XmlSaxTableDef>(5);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
if (file==null) {
|
||||
throw new NullPointerException("Can's provided data context with null file.");
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ public class MetaModelVascBackend extends AbstractVascBackend<Row> {
|
|||
return q;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VascBackendResult<Row> execute(VascBackendState state) throws VascBackendException {
|
||||
Schema schema = dataContext.getDefaultSchema();
|
||||
Table t = schema.getTableByName(table);
|
||||
|
|
@ -262,32 +263,37 @@ public class MetaModelVascBackend extends AbstractVascBackend<Row> {
|
|||
|
||||
return new DefaultVascBackendResult<Row>(result);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void persist(Row object) throws VascBackendException {
|
||||
if (crudDataContext==null) {
|
||||
return;
|
||||
}
|
||||
crudDataContext.persist((UpdateableRow) object);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Row merge(Row object) throws VascBackendException {
|
||||
if (crudDataContext==null) {
|
||||
return object;
|
||||
}
|
||||
return crudDataContext.merge((UpdateableRow) object);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void delete(Row object) throws VascBackendException {
|
||||
if (crudDataContext==null) {
|
||||
return;
|
||||
}
|
||||
crudDataContext.delete((UpdateableRow) object);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RowVascEntryFieldValue provideVascEntryFieldValue() {
|
||||
return new RowVascEntryFieldValue();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public VascEntryRecordCreator<Row> provideVascEntryRecordCreator() {
|
||||
return new RowVascEntryRecordCreator(crudDataContext,crudDataContext.getDefaultSchema().getTableByName(table));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,14 +65,19 @@ public class MongoDbDataContextSchemaDetector /* implements MetaModelSchemaDetec
|
|||
schema = walker.detectSchema(mongoDb, getMainSchemaName());
|
||||
return schema;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getMainSchemaName() throws MetaModelException {
|
||||
return mongoDb.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DataSet materializeMainSchemaTable(Table table, Column[] columns, int maxRows) {
|
||||
return materializeMainSchemaTableInternal(table, columns, null, maxRows, true);
|
||||
}
|
||||
|
||||
// Overidded these method because they do not use the getMainSchema() method
|
||||
@Override
|
||||
public DataSet executeQuery(Query query) {
|
||||
// Check for queries containing only simple selects and where clauses,
|
||||
// or if it is a COUNT(*) query.
|
||||
|
|
@ -170,6 +175,7 @@ public class MongoDbDataContextSchemaDetector /* implements MetaModelSchemaDetec
|
|||
return _queryPostProcessed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SelectItem[] getSelectItems() {
|
||||
return _selectItems;
|
||||
}
|
||||
|
|
@ -192,6 +198,7 @@ public class MongoDbDataContextSchemaDetector /* implements MetaModelSchemaDetec
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean next() {
|
||||
if (_cursor.hasNext()) {
|
||||
_dbObject = _cursor.next();
|
||||
|
|
@ -202,6 +209,7 @@ public class MongoDbDataContextSchemaDetector /* implements MetaModelSchemaDetec
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Row getRow() {
|
||||
if (_dbObject == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -12,10 +12,11 @@ import net.forwardfire.vasc.backend.metamodel.crud.UpdateableRow;
|
|||
public class RowVascEntryFieldValue implements VascEntryFieldValue<Row> {
|
||||
|
||||
private static final long serialVersionUID = -806674640688182132L;
|
||||
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#getValue(java.lang.String, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Serializable getValue(String backendName, Row record) throws VascBackendException {
|
||||
if (backendName==null) {
|
||||
throw new NullPointerException("Can't get value of null backendName.");
|
||||
|
|
@ -48,6 +49,7 @@ public class RowVascEntryFieldValue implements VascEntryFieldValue<Row> {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#getDisplayValue(java.lang.String, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public String getDisplayValue(String backendName, Row record) throws VascBackendException {
|
||||
Object fieldValue = getValue(backendName,record);
|
||||
if (fieldValue==null) {
|
||||
|
|
@ -55,10 +57,11 @@ public class RowVascEntryFieldValue implements VascEntryFieldValue<Row> {
|
|||
}
|
||||
return fieldValue.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see net.forwardfire.vasc.backend.VascEntryFieldValue#setValue(java.lang.String, java.lang.Object, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public void setValue(String backendName, Row record,Serializable value) throws VascBackendException {
|
||||
if (record instanceof UpdateableRow) {
|
||||
UpdateableRow row = (UpdateableRow)record;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ public class RowVascEntryRecordCreator implements VascEntryRecordCreator<Row> {
|
|||
this.dataContext=dataContext;
|
||||
this.table=table;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Row newRecord() throws VascBackendException {
|
||||
return dataContext.createRow(table);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -218,8 +218,11 @@ public class ResourceBundleDataContext extends QueryPostprocessDataContext imple
|
|||
final Iterator<Row> resultData = result.iterator();
|
||||
return new AbstractDataSet() {
|
||||
int resultCount = 0;
|
||||
@Override
|
||||
public SelectItem[] getSelectItems() { return selectItems; }
|
||||
@Override
|
||||
public Row getRow() { return resultData.next(); }
|
||||
@Override
|
||||
public boolean next() {
|
||||
if (maxRows > 0 && resultCount++ > maxRows) {
|
||||
return false;
|
||||
|
|
@ -229,6 +232,7 @@ public class ResourceBundleDataContext extends QueryPostprocessDataContext imple
|
|||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeUpdate(UpdateScript update) {
|
||||
update.run(resourceBundleUpdateExecutor);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ public class ResourceBundleDataControl extends Control {
|
|||
/**
|
||||
* Does the loading of the ResourceBundle
|
||||
*/
|
||||
@Override
|
||||
public ResourceBundle newBundle(String baseName, Locale localeRequested, String format, ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException, IOException {
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
|
|
|
|||
|
|
@ -52,37 +52,56 @@ public class ResourceBundleUpdateExecutor extends AbstractUpdateCallback {
|
|||
return isDataContextWritable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDeleteSupported() {
|
||||
return isDataContextWritable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDropTableSupported() {
|
||||
return isDataContextWritable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableCreationBuilder createTable(final Schema schema, final String name) throws IllegalArgumentException, IllegalStateException {
|
||||
TableCreationBuilder result = new TableCreationBuilder() {
|
||||
@Override
|
||||
public Table toTable() { return execute(); }
|
||||
@Override
|
||||
public String toSql() { return "nosql"; }
|
||||
@Override
|
||||
public TableCreationBuilder like(Table table) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder withColumn(String name) {
|
||||
//return new ColumnCreationBuilderImpl(this,new MutableColumn(name));
|
||||
final TableCreationBuilder parent = this;
|
||||
return new ColumnCreationBuilder() {
|
||||
@Override
|
||||
public ColumnCreationBuilder withColumn(String name) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder ofType(ColumnType type) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder ofSize(int size) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder ofNativeType(String nativeType) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder nullable(boolean nullable) { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder asPrimaryKey() { return this; }
|
||||
@Override
|
||||
public ColumnCreationBuilder like(Column column) { return this; }
|
||||
@Override
|
||||
public TableCreationBuilder like(Table table) { return this; }
|
||||
@Override
|
||||
public String toSql() { return "nosql"; }
|
||||
@Override
|
||||
public Table toTable() { return execute(); }
|
||||
@Override
|
||||
public Table execute() throws MetaModelException { return parent.execute();}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Table execute() throws MetaModelException {
|
||||
File file = new File(name);
|
||||
Properties p = new Properties();
|
||||
|
|
@ -98,18 +117,22 @@ public class ResourceBundleUpdateExecutor extends AbstractUpdateCallback {
|
|||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public TableDropBuilder dropTable(Table table) throws IllegalArgumentException, IllegalStateException,UnsupportedOperationException {
|
||||
TableDropBuilder result = new AbstractTableDropBuilder(table) {
|
||||
@Override
|
||||
public void execute() throws MetaModelException {
|
||||
resourceBundleDataControl.removeBundle(getTable().getName());
|
||||
}
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RowInsertionBuilder insertInto(final Table table) throws IllegalArgumentException, IllegalStateException,UnsupportedOperationException {
|
||||
RowInsertionBuilder result = new AbstractRowInsertionBuilder<UpdateCallback>(this, table) {
|
||||
@Override
|
||||
public void execute() throws MetaModelException {
|
||||
Properties data = resourceBundleDataControl.getBundleData(table.getName());
|
||||
Object[] values = getValues();
|
||||
|
|
@ -118,9 +141,11 @@ public class ResourceBundleUpdateExecutor extends AbstractUpdateCallback {
|
|||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RowDeletionBuilder deleteFrom(final Table table) throws IllegalArgumentException, IllegalStateException,UnsupportedOperationException {
|
||||
RowDeletionBuilder result = new AbstractRowDeletionBuilder(table) {
|
||||
@Override
|
||||
public void execute() throws MetaModelException {
|
||||
DataSet ds = resourceBundleDataContext.materializeMainSchemaTable(getTable(),getTable().getColumns(),0);
|
||||
Properties data = resourceBundleDataControl.getBundleData(table.getName());
|
||||
|
|
|
|||
|
|
@ -37,13 +37,16 @@ abstract public class AbstractCrudDataContext implements CrudDataContext {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateableRow createRow(Table table) {
|
||||
return wrapOrCreateToUpdateableRow(null,table);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void persist(final UpdateableRow row) {
|
||||
UpdateableDataContext dataContext = abstractProviderUpdateableDataContext();
|
||||
dataContext.executeUpdate(new UpdateScript() {
|
||||
@Override
|
||||
public void run(UpdateCallback backendImpl) {
|
||||
RowInsertionBuilder query = backendImpl.insertInto(row.getTable());
|
||||
for (int i=0;i<row.size();i++) {
|
||||
|
|
@ -58,7 +61,8 @@ abstract public class AbstractCrudDataContext implements CrudDataContext {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public UpdateableRow merge(final UpdateableRow row) {
|
||||
for (String column:row.getPrimaryKeys()) {
|
||||
if (row.getValue(column)==null) {
|
||||
|
|
@ -67,6 +71,7 @@ abstract public class AbstractCrudDataContext implements CrudDataContext {
|
|||
}
|
||||
UpdateableDataContext dataContext = abstractProviderUpdateableDataContext();
|
||||
dataContext.executeUpdate(new UpdateScript() {
|
||||
@Override
|
||||
public void run(UpdateCallback backendImpl) {
|
||||
Object qWhere = backendImpl.update(row.getTable());
|
||||
boolean first = true;
|
||||
|
|
@ -109,10 +114,12 @@ abstract public class AbstractCrudDataContext implements CrudDataContext {
|
|||
ds.close();
|
||||
return rowResult;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void delete(final UpdateableRow row) {
|
||||
UpdateableDataContext dataContext = abstractProviderUpdateableDataContext();
|
||||
dataContext.executeUpdate(new UpdateScript() {
|
||||
@Override
|
||||
public void run(UpdateCallback backendImpl) {
|
||||
Object qWhere = backendImpl.deleteFrom(row.getTable());
|
||||
boolean first = true;
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStyle(int index,Style style) {
|
||||
MetaRowData metaRow = metaData.get(index);
|
||||
metaRow.style=style;
|
||||
|
|
@ -95,6 +96,8 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
|
||||
// ==== Start interface
|
||||
|
||||
|
||||
@Override
|
||||
public Object[] getValues() {
|
||||
Object[] result = new Object[size()];
|
||||
for (int i=0;i<size();i++) {
|
||||
|
|
@ -103,14 +106,17 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(SelectItem item) {
|
||||
return getValue(indexOf(item));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(Column column) {
|
||||
return getValue(indexOf(column));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int indexOf(SelectItem item) {
|
||||
if (item == null) {
|
||||
return UpdateableRow.INDEX_NOT_FOUND;
|
||||
|
|
@ -125,6 +131,7 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
return UpdateableRow.INDEX_NOT_FOUND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int indexOf(Column column) {
|
||||
if (column == null) {
|
||||
return UpdateableRow.INDEX_NOT_FOUND;
|
||||
|
|
@ -133,20 +140,24 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
return indexOf(selectItem);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SelectItem[] getSelectItems() {
|
||||
List<SelectItem> list = getIndexedSelectItemList();
|
||||
SelectItem[] result = new SelectItem[list.size()];
|
||||
return list.toArray(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Style getStyle(SelectItem item) {
|
||||
return getStyle(indexOf(item));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Style getStyle(Column column) {
|
||||
return getStyle(indexOf(column));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Style getStyle(int index) throws IndexOutOfBoundsException {
|
||||
MetaRowData metaRow = getMetaRowData(index);
|
||||
if (metaRow==null) {
|
||||
|
|
@ -158,6 +169,7 @@ abstract public class AbstractRow implements Row,RowLocal {
|
|||
return metaRow.style;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
return metaData.size();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,8 @@ import org.eobjects.metamodel.schema.Column;
|
|||
@SuppressWarnings("serial")
|
||||
abstract public class AbstractUpdateableRow extends AbstractRow implements UpdateableRow {
|
||||
|
||||
// TODO: rm / move getValue and indexOf to AbstractRow after UpdateableRow interface change
|
||||
// TODO: rm / move getValue and indexOf to AbstractRow after UpdateableRow interface change
|
||||
@Override
|
||||
public Object getValue(String columnName) {
|
||||
return getValue(indexOf(columnName));
|
||||
}
|
||||
|
|
@ -43,18 +44,22 @@ abstract public class AbstractUpdateableRow extends AbstractRow implements Updat
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(String columnName,Object object) {
|
||||
setValue(indexOf(columnName), object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(SelectItem selectItem,Object object) {
|
||||
setValue(indexOf(selectItem),object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(Column column,Object object) {
|
||||
setValue(indexOf(column),object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getPrimaryKeys() {
|
||||
List<String> primaryKeys = getPrimaryKeysList();
|
||||
return primaryKeys.toArray(new String[primaryKeys.size()]);
|
||||
|
|
|
|||
|
|
@ -40,7 +40,8 @@ public class CrudDataContextImpl extends AbstractCrudDataContext implements Abst
|
|||
public void overridePrimaryKeysForTable(String table,List<String> keys) {
|
||||
tableKeys.put(table, keys);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> getPrimaryKeysForTable(Table table) {
|
||||
List<String> keys = tableKeys.get(table.getName());
|
||||
if (keys!=null) {
|
||||
|
|
@ -92,6 +93,7 @@ public class CrudDataContextImpl extends AbstractCrudDataContext implements Abst
|
|||
* Checks if backend dataContextDelegate has native support for UpdateableRowDataContext.
|
||||
* If not then automatic wrap full DataSet data to UpdateableRow
|
||||
*/
|
||||
@Override
|
||||
public DataSet executeQuery(Query query) throws MetaModelException {
|
||||
if (dataContextDelegate instanceof UpdateableRowDataContext) {
|
||||
return ((UpdateableRowDataContext) dataContextDelegate).crudExecuteQuery(this,query);
|
||||
|
|
@ -105,6 +107,7 @@ public class CrudDataContextImpl extends AbstractCrudDataContext implements Abst
|
|||
* If so then use api to start query builder with this datacontext.
|
||||
* Else use default InitFromBuilderImpl query builder.
|
||||
*/
|
||||
@Override
|
||||
public InitFromBuilder query() {
|
||||
if (dataContextDelegate instanceof UpdateableRowDataContext) {
|
||||
return ((UpdateableRowDataContext) dataContextDelegate).crudCreateQuery(this);
|
||||
|
|
@ -115,15 +118,13 @@ public class CrudDataContextImpl extends AbstractCrudDataContext implements Abst
|
|||
|
||||
// === Bean properties
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return the checkPrimaryKeysAllRows
|
||||
*/
|
||||
public boolean isCheckPrimaryKeysAllRows() {
|
||||
return checkPrimaryKeysAllRows;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param checkPrimaryKeysAllRows the checkPrimaryKeysAllRows to set
|
||||
*/
|
||||
|
|
@ -131,86 +132,94 @@ public class CrudDataContextImpl extends AbstractCrudDataContext implements Abst
|
|||
this.checkPrimaryKeysAllRows = checkPrimaryKeysAllRows;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// === Start wrapper to dataContextDelegate
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.UpdateableDataContext#executeUpdate(org.eobjects.metamodel.UpdateScript)
|
||||
*/
|
||||
@Override
|
||||
public void executeUpdate(UpdateScript arg0) {
|
||||
dataContextDelegate.executeUpdate(arg0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getColumnByQualifiedLabel(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Column getColumnByQualifiedLabel(String arg0) {
|
||||
return dataContextDelegate.getColumnByQualifiedLabel(arg0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getDefaultSchema()
|
||||
*/
|
||||
@Override
|
||||
public Schema getDefaultSchema() throws MetaModelException {
|
||||
return dataContextDelegate.getDefaultSchema();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getSchemaByName(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Schema getSchemaByName(String arg0) throws MetaModelException {
|
||||
return dataContextDelegate.getSchemaByName(arg0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getSchemaNames()
|
||||
*/
|
||||
@Override
|
||||
public String[] getSchemaNames() throws MetaModelException {
|
||||
return dataContextDelegate.getSchemaNames();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getSchemas()
|
||||
*/
|
||||
@Override
|
||||
public Schema[] getSchemas() throws MetaModelException {
|
||||
return dataContextDelegate.getSchemas();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#getTableByQualifiedLabel(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Table getTableByQualifiedLabel(String arg0) {
|
||||
return dataContextDelegate.getTableByQualifiedLabel(arg0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#refreshSchemas()
|
||||
*/
|
||||
@Override
|
||||
public DataContext refreshSchemas() {
|
||||
return dataContextDelegate.refreshSchemas();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#parseQuery(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public Query parseQuery(String queryString) throws MetaModelException {
|
||||
return dataContextDelegate.parseQuery(queryString);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see org.eobjects.metamodel.DataContext#executeQuery(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public DataSet executeQuery(String queryString) throws MetaModelException {
|
||||
return dataContextDelegate.executeQuery(queryString);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CompiledQuery compileQuery(Query q) throws MetaModelException {
|
||||
return dataContextDelegate.compileQuery(q);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public DataSet executeQuery(CompiledQuery cq, Object... args) {
|
||||
return dataContextDelegate.executeQuery(cq, args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,29 +39,35 @@ public class UpdateableRowMapImpl extends AbstractUpdateableRow {
|
|||
|
||||
// interface
|
||||
|
||||
@Override
|
||||
public Table getTable() {
|
||||
return table;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getPrimaryKeysList() {
|
||||
return primaryKeys;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setValue(int index, Object value) throws IndexOutOfBoundsException {
|
||||
if (index == UpdateableRow.INDEX_NOT_FOUND) {
|
||||
throw new IndexOutOfBoundsException("Can't save value without key index: "+UpdateableRow.INDEX_NOT_FOUND+" value:"+value);
|
||||
}
|
||||
dataMap.put(index, value);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object getValue(int index) throws IndexOutOfBoundsException {
|
||||
return dataMap.get(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Row getSubSelection(SelectItem[] selectItems) {
|
||||
return getSubSelectionFromImpl(new UpdateableRowMapImpl(table,primaryKeys,selectItems),selectItems);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Row getSubSelection(DataSetHeader header) {
|
||||
return getSubSelection(header.getSelectItems());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ public class JndiDataContextObjectFactory implements ObjectFactory {
|
|||
/**
|
||||
* @see javax.naming.spi.ObjectFactory#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)
|
||||
*/
|
||||
@Override
|
||||
synchronized public Object getObjectInstance(Object obj, Name namePath, Context nameCtx,Hashtable<?, ?> env) throws Exception {
|
||||
|
||||
// Create only once.
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ public class JndiDataContextProvider implements DataContextProvider {
|
|||
/**
|
||||
* Returns an DataContext object from the jndi tree.
|
||||
*/
|
||||
@Override
|
||||
public DataContext getDataContext() {
|
||||
try {
|
||||
InitialContext context = new InitialContext();
|
||||
|
|
|
|||
|
|
@ -17,47 +17,73 @@ import org.eobjects.metamodel.schema.Table;
|
|||
* @version 1.0 May 22, 2012
|
||||
*/
|
||||
public class JndiReadOnlyDataContext /* extends DataContextProxy */ implements DataContext {
|
||||
|
||||
private DataContext proxyDataContext = null;
|
||||
|
||||
public JndiReadOnlyDataContext(DataContext proxyDataContext) {
|
||||
this.proxyDataContext=proxyDataContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSet executeQuery(Query arg0) throws MetaModelException {
|
||||
return proxyDataContext.executeQuery(arg0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Column getColumnByQualifiedLabel(String arg0) {
|
||||
return proxyDataContext.getColumnByQualifiedLabel(arg0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getDefaultSchema() throws MetaModelException {
|
||||
return proxyDataContext.getDefaultSchema();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema getSchemaByName(String arg0) throws MetaModelException {
|
||||
return proxyDataContext.getSchemaByName(arg0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getSchemaNames() throws MetaModelException {
|
||||
return proxyDataContext.getSchemaNames();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Schema[] getSchemas() throws MetaModelException {
|
||||
return proxyDataContext.getSchemas();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Table getTableByQualifiedLabel(String arg0) {
|
||||
return proxyDataContext.getTableByQualifiedLabel(arg0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InitFromBuilder query() {
|
||||
return proxyDataContext.query();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext refreshSchemas() {
|
||||
return proxyDataContext.refreshSchemas();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Query parseQuery(String queryString) throws MetaModelException {
|
||||
return proxyDataContext.parseQuery(queryString);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSet executeQuery(String queryString) throws MetaModelException {
|
||||
return proxyDataContext.executeQuery(queryString);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompiledQuery compileQuery(Query q) throws MetaModelException {
|
||||
return proxyDataContext.compileQuery(q);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSet executeQuery(CompiledQuery cq, Object... args) {
|
||||
return proxyDataContext.executeQuery(cq, args);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ public class JndiCsvDataContextLoader implements JndiDataContextLoader {
|
|||
setUseUrlSource(useUrlSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext loadDataContext(JndiDataContextLoaderConfig config) {
|
||||
if (useUrlSource) {
|
||||
return new CsvDataContext(config.checkBackendUrl(),createCsvConfig(config.getBackendParameters()));
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public class JndiJdbcDataContextLoader implements JndiDataContextLoader {
|
|||
setUseDataSource(useDataSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext loadDataContext(JndiDataContextLoaderConfig config) {
|
||||
if (useDataSource) {
|
||||
if (config.getBackendUrl()==null) {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class JndiMongodbDataContextLoader implements JndiDataContextLoader {
|
|||
setUseJndiResource(useJndiResource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext loadDataContext(JndiDataContextLoaderConfig config) {
|
||||
//MongoDbDataContextBean result = null;
|
||||
DB mongoDb = null;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ public class JndiXmlDomDataContextLoader implements JndiDataContextLoader {
|
|||
setUseUrlSource(useUrlSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext loadDataContext(JndiDataContextLoaderConfig config) {
|
||||
boolean autoFlattenTables = true;
|
||||
if ("false".equalsIgnoreCase(config.getBackendParameters().get("autoFlattenTables"))) {
|
||||
|
|
|
|||
|
|
@ -29,12 +29,14 @@ public class JndiXmlSaxDataContextLoader implements JndiDataContextLoader {
|
|||
setUseUrlSource(useUrlSource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataContext loadDataContext(JndiDataContextLoaderConfig config) {
|
||||
List<XmlSaxTableDef> tableSchemas = createXmlSaxConfig(config.getJndiObjectName(),config.getBackendParameters());
|
||||
XmlSaxTableDef[] args = new XmlSaxTableDef[tableSchemas.size()];
|
||||
if (useUrlSource) {
|
||||
final URL url = config.checkBackendUrl();
|
||||
return new XmlSaxDataContext(new Ref<InputSource>() { // TODO: missing constructor in XmlSaxDataContext
|
||||
@Override
|
||||
public InputSource get() {
|
||||
InputStream in = null;
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class SwingLoadTest {
|
|||
CsvDataContext dataContext = new CsvDataContext(tmpFile);
|
||||
final Schema schema = dataContext.getDefaultSchema();
|
||||
dataContext.executeUpdate(new UpdateScript() {
|
||||
@Override
|
||||
public void run(UpdateCallback cb) {
|
||||
MutableRef<Table> tableRef = new MutableRef<Table>();
|
||||
table = cb.createTable(schema, "table").withColumn("column").execute();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package net.forwardfire.vasc.backend.metamodel.crud;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.eobjects.metamodel.DataContext;
|
||||
import org.eobjects.metamodel.UpdateCallback;
|
||||
import org.eobjects.metamodel.UpdateScript;
|
||||
|
|
@ -11,6 +12,7 @@ import org.eobjects.metamodel.data.Row;
|
|||
import org.eobjects.metamodel.schema.Schema;
|
||||
import org.eobjects.metamodel.schema.Table;
|
||||
import org.eobjects.metamodel.util.MutableRef;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class CrudContextTest extends TestCase {
|
||||
|
|
@ -24,6 +26,7 @@ public class CrudContextTest extends TestCase {
|
|||
final Schema schema = dataContext.getDefaultSchema();
|
||||
final MutableRef<Table> tableRef = new MutableRef<Table>();
|
||||
dataContext.executeUpdate(new UpdateScript() {
|
||||
@Override
|
||||
public void run(UpdateCallback cb) {
|
||||
Table table = null;
|
||||
int idx = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue