use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class TableFilterView method toggle.
protected void toggle(boolean exclude) {
ConsoleConfiguration cc = getConsoleConfiguration();
if (cc == null)
return;
ISelection selection = viewer.getSelection();
if (!selection.isEmpty()) {
StructuredSelection ss = (StructuredSelection) selection;
Iterator<?> iterator = ss.iterator();
while (iterator.hasNext()) {
Object sel = iterator.next();
ITableFilter filter = null;
if (sel instanceof ITable) {
ITable table = (ITable) sel;
filter = revEngDef.createTableFilter(cc);
if (StringHelper.isNotEmpty(table.getName())) {
filter.setMatchName(table.getName());
}
if (StringHelper.isNotEmpty(table.getCatalog())) {
filter.setMatchCatalog(table.getCatalog());
}
if (StringHelper.isNotEmpty(table.getSchema())) {
filter.setMatchSchema(table.getSchema());
}
filter.setExclude(Boolean.valueOf(exclude));
} else if (sel instanceof TableContainer) {
// assume its a
// schema!
TableContainer tc = (TableContainer) sel;
filter = revEngDef.createTableFilter(cc);
String schema = tc.getName();
if (schema == null || "".equals(schema)) {
// $NON-NLS-1$
// $NON-NLS-1$
filter.setMatchCatalog(".*");
// $NON-NLS-1$
filter.setMatchSchema(".*");
} else {
// fake catalog handling
String catalog = StringHelper.qualifier(schema);
schema = StringHelper.unqualify(schema);
// $NON-NLS-1$ //$NON-NLS-2$
filter.setMatchCatalog("".equals(catalog) ? ".*" : catalog);
// $NON-NLS-1$ //$NON-NLS-2$
filter.setMatchSchema("".equals(schema) ? ".*" : schema);
}
// $NON-NLS-1$
filter.setMatchName(".*");
filter.setExclude(Boolean.valueOf(exclude));
} else if (sel instanceof IColumn) {
// we ignore column since at the moment we dont know which table is there.
return;
} else {
filter = revEngDef.createTableFilter(cc);
filter.setExclude(Boolean.valueOf(exclude));
}
if (filter != null)
revEngDef.addTableFilter(filter);
}
} else {
ITableFilter filter = revEngDef.createTableFilter(cc);
// $NON-NLS-1$
filter.setMatchName(".*");
filter.setExclude(Boolean.valueOf(exclude));
revEngDef.addTableFilter(filter);
}
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class TableViewAdapter method getColumns.
public List<ColumnViewAdapter> getColumns() {
List<ColumnViewAdapter> result = new ArrayList<ColumnViewAdapter>();
Iterator<IColumn> columnIterator = table.getColumnIterator();
while (columnIterator.hasNext()) {
IColumn element = columnIterator.next();
result.add(new ColumnViewAdapter(this, element));
}
return result;
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class TypeVisitor method visit.
@Override
public boolean visit(SimpleType type) {
ITypeBinding tb = type.resolveBinding();
// Unresolved binding. Omit the property.
if (tb == null)
return false;
ITypeBinding[] interfaces = Utils.getAllInterfaces(tb);
IValue value = buildCollectionValue(interfaces);
if (value != null) {
// $NON-NLS-1$
IValue element = buildSimpleValue("string");
value.setElement(element);
// TODO what to set?
value.setCollectionTable(rootClass.getTable());
buildProperty(value);
if (value.isList()) {
value.setIndex(service.newSimpleValue());
} else if (value.isMap()) {
IValue map_key = service.newSimpleValue();
// FIXME: how to detect key-type here
// $NON-NLS-1$
map_key.setTypeName("string");
value.setIndex(map_key);
}
// $NON-NLS-1$
prop.setCascade("none");
} else if (tb.isEnum()) {
// $NON-NLS-1$
value = buildSimpleValue("org.hibernate.type.EnumType");
Properties typeParameters = new Properties();
// $NON-NLS-1$
typeParameters.put("enumClass", tb.getBinaryName());
// $NON-NLS-1$
typeParameters.put("type", java.sql.Types.VARCHAR);
value.setTypeParameters(typeParameters);
buildProperty(value);
} else if (ref != null) /*&& ref.fullyQualifiedName.indexOf('$') < 0*/
{
IValue sValue = null;
if (ref.refType == RefType.MANY2ONE) {
sValue = service.newManyToOne(rootClass.getTable());
} else if (ref.refType == RefType.ONE2ONE) {
sValue = service.newOneToOne(rootClass);
} else if (ref.refType == RefType.UNDEF) {
sValue = service.newOneToOne(rootClass);
} else {
// OneToMany and ManyToMany must be a collection
throw new IllegalStateException(ref.refType.toString());
}
IColumn column = service.newColumn(varName.toUpperCase());
sValue.addColumn(column);
sValue.setTypeName(tb.getBinaryName());
sValue.setFetchModeJoin();
sValue.setReferencedEntityName(ref.fullyQualifiedName);
buildProperty(sValue);
// $NON-NLS-1$
prop.setCascade("none");
} else {
value = buildSimpleValue(tb.getBinaryName());
buildProperty(value);
}
return super.visit(type);
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class ColumnNameHandler method attributeCompletionProposals.
public ICompletionProposal[] attributeCompletionProposals(IJavaProject javaProject, Node node, String attributeName, String start, int offset) {
List columns = new ArrayList();
HibernateNature nature = HibernateNature.getHibernateNature(javaProject);
if (nature != null) {
String nearestTableName = extractor.getNearestTableName(node);
if (nearestTableName != null) {
ITable table = nature.getTable(nearestTableName);
if (table != null) {
Iterator tableMappings = table.getColumnIterator();
while (tableMappings.hasNext()) {
IColumn column = (IColumn) tableMappings.next();
if (column.getName().toUpperCase().startsWith(start.toUpperCase())) {
columns.add(column);
}
}
}
}
}
List proposals = new ArrayList();
for (Iterator iter = columns.iterator(); iter.hasNext(); ) {
IColumn element = (IColumn) iter.next();
proposals.add(new CompletionProposal(element.getName(), offset, start.length(), element.getName().length(), null, null, null, null));
}
return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class TypeMappingView method doAdd.
private void doAdd() {
ISelection selection = viewer.getSelection();
if (!selection.isEmpty()) {
StructuredSelection ss = (StructuredSelection) selection;
Iterator<?> iterator = ss.iterator();
while (iterator.hasNext()) {
Object sel = iterator.next();
if (sel instanceof IColumn) {
IColumn col = (IColumn) sel;
Integer sqlTypeCode = col.getSqlTypeCode();
createTypeMapping(col, sqlTypeCode);
} else if (sel instanceof IPrimaryKey) {
IPrimaryKey pk = (IPrimaryKey) sel;
Iterator<IColumn> iter = pk.columnIterator();
while (iter.hasNext()) {
IColumn column = (IColumn) iter.next();
createTypeMapping(column, column.getSqlTypeCode());
}
} else {
createDefaultSqlTypeMapping();
}
}
} else {
createDefaultSqlTypeMapping();
}
}
Aggregations