} catch (NullPointerException e) {
// no-op
}
}
final SeQueryInfo qInfo = new SeQueryInfo();
final SeSqlConstruct sqlConstruct = new SeSqlConstruct();
sqlConstruct.setTables(tables);
if (where != null && where.length() > 0) {
sqlConstruct.setWhere(where);
}
final int queriedAttCount = unqualifiedPropertyNames.length;
if (queriedAttCount > 0) {
String[] sdeAttNames = new String[queriedAttCount];
FilterToSQLSDE sqlEncoder = getSqlEncoder();
for (int i = 0; i < queriedAttCount; i++) {
String attName = unqualifiedPropertyNames[i];
String coldef = sqlEncoder.getColumnDefinition(attName);
sdeAttNames[i] = coldef;
}
qInfo.setColumns(sdeAttNames);
}
qInfo.setConstruct(sqlConstruct);
if (byClause != null) {
qInfo.setByClause(byClause);
}
return qInfo;
} catch (SeException e) {
throw new ArcSdeException(e);
}