Exemplo n.º 1
0
  protected void doUpgrade() throws Exception {

    // WikiNode

    UpgradeColumn upgradeGroupIdColumn =
        new SwapUpgradeColumnImpl("groupId", AvailableMappersUtil.getGroupIdMapper());

    UpgradeColumn upgradeUserIdColumn =
        new SwapUpgradeColumnImpl(
            "userId", new Integer(Types.VARCHAR), AvailableMappersUtil.getUserIdMapper());

    PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl("nodeId", true);

    UpgradeTable upgradeTable =
        UpgradeTableFactoryUtil.getUpgradeTable(
            WikiNodeTable.TABLE_NAME,
            WikiNodeTable.TABLE_COLUMNS,
            upgradePKColumn,
            upgradeGroupIdColumn,
            upgradeUserIdColumn);

    upgradeTable.setCreateSQL(WikiNodeTable.TABLE_SQL_CREATE);

    upgradeTable.updateTable();

    ValueMapper nodeIdMapper = upgradePKColumn.getValueMapper();

    AvailableMappersUtil.setWikiNodeIdMapper(nodeIdMapper);

    UpgradeColumn upgradeNodeIdColumn = new SwapUpgradeColumnImpl("nodeId", nodeIdMapper);

    // WikiPage

    UpgradeColumn upgradeTitleColumn = new TempUpgradeColumnImpl("title");

    WikiPageIdUpgradeColumnImpl upgradePageIdColumn =
        new WikiPageIdUpgradeColumnImpl(upgradeNodeIdColumn, upgradeTitleColumn);

    UpgradeColumn upgradePageResourcePrimKeyColumn =
        new WikiPageResourcePrimKeyUpgradeColumnImpl(upgradePageIdColumn);

    upgradeTable =
        UpgradeTableFactoryUtil.getUpgradeTable(
            WikiPageTable.TABLE_NAME,
            WikiPageTable.TABLE_COLUMNS,
            upgradeNodeIdColumn,
            upgradeTitleColumn,
            upgradePageIdColumn,
            upgradePageResourcePrimKeyColumn,
            upgradeUserIdColumn);

    upgradeTable.setCreateSQL(WikiPageTable.TABLE_SQL_CREATE);

    upgradeTable.updateTable();

    ValueMapper pageIdMapper = upgradePageIdColumn.getValueMapper();

    AvailableMappersUtil.setWikiPageIdMapper(pageIdMapper);
  }