use of org.jboss.tools.hibernate.runtime.spi.IProperty 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.IProperty 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.IProperty in project jbosstools-hibernate by jbosstools.
the class HbmExporterTest method testList.
public void testList() {
// $NON-NLS-1$
IConfiguration config = getConfigurationFor("pack.A");
// $NON-NLS-1$ //$NON-NLS-2$
checkClassesMaped(config, "pack.A", "pack.B");
// $NON-NLS-1$
IPersistentClass a = config.getClassMapping("pack.A");
// $NON-NLS-1$
IPersistentClass b = config.getClassMapping("pack.B");
// $NON-NLS-1$
IProperty listProp = a.getProperty("list");
assertNotNull(listProp.getValue());
IValue value = listProp.getValue();
assertTrue("Expected to get List-type mapping", value.isList());
assertTrue(value.getCollectionElement().isOneToMany());
assertTrue(value.getCollectionTable().equals(b.getTable()));
assertNotNull(value.getIndex());
assertNotNull(value.getKey());
}
use of org.jboss.tools.hibernate.runtime.spi.IProperty in project jbosstools-hibernate by jbosstools.
the class HbmExporterTest method testMap.
public void testMap() {
// $NON-NLS-1$
IConfiguration config = getConfigurationFor("pack.A");
// $NON-NLS-1$ //$NON-NLS-2$
checkClassesMaped(config, "pack.A", "pack.B");
// $NON-NLS-1$
IPersistentClass a = config.getClassMapping("pack.A");
// $NON-NLS-1$
IPersistentClass b = config.getClassMapping("pack.B");
// $NON-NLS-1$
IProperty mapValue = a.getProperty("mapValue");
assertNotNull(mapValue.getValue());
IValue value = mapValue.getValue();
assertTrue("Expected to get Map-type mapping", value.isMap());
assertTrue(value.getCollectionElement().isOneToMany());
assertTrue(value.getCollectionTable().equals(b.getTable()));
assertNotNull(value.getKey());
// $NON-NLS-1$
assertEquals("string", value.getKey().getType().getName());
}
use of org.jboss.tools.hibernate.runtime.spi.IProperty in project jbosstools-hibernate by jbosstools.
the class HbmExporterTest method testId.
public void testId() {
// $NON-NLS-1$
IConfiguration config = getConfigurationFor("pack.A");
// $NON-NLS-1$ //$NON-NLS-2$
checkClassesMaped(config, "pack.A", "pack.B");
// $NON-NLS-1$
IPersistentClass a = config.getClassMapping("pack.A");
// $NON-NLS-1$
IPersistentClass b = config.getClassMapping("pack.B");
IProperty aId = a.getIdentifierProperty();
IProperty bId = b.getIdentifierProperty();
assertNotNull(aId);
assertNotNull(bId);
// $NON-NLS-1$
assertEquals("id", aId.getName());
// $NON-NLS-1$
assertEquals("id", bId.getName());
}
Aggregations