本文整理了Java中org.teiid.language.Array.getExpressions()
方法的一些代码示例,展示了Array.getExpressions()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Array.getExpressions()
方法的具体详情如下:
包路径:org.teiid.language.Array
类名称:Array
方法名:getExpressions
暂无
代码示例来源:origin: teiid/teiid
@Override
public void visit(Array array) {
buffer.append(Tokens.LPAREN);
append(array.getExpressions());
if (array.getExpressions().size() == 1) {
buffer.append(Tokens.COMMA);
}
buffer.append(Tokens.RPAREN);
}
代码示例来源:origin: teiid/teiid
@Override
public void visit(Array array) {
visitNodes(array.getExpressions());
}
代码示例来源:origin: org.teiid.connectors/translator-simpledb
@Override
public void visit(Array array) {
List<Expression> exprs = array.getExpressions();
append(exprs.get(0));
for (int i = 1; i < exprs.size(); i++) {
buffer.append(Tokens.SPACE).append(AndOr.Operator.OR).append(Tokens.SPACE);
buffer.append(SimpleDBMetadataProcessor.getQuotedName(this.previousColumn));
buffer.append(Tokens.SPACE).append(Tokens.EQ).append(Tokens.SPACE);
append(exprs.get(i));
}
}
代码示例来源:origin: org.teiid.connectors/translator-mongodb
@Override
public void visit(Array array) {
append(array.getExpressions());
BasicDBList values = new BasicDBList();
for (int i = 0; i < array.getExpressions().size(); i++) {
values.add(0, this.onGoingExpression.pop());
}
this.onGoingExpression.push(values);
}
代码示例来源:origin: org.teiid.connectors/translator-simpledb
static String[] getValuesArray(Array array) throws TranslatorException {
String[] result = new String[array.getExpressions().size()];
for (int j = 0; j < array.getExpressions().size(); j++) {
Expression expr = array.getExpressions().get(j);
if (expr instanceof Literal){
Literal lit = (Literal) expr;
result[j] = (String)SimpleDBDataTypeManager.convertToSimpleDBType(lit.getValue(), lit.getType());
}
else {
new TranslatorException(SimpleDBPlugin.Event.TEIID24001, SimpleDBPlugin.Util.gs(SimpleDBPlugin.Event.TEIID24001));
}
}
return result;
}
}
代码示例来源:origin: org.teiid.connectors/translator-swagger
private void addArgumentValue(String argName, Array value, String collectionFormat,
StringBuilder queryStr) {
List<Expression> exprs = value.getExpressions();
代码示例来源:origin: org.teiid.connectors/translator-jdbc
@Override
public void bindValue(PreparedStatement stmt, Object param,
Class<?> paramType, int i) throws SQLException {
if (param == null && (paramType == TypeFacility.RUNTIME_TYPES.BLOB
|| paramType == TypeFacility.RUNTIME_TYPES.GEOMETRY
|| paramType == TypeFacility.RUNTIME_TYPES.GEOGRAPHY)) {
//the blob sql type causes a failure with nulls
paramType = TypeFacility.RUNTIME_TYPES.VARBINARY;
} else if (param instanceof Array) {
//pg allows for the direct binding of certain arrays
Array array = (Array)param;
Connection c = stmt.getConnection();
int code = ConvertModifier.getCode(array.getBaseType());
String nativeType = convertModifier.getSimpleTypeMapping(code);
int index = nativeType.indexOf('(');
if (index > 0) {
nativeType = nativeType.substring(0, index);
}
Object[] values = new Object[array.getExpressions().size()];
for (int j = 0; j < values.length; j++) {
Expression ex = array.getExpressions().get(j);
values[j] = ((Literal)ex).getValue();
}
java.sql.Array value = c.createArrayOf(nativeType, values);
stmt.setArray(i, value);
return;
}
super.bindValue(stmt, param, paramType, i);
}
代码示例来源:origin: org.teiid.connectors/translator-swagger
json.writeArrayFieldStart(key);
org.teiid.language.Array array = (org.teiid.language.Array)value;
for (Expression expr:array.getExpressions()) {
writeProperty(json, ((Literal)expr).getValue());
代码示例来源:origin: org.teiid.connectors/translator-odata4
private Object resolveExpressionValue(Expression expr) throws TranslatorException {
Object value = null;
if (expr instanceof Literal) {
value = ((Literal)expr).getValue();
}
else if (expr instanceof org.teiid.language.Array) {
org.teiid.language.Array contents = (org.teiid.language.Array)expr;
List<Expression> arrayExprs = contents.getExpressions();
List<Object> values = new ArrayList<Object>();
for (Expression exp:arrayExprs) {
if (exp instanceof Literal) {
values.add(((Literal)exp).getValue());
}
else {
this.exceptions.add(new TranslatorException(ODataPlugin.Util.gs(ODataPlugin.Event.TEIID17029)));
}
}
value = values;
}
else {
this.exceptions.add(new TranslatorException(ODataPlugin.Util.gs(ODataPlugin.Event.TEIID17029)));
}
return value;
}
代码示例来源:origin: org.teiid.connectors/translator-jdbc
} else if (comp.getRightExpression() instanceof Array) {
Array array = (Array)comp.getRightExpression();
if (array.getExpressions().get(0) instanceof Parameter) {
iter.remove();
p = (Parameter)array.getExpressions().get(0);
if (ex instanceof Array) {
Array array = (Array)ex;
params.addAll(((Array)comp.getRightExpression()).getExpressions());
for (Expression expr : array.getExpressions()) {
cols.add(createTempColumn(cols.size()+1, expr));
if (ex instanceof Array) {
Array array = (Array)ex;
for (Expression expr : array.getExpressions()) {
conditions.add(new Comparison(expr, new ColumnReference(table, COL_PREFIX+i++, null, expr.getType()), Comparison.Operator.EQ));
代码示例来源:origin: org.teiid.connectors/translator-mongodb
private Object resolveExpressionValue(String colName, Expression expr) throws TranslatorException {
Object value = null;
if (expr instanceof Literal) {
value = this.executionFactory.convertToMongoType(((Literal) expr).getValue(), this.mongoDB, colName);
}
else if (expr instanceof org.teiid.language.Array) {
org.teiid.language.Array contents = (org.teiid.language.Array)expr;
List<Expression> arrayExprs = contents.getExpressions();
value = new BasicDBList();
for (Expression exp:arrayExprs) {
if (exp instanceof Literal) {
((BasicDBList)value).add(this.executionFactory.convertToMongoType(((Literal) exp).getValue(), this.mongoDB, colName));
}
else {
this.exceptions.add(new TranslatorException(MongoDBPlugin.Util.gs(MongoDBPlugin.Event.TEIID18001)));
}
}
}
else {
this.exceptions.add(new TranslatorException(MongoDBPlugin.Util.gs(MongoDBPlugin.Event.TEIID18001)));
}
return value;
}
代码示例来源:origin: org.teiid.connectors/translator-jdbc
@Override
public void visit(Array array) {
boolean allLiterals = true;
Class<?> baseType = array.getBaseType();
//the pg driver expects only values that are convertible to string
//we could introduce some conversions, but for now we'll just fail
//some cases- there's also potential issue with date time as this logic
//won't consider the database timezone setting
if (!baseType.isArray() &&
postgreSQLExecutionFactory.convertModifier.getSimpleTypeMapping(ConvertModifier.getCode(baseType)) != null) {
for (Expression ex : array.getExpressions()) {
if (!(ex instanceof Literal)) {
allLiterals = false;
break;
}
}
if (allLiterals) {
//TODO: this could be pushed to the language bridge factory
//to just push a literal array
addBinding(new Literal(array, array.getType()));
return;
}
}
//mixed or lob case
//TODO: if this is used in the context specifically of an array, rather than
//a row value, then this will fail
super.visit(array);
}
代码示例来源:origin: org.teiid.connectors/translator-ldap
static Attribute createBasicAttribute(String id,
Expression expr, Column col) {
Attribute attr = new BasicAttribute(id);
if (expr instanceof org.teiid.language.Array) {
List<Expression> exprs = ((org.teiid.language.Array)expr).getExpressions();
for (Expression val : exprs) {
Literal l = (Literal)val;
if (l.getValue() != null) {
attr.add(IQueryToLdapSearchParser.getLiteralString(l));
}
}
} else {
Literal l = (Literal)expr;
Object insertValue = null;
if (l.getValue() != null) {
if (LDAPQueryExecution.MULTIVALUED_CONCAT.equalsIgnoreCase(col.getDefaultValue())) {
List<String> vals = StringUtil.split(l.getValue().toString(), "?"); //$NON-NLS-1$
for (String val : vals) {
attr.add(val);
}
return attr;
}
insertValue = IQueryToLdapSearchParser.getLiteralString(l);
}
attr.add(insertValue);
}
return attr;
}
代码示例来源:origin: org.teiid.connectors/translator-odata
private OProperty<?> readProperty(Column column, Object value) {
if (value instanceof Array) {
EdmType componentType = ODataTypeManager.odataType(column.getRuntimeType());
if (componentType instanceof EdmCollectionType) {
componentType = ((EdmCollectionType)componentType).getItemType();
}
OCollection.Builder<OObject> b = OCollections.newBuilder(componentType);
List<Expression> values = ((Array)value).getExpressions();
for (int i = 0; i < values.size(); i++) {
Literal literal = (Literal)values.get(i);
b.add(OSimpleObjects.create((EdmSimpleType<?>)componentType, literal.getValue()));
}
return OProperties.collection(column.getName(),
new EdmCollectionType(CollectionKind.Collection,
componentType), b.build());
} else {
Literal literal = (Literal)value;
return OProperties.simple(column.getName(), literal.getValue());
}
}
代码示例来源:origin: teiid/teiid
if (supportsArrayType) {
Comparison comp = (Comparison) s.getWhere();
Parameter p = (Parameter)((Array)comp.getRightExpression()).getExpressions().get(0);
assertEquals(0, p.getValueIndex());
assertNotNull(s.getDependentValues().get(p.getDependentValueId()));
内容来源于网络,如有侵权,请联系作者删除!