use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class OrmShape method initModel.
/**
* creates children of the shape,
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
protected void initModel() {
Object ormElement = getOrmElement();
if (ormElement instanceof IPersistentClass && ((IPersistentClass) ormElement).isInstanceOfRootClass()) {
IPersistentClass rootClass = (IPersistentClass) ormElement;
IProperty identifierProperty = rootClass.getIdentifierProperty();
if (identifierProperty != null) {
addChild(new Shape(identifierProperty, getConsoleConfigName()));
}
IValue identifier = rootClass.getIdentifier();
if (identifier != null && identifier.isComponent()) {
IValue component = identifier;
if (component.isEmbedded()) {
Iterator<IProperty> iterator = identifier.getPropertyIterator();
while (iterator.hasNext()) {
IProperty property = iterator.next();
addChild(new Shape(property, getConsoleConfigName()));
}
}
}
Iterator<IProperty> iterator = rootClass.getPropertyIterator();
while (iterator.hasNext()) {
IProperty field = iterator.next();
if (!field.isBackRef()) {
if (!field.isComposite()) {
final IValue val = field.getValue();
Shape bodyOrmShape = null;
if (val.isSimpleValue() && val.isTypeSpecified()) {
bodyOrmShape = new Shape(field, getConsoleConfigName());
} else {
if (val.isCollection()) {
bodyOrmShape = new ComponentShape(field, getConsoleConfigName());
} else {
IType type = getTypeUsingExecContext(val);
if (type != null && type.isEntityType()) {
bodyOrmShape = new ExpandableShape(field, getConsoleConfigName());
} else {
bodyOrmShape = new Shape(field, getConsoleConfigName());
}
}
}
addChild(bodyOrmShape);
} else {
Shape bodyOrmShape = new ExpandableShape(field, getConsoleConfigName());
addChild(bodyOrmShape);
}
}
}
} else if (ormElement instanceof IPersistentClass && ((IPersistentClass) ormElement).isInstanceOfSubclass()) {
IPersistentClass rootClass = ((IPersistentClass) ormElement).getRootClass();
IProperty identifierProperty = rootClass.getIdentifierProperty();
if (identifierProperty != null) {
addChild(new Shape(identifierProperty, getConsoleConfigName()));
}
IValue identifier = rootClass.getIdentifier();
if (identifier.isComponent()) {
Iterator<IProperty> iterator = identifier.getPropertyIterator();
while (iterator.hasNext()) {
IProperty property = iterator.next();
addChild(new Shape(property, getConsoleConfigName()));
}
}
Iterator<IProperty> iterator = rootClass.getPropertyIterator();
while (iterator.hasNext()) {
IProperty field = iterator.next();
if (!field.isBackRef()) {
if (!field.isComposite()) {
IValue fieldValue = field.getValue();
boolean typeIsAccessible = true;
if (fieldValue.isSimpleValue() && fieldValue.isTypeSpecified()) {
try {
field.getValue().getType();
} catch (Exception e) {
typeIsAccessible = false;
}
}
Shape bodyOrmShape = null;
if (typeIsAccessible && field.getValue().isSimpleValue()) {
bodyOrmShape = new Shape(field, getConsoleConfigName());
} else if (typeIsAccessible && field.getValue().getType().isEntityType()) {
bodyOrmShape = new ExpandableShape(field, getConsoleConfigName());
} else if (typeIsAccessible && field.getValue().getType().isCollectionType()) {
bodyOrmShape = new ComponentShape(field, getConsoleConfigName());
} else {
bodyOrmShape = new Shape(field, getConsoleConfigName());
}
addChild(bodyOrmShape);
} else {
Shape bodyOrmShape = new ExpandableShape(field, getConsoleConfigName());
addChild(bodyOrmShape);
}
}
}
Iterator<IProperty> iter = ((IPersistentClass) ormElement).getPropertyIterator();
while (iter.hasNext()) {
IProperty property = iter.next();
if (!property.isBackRef()) {
if (!property.isComposite()) {
boolean typeIsAccessible = true;
IValue propertyValue = property.getValue();
if (propertyValue.isSimpleValue() && propertyValue.isTypeSpecified()) {
try {
property.getValue().getType();
} catch (Exception e) {
typeIsAccessible = false;
}
}
Shape bodyOrmShape = null;
if (typeIsAccessible && property.getValue().getType().isEntityType()) {
bodyOrmShape = new ExpandableShape(property, getConsoleConfigName());
} else if (typeIsAccessible && property.getValue().getType().isCollectionType()) {
bodyOrmShape = new ComponentShape(property, getConsoleConfigName());
} else {
bodyOrmShape = new Shape(property, getConsoleConfigName());
}
addChild(bodyOrmShape);
} else {
Shape bodyOrmShape = new ExpandableShape(property, getConsoleConfigName());
addChild(bodyOrmShape);
}
}
}
} else if (ormElement instanceof ITable) {
Iterator iterator = ((ITable) getOrmElement()).getColumnIterator();
while (iterator.hasNext()) {
IColumn column = (IColumn) iterator.next();
Shape bodyOrmShape = new Shape(column, getConsoleConfigName());
addChild(bodyOrmShape);
}
}
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class ShapeEditPart method getSelectionColor.
protected Color getSelectionColor() {
Color result = ResourceManager.getInstance().getColor(new RGB(255, 0, 0));
final Object el = getElement();
if (el instanceof IPersistentClass || el instanceof IProperty) {
result = ResourceManager.getInstance().getColor(new RGB(112, 161, 99));
} else if (el instanceof IValue) {
IValue value = (IValue) el;
if (value.isSimpleValue() || value.isOneToMany()) {
result = ResourceManager.getInstance().getColor(new RGB(112, 161, 99));
}
} else if (el instanceof ITable || el instanceof IColumn) {
result = ResourceManager.getInstance().getColor(new RGB(66, 173, 247));
}
return result;
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class ForeignKeyFacadeTest method testGetReferencedColumns.
@Test
public void testGetReferencedColumns() {
List<IColumn> list = foreignKeyFacade.getReferencedColumns();
Assert.assertTrue(list.isEmpty());
Assert.assertEquals("getReferencedColumns", methodName);
Assert.assertArrayEquals(new Object[] {}, arguments);
// recreate facade to reinitialize the instance variables
foreignKeyFacade = new AbstractForeignKeyFacade(FACADE_FACTORY, foreignKey) {
};
Column column = new Column();
ArrayList<Column> columns = new ArrayList<Column>();
columns.add(column);
foreignKey.addReferencedColumns(columns.iterator());
reset();
list = foreignKeyFacade.getReferencedColumns();
Assert.assertFalse(list.isEmpty());
Assert.assertEquals("getReferencedColumns", methodName);
Assert.assertArrayEquals(new Object[] {}, arguments);
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class ForeignKeyFacadeTest method testContainsColumn.
@Test
public void testContainsColumn() {
Column column = new Column();
IColumn columnFacade = FACADE_FACTORY.createColumn(column);
Assert.assertFalse(foreignKeyFacade.containsColumn(columnFacade));
Assert.assertEquals("containsColumn", methodName);
Assert.assertArrayEquals(new Object[] { column }, arguments);
foreignKey.addColumn(column);
reset();
Assert.assertTrue(foreignKeyFacade.containsColumn(columnFacade));
Assert.assertEquals("containsColumn", methodName);
Assert.assertArrayEquals(new Object[] { column }, arguments);
}
use of org.jboss.tools.hibernate.runtime.spi.IColumn in project jbosstools-hibernate by jbosstools.
the class TableFacadeTest method testGetColumnIterator.
@Test
public void testGetColumnIterator() {
Table table = new Table();
ITable tableFacade = FACADE_FACTORY.createTable(table);
Iterator<IColumn> columnIterator = tableFacade.getColumnIterator();
Assert.assertFalse(columnIterator.hasNext());
Column column = new Column("foo");
table.addColumn(column);
tableFacade = FACADE_FACTORY.createTable(table);
columnIterator = tableFacade.getColumnIterator();
IColumn columnFacade = columnIterator.next();
Assert.assertSame(column, ((IFacade) columnFacade).getTarget());
}
Aggregations