upgrade.addStep(create);
}
else if (sElement.equals("AlterTable"))
{
final AlterTableStep alter = new AlterTableStep();
alter.setType(parseTableType(XMLUtil.getStringAttr(stepElement, "type"), alter.getType()));
alter.setName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
alter.setAlias(XMLUtil.getStringAttr(stepElement, "alias"));
alter.setPrimaryKeyName(XMLUtil.getStringAttr(stepElement, "primaryKey"));
XMLMetadataLoader.parsePatterns(
XMLUtil.getStringAttr(stepElement, "hints"),
new XMLMetadataLoader.PatternHandler()
{
public void handlePattern(String sName, boolean bEnabled)
{
alter.setHint(sName, bEnabled);
}
});
upgrade.addStep(alter);
}
else if (sElement.equals("RenameTable"))
{
RenameTableStep ren = new RenameTableStep();
ren.setOldName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
ren.setNewName(XMLMetadataHelper.getNameAttr(stepElement, "to", XMLMetadataHelper.NAME_DOT));
upgrade.addStep(ren);
}
else if (sElement.equals("DropTable"))
{
DropTableStep drop = new DropTableStep();
drop.setName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
upgrade.addStep(drop);
}
else if (sElement.equals("ApplyTableAspect"))
{
final ApplyTableAspectStep apply = new ApplyTableAspectStep();
apply.setAspectName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
apply.setOverride(XMLUtil.getBooleanAttr(stepElement, "override", apply.isOverride()));
XMLMetadataLoader.parsePatterns(XMLUtil.getStringAttr(stepElement, "pointcuts"),
new XMLMetadataLoader.PatternHandler()
{
public void handlePattern(String sPattern, boolean bInclusive)
{
apply.addPointcutPattern(sPattern, bInclusive);
}
});
loadSQLScripts(stepElement, apply.getScriptHolder());
upgrade.addStep(apply);
}
else if (sElement.equals("RemoveTableAspect"))
{
final RemoveTableAspectStep remove = new RemoveTableAspectStep();
remove.setAspectName(XMLMetadataHelper.getNameAttr(stepElement, "name", XMLMetadataHelper.NAME_DOT));
remove.setOverride(XMLUtil.getBooleanAttr(stepElement, "override", remove.isOverride()));
XMLMetadataLoader.parsePatterns(XMLUtil.getStringAttr(stepElement, "pointcuts"),
new XMLMetadataLoader.PatternHandler()
{
public void handlePattern(String sPattern, boolean bInclusive)
{
remove.addPointcutPattern(sPattern, bInclusive);
}
});
upgrade.addStep(remove);
}
else if (sElement.equals("CreateColumn"))
{
CreateColumnStep create = new CreateColumnStep();
create.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));
ColumnOutline outline = new ColumnOutline();
loadColumnOutline(stepElement, outline, true);
create.setOutline(outline);
loadSQLScripts(stepElement, create.getScriptHolder());
upgrade.addStep(create);
}
else if (sElement.equals("AlterColumn"))
{
AlterColumnStep alter = new AlterColumnStep();
alter.setTableName(XMLMetadataHelper.getNameAttr(stepElement, "table", XMLMetadataHelper.NAME_DOT));
ColumnOutline outline = new ColumnOutline();
loadColumnOutline(stepElement, outline, false);
alter.setOutline(outline);
upgrade.addStep(alter);
}
else if (sElement.equals("RenameColumn"))
{