You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2010/05/10 08:11:50 UTC
svn commit: r942663 [2/5] - in /portals/jetspeed-2/portal/trunk:
components/jetspeed-capability/src/main/java/org/apache/jetspeed/tools/
components/jetspeed-capability/src/main/java/org/apache/jetspeed/tools/migration/
components/jetspeed-db-tools/ com...
Added: portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/tools/migration/JetspeedDBPageManagerMigration.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/tools/migration/JetspeedDBPageManagerMigration.java?rev=942663&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/tools/migration/JetspeedDBPageManagerMigration.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/tools/migration/JetspeedDBPageManagerMigration.java Mon May 10 06:11:49 2010
@@ -0,0 +1,940 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.migration;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Types;
+
+/**
+ * Jetspeed Migration for Database Page Manager component.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id$
+ */
+public class JetspeedDBPageManagerMigration implements JetspeedMigration
+{
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#getName()
+ */
+ public String getName()
+ {
+ return "DB Page Manager";
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#detectSourceVersion(java.sql.Connection, int)
+ */
+ public int detectSourceVersion(Connection sourceConnection, int sourceVersion) throws SQLException
+ {
+ // detect version of page manager schema
+ int sourcePageManagerVersion = JETSPEED_SCHEMA_VERSION_2_1_3;
+ try
+ {
+ Statement fragmentPropQueryStatement = sourceConnection.createStatement();
+ fragmentPropQueryStatement.executeQuery("SELECT PROP_ID FROM FRAGMENT_PROP WHERE PROP_ID = 0;");
+ sourcePageManagerVersion = JETSPEED_SCHEMA_VERSION_2_2_1;
+ }
+ catch (SQLException sqle)
+ {
+ }
+ try
+ {
+ Statement fragmentQueryStatement = sourceConnection.createStatement();
+ fragmentQueryStatement.executeQuery("SELECT FRAGMENT_STRING_ID FROM FRAGMENT WHERE FRAGMENT_ID = 0;");
+ if (sourceVersion > JETSPEED_SCHEMA_VERSION_2_1_4)
+ {
+ sourcePageManagerVersion = JETSPEED_SCHEMA_VERSION_2_2_1;
+ }
+ else
+ {
+ sourcePageManagerVersion = JETSPEED_SCHEMA_VERSION_2_1_4;
+ }
+ }
+ catch (SQLException sqle)
+ {
+ }
+ return ((sourcePageManagerVersion >= sourceVersion) ? sourcePageManagerVersion : sourceVersion);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#migrate(java.sql.Connection, int, java.sql.Connection)
+ */
+ public int migrate(Connection sourceConnection, int sourceVersion, Connection targetConnection) throws SQLException
+ {
+ int rowsMigrated = 0;
+
+ // FOLDER
+ PreparedStatement folderInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER (FOLDER_ID, PARENT_ID, PATH, NAME, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, DEFAULT_LAYOUT_DECORATOR, DEFAULT_PORTLET_DECORATOR, DEFAULT_PAGE_NAME, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement folderQueryStatement = sourceConnection.createStatement();
+ ResultSet folderResultSet = folderQueryStatement.executeQuery("SELECT FOLDER_ID, PARENT_ID, PATH, NAME, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, DEFAULT_LAYOUT_DECORATOR, DEFAULT_PORTLET_DECORATOR, DEFAULT_PAGE_NAME, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL FROM FOLDER;");
+ while (folderResultSet.next())
+ {
+ folderInsertStatement.setInt(1, folderResultSet.getInt(1));
+ Static.setNullableInt(folderResultSet, 2, folderInsertStatement);
+ folderInsertStatement.setString(3, folderResultSet.getString(3));
+ folderInsertStatement.setString(4, folderResultSet.getString(4));
+ folderInsertStatement.setString(5, folderResultSet.getString(5));
+ folderInsertStatement.setString(6, folderResultSet.getString(6));
+ folderInsertStatement.setShort(7, folderResultSet.getShort(7));
+ folderInsertStatement.setString(8, folderResultSet.getString(8));
+ String decorator = folderResultSet.getString(9);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ {
+ String migratedDecorator = LAYOUT_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ }
+ break;
+ }
+ folderInsertStatement.setString(9, decorator);
+ decorator = folderResultSet.getString(10);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ {
+ String migratedDecorator = PORTLET_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ }
+ break;
+ }
+ folderInsertStatement.setString(10, decorator);
+ folderInsertStatement.setString(11, folderResultSet.getString(11));
+ folderInsertStatement.setString(12, folderResultSet.getString(12));
+ folderInsertStatement.setString(13, folderResultSet.getString(13));
+ folderInsertStatement.setString(14, folderResultSet.getString(14));
+ folderInsertStatement.setString(15, folderResultSet.getString(15));
+ folderInsertStatement.setString(16, folderResultSet.getString(16));
+ folderInsertStatement.setString(17, folderResultSet.getString(17));
+ folderInsertStatement.setString(18, folderResultSet.getString(18));
+ folderInsertStatement.setString(19, folderResultSet.getString(19));
+ folderInsertStatement.setString(20, folderResultSet.getString(20));
+ folderInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderResultSet.close();
+ folderQueryStatement.close();
+ folderInsertStatement.close();
+
+ // FOLDER_METADATA
+ PreparedStatement folderMetadataInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_METADATA (METADATA_ID, FOLDER_ID, NAME, LOCALE, VALUE) VALUES (?, ?, ?, ?, ?);");
+ Statement folderMetadataQueryStatement = sourceConnection.createStatement();
+ ResultSet folderMetadataResultSet = folderMetadataQueryStatement.executeQuery("SELECT METADATA_ID, FOLDER_ID, NAME, LOCALE, VALUE FROM FOLDER_METADATA;");
+ while (folderMetadataResultSet.next())
+ {
+ folderMetadataInsertStatement.setInt(1, folderMetadataResultSet.getInt(1));
+ folderMetadataInsertStatement.setInt(2, folderMetadataResultSet.getInt(2));
+ folderMetadataInsertStatement.setString(3, folderMetadataResultSet.getString(3));
+ folderMetadataInsertStatement.setString(4, folderMetadataResultSet.getString(4));
+ folderMetadataInsertStatement.setString(5, folderMetadataResultSet.getString(5));
+ folderMetadataInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderMetadataResultSet.close();
+ folderMetadataQueryStatement.close();
+ folderMetadataInsertStatement.close();
+
+ // FOLDER_CONSTRAINT
+ PreparedStatement folderConstraintInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_CONSTRAINT (CONSTRAINT_ID, FOLDER_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement folderConstraintQueryStatement = sourceConnection.createStatement();
+ ResultSet folderConstraintResultSet = folderConstraintQueryStatement.executeQuery("SELECT CONSTRAINT_ID, FOLDER_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL FROM FOLDER_CONSTRAINT;");
+ while (folderConstraintResultSet.next())
+ {
+ folderConstraintInsertStatement.setInt(1, folderConstraintResultSet.getInt(1));
+ folderConstraintInsertStatement.setInt(2, folderConstraintResultSet.getInt(2));
+ folderConstraintInsertStatement.setInt(3, folderConstraintResultSet.getInt(3));
+ folderConstraintInsertStatement.setString(4, folderConstraintResultSet.getString(4));
+ folderConstraintInsertStatement.setString(5, folderConstraintResultSet.getString(5));
+ folderConstraintInsertStatement.setString(6, folderConstraintResultSet.getString(6));
+ folderConstraintInsertStatement.setString(7, folderConstraintResultSet.getString(7));
+ folderConstraintInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderConstraintResultSet.close();
+ folderConstraintQueryStatement.close();
+ folderConstraintInsertStatement.close();
+
+ // FOLDER_CONSTRAINTS_REF
+ PreparedStatement folderConstraintsRefInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_CONSTRAINTS_REF (CONSTRAINTS_REF_ID, FOLDER_ID, APPLY_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement folderConstraintsRefQueryStatement = sourceConnection.createStatement();
+ ResultSet folderConstraintsRefResultSet = folderConstraintsRefQueryStatement.executeQuery("SELECT CONSTRAINTS_REF_ID, FOLDER_ID, APPLY_ORDER, NAME FROM FOLDER_CONSTRAINTS_REF;");
+ while (folderConstraintsRefResultSet.next())
+ {
+ folderConstraintsRefInsertStatement.setInt(1, folderConstraintsRefResultSet.getInt(1));
+ folderConstraintsRefInsertStatement.setInt(2, folderConstraintsRefResultSet.getInt(2));
+ folderConstraintsRefInsertStatement.setInt(3, folderConstraintsRefResultSet.getInt(3));
+ folderConstraintsRefInsertStatement.setString(4, folderConstraintsRefResultSet.getString(4));
+ folderConstraintsRefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderConstraintsRefResultSet.close();
+ folderConstraintsRefQueryStatement.close();
+ folderConstraintsRefInsertStatement.close();
+
+ // FOLDER_ORDER
+ PreparedStatement folderOrderInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_ORDER (ORDER_ID, FOLDER_ID, SORT_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement folderOrderQueryStatement = sourceConnection.createStatement();
+ ResultSet folderOrderResultSet = folderOrderQueryStatement.executeQuery("SELECT ORDER_ID, FOLDER_ID, SORT_ORDER, NAME FROM FOLDER_ORDER;");
+ while (folderOrderResultSet.next())
+ {
+ folderOrderInsertStatement.setInt(1, folderOrderResultSet.getInt(1));
+ folderOrderInsertStatement.setInt(2, folderOrderResultSet.getInt(2));
+ folderOrderInsertStatement.setInt(3, folderOrderResultSet.getInt(3));
+ folderOrderInsertStatement.setString(4, folderOrderResultSet.getString(4));
+ folderOrderInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderOrderResultSet.close();
+ folderOrderQueryStatement.close();
+ folderOrderInsertStatement.close();
+
+ // FOLDER_MENU
+ PreparedStatement folderMenuInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_MENU (MENU_ID, CLASS_NAME, PARENT_ID, FOLDER_ID, ELEMENT_ORDER, NAME, TITLE, SHORT_TITLE, TEXT, OPTIONS, DEPTH, IS_PATHS, IS_REGEXP, PROFILE, OPTIONS_ORDER, SKIN, IS_NEST) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement folderMenuQueryStatement = sourceConnection.createStatement();
+ ResultSet folderMenuResultSet = folderMenuQueryStatement.executeQuery("SELECT MENU_ID, CLASS_NAME, PARENT_ID, FOLDER_ID, ELEMENT_ORDER, NAME, TITLE, SHORT_TITLE, TEXT, OPTIONS, DEPTH, IS_PATHS, IS_REGEXP, PROFILE, OPTIONS_ORDER, SKIN, IS_NEST FROM FOLDER_MENU;");
+ while (folderMenuResultSet.next())
+ {
+ folderMenuInsertStatement.setInt(1, folderMenuResultSet.getInt(1));
+ folderMenuInsertStatement.setString(2, folderMenuResultSet.getString(2));
+ Static.setNullableInt(folderMenuResultSet, 3, folderMenuInsertStatement);
+ Static.setNullableInt(folderMenuResultSet, 4, folderMenuInsertStatement);
+ Static.setNullableInt(folderMenuResultSet, 5, folderMenuInsertStatement);
+ folderMenuInsertStatement.setString(6, folderMenuResultSet.getString(6));
+ folderMenuInsertStatement.setString(7, folderMenuResultSet.getString(7));
+ folderMenuInsertStatement.setString(8, folderMenuResultSet.getString(8));
+ folderMenuInsertStatement.setString(9, folderMenuResultSet.getString(9));
+ folderMenuInsertStatement.setString(10, folderMenuResultSet.getString(10));
+ Static.setNullableInt(folderMenuResultSet, 11, folderMenuInsertStatement);
+ Static.setNullableShort(folderMenuResultSet, 12, folderMenuInsertStatement);
+ Static.setNullableShort(folderMenuResultSet, 13, folderMenuInsertStatement);
+ folderMenuInsertStatement.setString(14, folderMenuResultSet.getString(14));
+ folderMenuInsertStatement.setString(15, folderMenuResultSet.getString(15));
+ folderMenuInsertStatement.setString(16, folderMenuResultSet.getString(16));
+ Static.setNullableShort(folderMenuResultSet, 17, folderMenuInsertStatement);
+ folderMenuInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderMenuResultSet.close();
+ folderMenuQueryStatement.close();
+ folderMenuInsertStatement.close();
+
+ // FOLDER_MENU_METADATA
+ PreparedStatement folderMenuMetadataInsertStatement = targetConnection.prepareStatement("INSERT INTO FOLDER_MENU_METADATA (METADATA_ID, MENU_ID, NAME, LOCALE, VALUE) VALUES (?, ?, ?, ?, ?);");
+ Statement folderMenuMetadataQueryStatement = sourceConnection.createStatement();
+ ResultSet folderMenuMetadataResultSet = folderMenuMetadataQueryStatement.executeQuery("SELECT METADATA_ID, MENU_ID, NAME, LOCALE, VALUE FROM FOLDER_MENU_METADATA;");
+ while (folderMenuMetadataResultSet.next())
+ {
+ folderMenuMetadataInsertStatement.setInt(1, folderMenuMetadataResultSet.getInt(1));
+ folderMenuMetadataInsertStatement.setInt(2, folderMenuMetadataResultSet.getInt(2));
+ folderMenuMetadataInsertStatement.setString(3, folderMenuMetadataResultSet.getString(3));
+ folderMenuMetadataInsertStatement.setString(4, folderMenuMetadataResultSet.getString(4));
+ folderMenuMetadataInsertStatement.setString(5, folderMenuMetadataResultSet.getString(5));
+ folderMenuMetadataInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ folderMenuMetadataResultSet.close();
+ folderMenuMetadataQueryStatement.close();
+ folderMenuMetadataInsertStatement.close();
+
+ // PAGE
+ PreparedStatement pageInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE (PAGE_ID, CLASS_NAME, PARENT_ID, PATH, CONTENT_TYPE, IS_INHERITABLE, NAME, VERSION, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, DEFAULT_LAYOUT_DECORATOR, DEFAULT_PORTLET_DECORATOR, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement pageQueryStatement = sourceConnection.createStatement();
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ case JETSPEED_SCHEMA_VERSION_2_2_0:
+ {
+ ResultSet pageResultSet = pageQueryStatement.executeQuery("SELECT PAGE_ID, PARENT_ID, PATH, NAME, VERSION, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, DEFAULT_LAYOUT_DECORATOR, DEFAULT_PORTLET_DECORATOR, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL FROM PAGE;");
+ while (pageResultSet.next())
+ {
+ pageInsertStatement.setInt(1, pageResultSet.getInt(1));
+ pageInsertStatement.setString(2, "org.apache.jetspeed.om.page.impl.PageImpl");
+ pageInsertStatement.setInt(3, pageResultSet.getInt(2));
+ pageInsertStatement.setString(4, pageResultSet.getString(3));
+ pageInsertStatement.setNull(5, Types.VARCHAR);
+ pageInsertStatement.setNull(6, Types.SMALLINT);
+ pageInsertStatement.setString(7, pageResultSet.getString(4));
+ pageInsertStatement.setString(8, pageResultSet.getString(5));
+ pageInsertStatement.setString(9, pageResultSet.getString(6));
+ pageInsertStatement.setString(10, pageResultSet.getString(7));
+ Static.setNullableShort(pageResultSet, 8, pageInsertStatement, 11);
+ pageInsertStatement.setString(12, pageResultSet.getString(9));
+ String decorator = pageResultSet.getString(10);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ {
+ String migratedDecorator = LAYOUT_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ }
+ break;
+ }
+ pageInsertStatement.setString(13, decorator);
+ decorator = pageResultSet.getString(11);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ {
+ String migratedDecorator = PORTLET_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ }
+ break;
+ }
+ pageInsertStatement.setString(14, decorator);
+ pageInsertStatement.setString(15, pageResultSet.getString(12));
+ pageInsertStatement.setString(16, pageResultSet.getString(13));
+ pageInsertStatement.setString(17, pageResultSet.getString(14));
+ pageInsertStatement.setString(18, pageResultSet.getString(15));
+ pageInsertStatement.setString(19, pageResultSet.getString(16));
+ pageInsertStatement.setString(20, pageResultSet.getString(17));
+ pageInsertStatement.setString(21, pageResultSet.getString(18));
+ pageInsertStatement.setString(22, pageResultSet.getString(19));
+ pageInsertStatement.setString(23, pageResultSet.getString(20));
+ pageInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageResultSet.close();
+ }
+ break;
+ case JETSPEED_SCHEMA_VERSION_2_2_1:
+ {
+ ResultSet pageResultSet = pageQueryStatement.executeQuery("SELECT PAGE_ID, CLASS_NAME, PARENT_ID, PATH, CONTENT_TYPE, IS_INHERITABLE, NAME, VERSION, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, DEFAULT_LAYOUT_DECORATOR, DEFAULT_PORTLET_DECORATOR, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL FROM PAGE;");
+ while (pageResultSet.next())
+ {
+ pageInsertStatement.setInt(1, pageResultSet.getInt(1));
+ pageInsertStatement.setString(2, pageResultSet.getString(2));
+ pageInsertStatement.setInt(3, pageResultSet.getInt(3));
+ pageInsertStatement.setString(4, pageResultSet.getString(4));
+ pageInsertStatement.setString(5, pageResultSet.getString(5));
+ Static.setNullableShort(pageResultSet, 6, pageInsertStatement);
+ pageInsertStatement.setString(7, pageResultSet.getString(7));
+ pageInsertStatement.setString(8, pageResultSet.getString(8));
+ pageInsertStatement.setString(9, pageResultSet.getString(9));
+ pageInsertStatement.setString(10, pageResultSet.getString(10));
+ Static.setNullableShort(pageResultSet, 11, pageInsertStatement);
+ pageInsertStatement.setString(12, pageResultSet.getString(12));
+ pageInsertStatement.setString(13, pageResultSet.getString(13));
+ pageInsertStatement.setString(14, pageResultSet.getString(14));
+ pageInsertStatement.setString(15, pageResultSet.getString(15));
+ pageInsertStatement.setString(16, pageResultSet.getString(16));
+ pageInsertStatement.setString(17, pageResultSet.getString(17));
+ pageInsertStatement.setString(18, pageResultSet.getString(18));
+ pageInsertStatement.setString(19, pageResultSet.getString(19));
+ pageInsertStatement.setString(20, pageResultSet.getString(20));
+ pageInsertStatement.setString(21, pageResultSet.getString(21));
+ pageInsertStatement.setString(22, pageResultSet.getString(22));
+ pageInsertStatement.setString(23, pageResultSet.getString(23));
+ pageInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageResultSet.close();
+ }
+ break;
+ }
+ pageQueryStatement.close();
+ pageInsertStatement.close();
+
+ // PAGE_METADATA
+ PreparedStatement pageMetadataInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_METADATA (METADATA_ID, PAGE_ID, NAME, LOCALE, VALUE) VALUES (?, ?, ?, ?, ?);");
+ Statement pageMetadataQueryStatement = sourceConnection.createStatement();
+ ResultSet pageMetadataResultSet = pageMetadataQueryStatement.executeQuery("SELECT METADATA_ID, PAGE_ID, NAME, LOCALE, VALUE FROM PAGE_METADATA;");
+ while (pageMetadataResultSet.next())
+ {
+ pageMetadataInsertStatement.setInt(1, pageMetadataResultSet.getInt(1));
+ pageMetadataInsertStatement.setInt(2, pageMetadataResultSet.getInt(2));
+ pageMetadataInsertStatement.setString(3, pageMetadataResultSet.getString(3));
+ pageMetadataInsertStatement.setString(4, pageMetadataResultSet.getString(4));
+ pageMetadataInsertStatement.setString(5, pageMetadataResultSet.getString(5));
+ pageMetadataInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageMetadataResultSet.close();
+ pageMetadataQueryStatement.close();
+ pageMetadataInsertStatement.close();
+
+ // PAGE_CONSTRAINT
+ PreparedStatement pageConstraintInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_CONSTRAINT (CONSTRAINT_ID, PAGE_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement pageConstraintQueryStatement = sourceConnection.createStatement();
+ ResultSet pageConstraintResultSet = pageConstraintQueryStatement.executeQuery("SELECT CONSTRAINT_ID, PAGE_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL FROM PAGE_CONSTRAINT;");
+ while (pageConstraintResultSet.next())
+ {
+ pageConstraintInsertStatement.setInt(1, pageConstraintResultSet.getInt(1));
+ pageConstraintInsertStatement.setInt(2, pageConstraintResultSet.getInt(2));
+ pageConstraintInsertStatement.setInt(3, pageConstraintResultSet.getInt(3));
+ pageConstraintInsertStatement.setString(4, pageConstraintResultSet.getString(4));
+ pageConstraintInsertStatement.setString(5, pageConstraintResultSet.getString(5));
+ pageConstraintInsertStatement.setString(6, pageConstraintResultSet.getString(6));
+ pageConstraintInsertStatement.setString(7, pageConstraintResultSet.getString(7));
+ pageConstraintInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageConstraintResultSet.close();
+ pageConstraintQueryStatement.close();
+ pageConstraintInsertStatement.close();
+
+ // PAGE_CONSTRAINTS_REF
+ PreparedStatement pageConstraintsRefInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_CONSTRAINTS_REF (CONSTRAINTS_REF_ID, PAGE_ID, APPLY_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement pageConstraintsRefQueryStatement = sourceConnection.createStatement();
+ ResultSet pageConstraintsRefResultSet = pageConstraintsRefQueryStatement.executeQuery("SELECT CONSTRAINTS_REF_ID, PAGE_ID, APPLY_ORDER, NAME FROM PAGE_CONSTRAINTS_REF;");
+ while (pageConstraintsRefResultSet.next())
+ {
+ pageConstraintsRefInsertStatement.setInt(1, pageConstraintsRefResultSet.getInt(1));
+ pageConstraintsRefInsertStatement.setInt(2, pageConstraintsRefResultSet.getInt(2));
+ pageConstraintsRefInsertStatement.setInt(3, pageConstraintsRefResultSet.getInt(3));
+ pageConstraintsRefInsertStatement.setString(4, pageConstraintsRefResultSet.getString(4));
+ pageConstraintsRefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageConstraintsRefResultSet.close();
+ pageConstraintsRefQueryStatement.close();
+ pageConstraintsRefInsertStatement.close();
+
+ // PAGE_MENU
+ PreparedStatement pageMenuInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_MENU (MENU_ID, CLASS_NAME, PARENT_ID, PAGE_ID, ELEMENT_ORDER, NAME, TITLE, SHORT_TITLE, TEXT, OPTIONS, DEPTH, IS_PATHS, IS_REGEXP, PROFILE, OPTIONS_ORDER, SKIN, IS_NEST) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement pageMenuQueryStatement = sourceConnection.createStatement();
+ ResultSet pageMenuResultSet = pageMenuQueryStatement.executeQuery("SELECT MENU_ID, CLASS_NAME, PARENT_ID, PAGE_ID, ELEMENT_ORDER, NAME, TITLE, SHORT_TITLE, TEXT, OPTIONS, DEPTH, IS_PATHS, IS_REGEXP, PROFILE, OPTIONS_ORDER, SKIN, IS_NEST FROM PAGE_MENU;");
+ while (pageMenuResultSet.next())
+ {
+ pageMenuInsertStatement.setInt(1, pageMenuResultSet.getInt(1));
+ pageMenuInsertStatement.setString(2, pageMenuResultSet.getString(2));
+ Static.setNullableInt(pageMenuResultSet, 3, pageMenuInsertStatement);
+ Static.setNullableInt(pageMenuResultSet, 4, pageMenuInsertStatement);
+ Static.setNullableInt(pageMenuResultSet, 5, pageMenuInsertStatement);
+ pageMenuInsertStatement.setString(6, pageMenuResultSet.getString(6));
+ pageMenuInsertStatement.setString(7, pageMenuResultSet.getString(7));
+ pageMenuInsertStatement.setString(8, pageMenuResultSet.getString(8));
+ pageMenuInsertStatement.setString(9, pageMenuResultSet.getString(9));
+ pageMenuInsertStatement.setString(10, pageMenuResultSet.getString(10));
+ Static.setNullableInt(pageMenuResultSet, 11, pageMenuInsertStatement);
+ Static.setNullableShort(pageMenuResultSet, 12, pageMenuInsertStatement);
+ Static.setNullableShort(pageMenuResultSet, 13, pageMenuInsertStatement);
+ pageMenuInsertStatement.setString(14, pageMenuResultSet.getString(14));
+ pageMenuInsertStatement.setString(15, pageMenuResultSet.getString(15));
+ pageMenuInsertStatement.setString(16, pageMenuResultSet.getString(16));
+ Static.setNullableShort(pageMenuResultSet, 17, pageMenuInsertStatement);
+ pageMenuInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageMenuResultSet.close();
+ pageMenuQueryStatement.close();
+ pageMenuInsertStatement.close();
+
+ // PAGE_MENU_METADATA
+ PreparedStatement pageMenuMetadataInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_MENU_METADATA (METADATA_ID, MENU_ID, NAME, LOCALE, VALUE) VALUES (?, ?, ?, ?, ?);");
+ Statement pageMenuMetadataQueryStatement = sourceConnection.createStatement();
+ ResultSet pageMenuMetadataResultSet = pageMenuMetadataQueryStatement.executeQuery("SELECT METADATA_ID, MENU_ID, NAME, LOCALE, VALUE FROM PAGE_MENU_METADATA;");
+ while (pageMenuMetadataResultSet.next())
+ {
+ pageMenuMetadataInsertStatement.setInt(1, pageMenuMetadataResultSet.getInt(1));
+ pageMenuMetadataInsertStatement.setInt(2, pageMenuMetadataResultSet.getInt(2));
+ pageMenuMetadataInsertStatement.setString(3, pageMenuMetadataResultSet.getString(3));
+ pageMenuMetadataInsertStatement.setString(4, pageMenuMetadataResultSet.getString(4));
+ pageMenuMetadataInsertStatement.setString(5, pageMenuMetadataResultSet.getString(5));
+ pageMenuMetadataInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageMenuMetadataResultSet.close();
+ pageMenuMetadataQueryStatement.close();
+ pageMenuMetadataInsertStatement.close();
+
+ // FRAGMENT
+ PreparedStatement fragmentInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT (FRAGMENT_ID, CLASS_NAME, PARENT_ID, PAGE_ID, FRAGMENT_STRING_ID, FRAGMENT_STRING_REFID, NAME, TITLE, SHORT_TITLE, TYPE, SKIN, DECORATOR, STATE, PMODE, LAYOUT_ROW, LAYOUT_COLUMN, LAYOUT_SIZES, LAYOUT_X, LAYOUT_Y, LAYOUT_Z, LAYOUT_WIDTH, LAYOUT_HEIGHT, OWNER_PRINCIPAL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement fragmentQueryStatement = sourceConnection.createStatement();
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_2_0:
+ {
+ ResultSet fragmentResultSet = fragmentQueryStatement.executeQuery("SELECT FRAGMENT_ID, PARENT_ID, PAGE_ID, NAME, TITLE, SHORT_TITLE, TYPE, SKIN, DECORATOR, STATE, PMODE, LAYOUT_ROW, LAYOUT_COLUMN, LAYOUT_SIZES, LAYOUT_X, LAYOUT_Y, LAYOUT_Z, LAYOUT_WIDTH, LAYOUT_HEIGHT, OWNER_PRINCIPAL FROM FRAGMENT;");
+ while (fragmentResultSet.next())
+ {
+ fragmentInsertStatement.setInt(1, fragmentResultSet.getInt(1));
+ fragmentInsertStatement.setString(2, "org.apache.jetspeed.om.page.impl.FragmentImpl");
+ Static.setNullableInt(fragmentResultSet, 2, fragmentInsertStatement, 3);
+ Static.setNullableInt(fragmentResultSet, 3, fragmentInsertStatement, 4);
+ fragmentInsertStatement.setNull(5, Types.VARCHAR);
+ fragmentInsertStatement.setNull(6, Types.VARCHAR);
+ String portlet = fragmentResultSet.getString(4);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ {
+ String migratedPortlet = PORTLET_NAME_2_1_X_TO_2_2_X_MIGRATION_MAP.get(portlet);
+ portlet = ((migratedPortlet != null) ? migratedPortlet : portlet);
+ }
+ break;
+ }
+ fragmentInsertStatement.setString(7, portlet);
+ fragmentInsertStatement.setString(8, fragmentResultSet.getString(5));
+ fragmentInsertStatement.setString(9, fragmentResultSet.getString(6));
+ fragmentInsertStatement.setString(10, fragmentResultSet.getString(7));
+ fragmentInsertStatement.setString(11, fragmentResultSet.getString(8));
+ String decorator = fragmentResultSet.getString(9);
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ {
+ String migratedDecorator = PORTLET_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ }
+ break;
+ }
+ fragmentInsertStatement.setString(12, decorator);
+ fragmentInsertStatement.setString(13, fragmentResultSet.getString(10));
+ fragmentInsertStatement.setString(14, fragmentResultSet.getString(11));
+ Static.setNullableInt(fragmentResultSet, 12, fragmentInsertStatement, 15);
+ Static.setNullableInt(fragmentResultSet, 13, fragmentInsertStatement, 16);
+ fragmentInsertStatement.setString(17, fragmentResultSet.getString(14));
+ Static.setNullableFloat(fragmentResultSet, 15, fragmentInsertStatement, 18);
+ Static.setNullableFloat(fragmentResultSet, 16, fragmentInsertStatement, 19);
+ Static.setNullableFloat(fragmentResultSet, 17, fragmentInsertStatement, 20);
+ Static.setNullableFloat(fragmentResultSet, 18, fragmentInsertStatement, 21);
+ Static.setNullableFloat(fragmentResultSet, 19, fragmentInsertStatement, 22);
+ fragmentInsertStatement.setString(23, fragmentResultSet.getString(20));
+ fragmentInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentResultSet.close();
+ }
+ break;
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ {
+ ResultSet fragmentResultSet = fragmentQueryStatement.executeQuery("SELECT FRAGMENT_ID, PARENT_ID, PAGE_ID, FRAGMENT_STRING_ID, NAME, TITLE, SHORT_TITLE, TYPE, SKIN, DECORATOR, STATE, PMODE, LAYOUT_ROW, LAYOUT_COLUMN, LAYOUT_SIZES, LAYOUT_X, LAYOUT_Y, LAYOUT_Z, LAYOUT_WIDTH, LAYOUT_HEIGHT, OWNER_PRINCIPAL FROM FRAGMENT;");
+ while (fragmentResultSet.next())
+ {
+ fragmentInsertStatement.setInt(1, fragmentResultSet.getInt(1));
+ fragmentInsertStatement.setString(2, "org.apache.jetspeed.om.page.impl.FragmentImpl");
+ Static.setNullableInt(fragmentResultSet, 2, fragmentInsertStatement, 3);
+ Static.setNullableInt(fragmentResultSet, 3, fragmentInsertStatement, 4);
+ fragmentInsertStatement.setString(5, fragmentResultSet.getString(4));
+ fragmentInsertStatement.setNull(6, Types.VARCHAR);
+ String portlet = fragmentResultSet.getString(5);
+ String migratedPortlet = PORTLET_NAME_2_1_X_TO_2_2_X_MIGRATION_MAP.get(portlet);
+ portlet = ((migratedPortlet != null) ? migratedPortlet : portlet);
+ fragmentInsertStatement.setString(7, portlet);
+ fragmentInsertStatement.setString(8, fragmentResultSet.getString(6));
+ fragmentInsertStatement.setString(9, fragmentResultSet.getString(7));
+ fragmentInsertStatement.setString(10, fragmentResultSet.getString(8));
+ fragmentInsertStatement.setString(11, fragmentResultSet.getString(9));
+ String decorator = fragmentResultSet.getString(10);
+ String migratedDecorator = PORTLET_DECORATOR_2_1_X_TO_2_2_X_MIGRATION_MAP.get(decorator);
+ decorator = ((migratedDecorator != null) ? migratedDecorator : decorator);
+ fragmentInsertStatement.setString(12, decorator);
+ fragmentInsertStatement.setString(13, fragmentResultSet.getString(11));
+ fragmentInsertStatement.setString(14, fragmentResultSet.getString(12));
+ Static.setNullableInt(fragmentResultSet, 13, fragmentInsertStatement, 15);
+ Static.setNullableInt(fragmentResultSet, 14, fragmentInsertStatement, 16);
+ fragmentInsertStatement.setString(17, fragmentResultSet.getString(15));
+ Static.setNullableFloat(fragmentResultSet, 16, fragmentInsertStatement, 18);
+ Static.setNullableFloat(fragmentResultSet, 17, fragmentInsertStatement, 19);
+ Static.setNullableFloat(fragmentResultSet, 18, fragmentInsertStatement, 20);
+ Static.setNullableFloat(fragmentResultSet, 19, fragmentInsertStatement, 21);
+ Static.setNullableFloat(fragmentResultSet, 20, fragmentInsertStatement, 22);
+ fragmentInsertStatement.setString(23, fragmentResultSet.getString(21));
+ fragmentInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentResultSet.close();
+ }
+ break;
+ case JETSPEED_SCHEMA_VERSION_2_2_1:
+ {
+ ResultSet fragmentResultSet = fragmentQueryStatement.executeQuery("SELECT FRAGMENT_ID, CLASS_NAME, PARENT_ID, PAGE_ID, FRAGMENT_STRING_ID, FRAGMENT_STRING_REFID, NAME, TITLE, SHORT_TITLE, TYPE, SKIN, DECORATOR, STATE, PMODE, LAYOUT_ROW, LAYOUT_COLUMN, LAYOUT_SIZES, LAYOUT_X, LAYOUT_Y, LAYOUT_Z, LAYOUT_WIDTH, LAYOUT_HEIGHT, OWNER_PRINCIPAL FROM FRAGMENT;");
+ while (fragmentResultSet.next())
+ {
+ fragmentInsertStatement.setInt(1, fragmentResultSet.getInt(1));
+ fragmentInsertStatement.setString(2, fragmentResultSet.getString(2));
+ Static.setNullableInt(fragmentResultSet, 3, fragmentInsertStatement);
+ Static.setNullableInt(fragmentResultSet, 4, fragmentInsertStatement);
+ fragmentInsertStatement.setString(5, fragmentResultSet.getString(5));
+ fragmentInsertStatement.setString(6, fragmentResultSet.getString(6));
+ fragmentInsertStatement.setString(7, fragmentResultSet.getString(7));
+ fragmentInsertStatement.setString(8, fragmentResultSet.getString(8));
+ fragmentInsertStatement.setString(9, fragmentResultSet.getString(9));
+ fragmentInsertStatement.setString(10, fragmentResultSet.getString(10));
+ fragmentInsertStatement.setString(11, fragmentResultSet.getString(11));
+ fragmentInsertStatement.setString(12, fragmentResultSet.getString(12));
+ fragmentInsertStatement.setString(13, fragmentResultSet.getString(13));
+ fragmentInsertStatement.setString(14, fragmentResultSet.getString(14));
+ Static.setNullableInt(fragmentResultSet, 15, fragmentInsertStatement);
+ Static.setNullableInt(fragmentResultSet, 16, fragmentInsertStatement);
+ fragmentInsertStatement.setString(17, fragmentResultSet.getString(17));
+ Static.setNullableFloat(fragmentResultSet, 18, fragmentInsertStatement);
+ Static.setNullableFloat(fragmentResultSet, 19, fragmentInsertStatement);
+ Static.setNullableFloat(fragmentResultSet, 20, fragmentInsertStatement);
+ Static.setNullableFloat(fragmentResultSet, 21, fragmentInsertStatement);
+ Static.setNullableFloat(fragmentResultSet, 22, fragmentInsertStatement);
+ fragmentInsertStatement.setString(23, fragmentResultSet.getString(23));
+ fragmentInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentResultSet.close();
+ }
+ break;
+ }
+ fragmentQueryStatement.close();
+ fragmentInsertStatement.close();
+
+ // FRAGMENT_CONSTRAINT
+ PreparedStatement fragmentConstraintInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT_CONSTRAINT (CONSTRAINT_ID, FRAGMENT_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement fragmentConstraintQueryStatement = sourceConnection.createStatement();
+ ResultSet fragmentConstraintResultSet = fragmentConstraintQueryStatement.executeQuery("SELECT CONSTRAINT_ID, FRAGMENT_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL FROM FRAGMENT_CONSTRAINT;");
+ while (fragmentConstraintResultSet.next())
+ {
+ fragmentConstraintInsertStatement.setInt(1, fragmentConstraintResultSet.getInt(1));
+ fragmentConstraintInsertStatement.setInt(2, fragmentConstraintResultSet.getInt(2));
+ fragmentConstraintInsertStatement.setInt(3, fragmentConstraintResultSet.getInt(3));
+ fragmentConstraintInsertStatement.setString(4, fragmentConstraintResultSet.getString(4));
+ fragmentConstraintInsertStatement.setString(5, fragmentConstraintResultSet.getString(5));
+ fragmentConstraintInsertStatement.setString(6, fragmentConstraintResultSet.getString(6));
+ fragmentConstraintInsertStatement.setString(7, fragmentConstraintResultSet.getString(7));
+ fragmentConstraintInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentConstraintResultSet.close();
+ fragmentConstraintQueryStatement.close();
+ fragmentConstraintInsertStatement.close();
+
+ // FRAGMENT_CONSTRAINTS_REF
+ PreparedStatement fragmentConstraintsRefInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT_CONSTRAINTS_REF (CONSTRAINTS_REF_ID, FRAGMENT_ID, APPLY_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement fragmentConstraintsRefQueryStatement = sourceConnection.createStatement();
+ ResultSet fragmentConstraintsRefResultSet = fragmentConstraintsRefQueryStatement.executeQuery("SELECT CONSTRAINTS_REF_ID, FRAGMENT_ID, APPLY_ORDER, NAME FROM FRAGMENT_CONSTRAINTS_REF;");
+ while (fragmentConstraintsRefResultSet.next())
+ {
+ fragmentConstraintsRefInsertStatement.setInt(1, fragmentConstraintsRefResultSet.getInt(1));
+ fragmentConstraintsRefInsertStatement.setInt(2, fragmentConstraintsRefResultSet.getInt(2));
+ fragmentConstraintsRefInsertStatement.setInt(3, fragmentConstraintsRefResultSet.getInt(3));
+ fragmentConstraintsRefInsertStatement.setString(4, fragmentConstraintsRefResultSet.getString(4));
+ fragmentConstraintsRefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentConstraintsRefResultSet.close();
+ fragmentConstraintsRefQueryStatement.close();
+ fragmentConstraintsRefInsertStatement.close();
+
+ // FRAGMENT_PREF
+ PreparedStatement fragmentPrefInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT_PREF (PREF_ID, FRAGMENT_ID, NAME, IS_READ_ONLY) VALUES (?, ?, ?, ?);");
+ Statement fragmentPrefQueryStatement = sourceConnection.createStatement();
+ ResultSet fragmentPrefResultSet = fragmentPrefQueryStatement.executeQuery("SELECT PREF_ID, FRAGMENT_ID, NAME, IS_READ_ONLY FROM FRAGMENT_PREF;");
+ while (fragmentPrefResultSet.next())
+ {
+ fragmentPrefInsertStatement.setInt(1, fragmentPrefResultSet.getInt(1));
+ fragmentPrefInsertStatement.setInt(2, fragmentPrefResultSet.getInt(2));
+ fragmentPrefInsertStatement.setString(3, fragmentPrefResultSet.getString(3));
+ fragmentPrefInsertStatement.setShort(4, fragmentPrefResultSet.getShort(4));
+ fragmentPrefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentPrefResultSet.close();
+ fragmentPrefQueryStatement.close();
+ fragmentPrefInsertStatement.close();
+
+ // FRAGMENT_PREF_VALUE
+ PreparedStatement fragmentPrefValueInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT_PREF_VALUE (PREF_VALUE_ID, PREF_ID, VALUE_ORDER, VALUE) VALUES (?, ?, ?, ?);");
+ Statement fragmentPrefValueQueryStatement = sourceConnection.createStatement();
+ ResultSet fragmentPrefValueResultSet = fragmentPrefValueQueryStatement.executeQuery("SELECT PREF_VALUE_ID, PREF_ID, VALUE_ORDER, VALUE FROM FRAGMENT_PREF_VALUE;");
+ while (fragmentPrefValueResultSet.next())
+ {
+ fragmentPrefValueInsertStatement.setInt(1, fragmentPrefValueResultSet.getInt(1));
+ fragmentPrefValueInsertStatement.setInt(2, fragmentPrefValueResultSet.getInt(2));
+ fragmentPrefValueInsertStatement.setInt(3, fragmentPrefValueResultSet.getInt(3));
+ fragmentPrefValueInsertStatement.setString(4, fragmentPrefValueResultSet.getString(4));
+ fragmentPrefValueInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentPrefValueResultSet.close();
+ fragmentPrefValueQueryStatement.close();
+ fragmentPrefValueInsertStatement.close();
+
+ // FRAGMENT_PROP
+ int fragmentPropRowsMigrated = 0;
+ PreparedStatement fragmentPropInsertStatement = targetConnection.prepareStatement("INSERT INTO FRAGMENT_PROP (PROP_ID, FRAGMENT_ID, NAME, SCOPE, SCOPE_VALUE, VALUE) VALUES (?, ?, ?, ?, ?, ?);");
+ Statement fragmentPropQueryStatement = sourceConnection.createStatement();
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ case JETSPEED_SCHEMA_VERSION_2_2_0:
+ {
+ ResultSet fragmentResultSet = fragmentPropQueryStatement.executeQuery("SELECT FRAGMENT_ID, EXT_PROP_NAME_1, EXT_PROP_VALUE_1, EXT_PROP_NAME_2, EXT_PROP_VALUE_2 FROM FRAGMENT WHERE EXT_PROP_NAME_1 IS NOT NULL OR EXT_PROP_NAME_2 IS NOT NULL;");
+ while (fragmentResultSet.next())
+ {
+ if ((fragmentResultSet.getString(2) != null) && (fragmentResultSet.getString(3) != null))
+ {
+ fragmentPropInsertStatement.setInt(1, fragmentPropRowsMigrated++);
+ fragmentPropInsertStatement.setInt(2, fragmentResultSet.getInt(1));
+ fragmentPropInsertStatement.setString(3, fragmentResultSet.getString(2));
+ fragmentPropInsertStatement.setNull(4, Types.VARCHAR);
+ fragmentPropInsertStatement.setNull(5, Types.VARCHAR);
+ fragmentPropInsertStatement.setString(6, fragmentResultSet.getString(3));
+ fragmentPropInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ if ((fragmentResultSet.getString(4) != null) && (fragmentResultSet.getString(5) != null))
+ {
+ fragmentPropInsertStatement.setInt(1, fragmentPropRowsMigrated++);
+ fragmentPropInsertStatement.setInt(2, fragmentResultSet.getInt(1));
+ fragmentPropInsertStatement.setString(3, fragmentResultSet.getString(4));
+ fragmentPropInsertStatement.setNull(4, Types.VARCHAR);
+ fragmentPropInsertStatement.setNull(5, Types.VARCHAR);
+ fragmentPropInsertStatement.setString(6, fragmentResultSet.getString(5));
+ fragmentPropInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ }
+ fragmentResultSet.close();
+ }
+ break;
+ case JETSPEED_SCHEMA_VERSION_2_2_1:
+ {
+ ResultSet fragmentPropResultSet = fragmentPropQueryStatement.executeQuery("SELECT PROP_ID, FRAGMENT_ID, NAME, SCOPE, SCOPE_VALUE, VALUE FROM FRAGMENT_PROP;");
+ while (fragmentPropResultSet.next())
+ {
+ fragmentPropInsertStatement.setInt(1, fragmentPropResultSet.getInt(1));
+ fragmentPropInsertStatement.setInt(2, fragmentPropResultSet.getInt(2));
+ fragmentPropInsertStatement.setString(3, fragmentPropResultSet.getString(3));
+ fragmentPropInsertStatement.setString(4, fragmentPropResultSet.getString(4));
+ fragmentPropInsertStatement.setString(5, fragmentPropResultSet.getString(5));
+ fragmentPropInsertStatement.setString(6, fragmentPropResultSet.getString(6));
+ fragmentPropInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ fragmentPropResultSet.close();
+ }
+ }
+ fragmentPropQueryStatement.close();
+ fragmentPropInsertStatement.close();
+
+ // LINK
+ PreparedStatement linkInsertStatement = targetConnection.prepareStatement("INSERT INTO LINK (LINK_ID, PARENT_ID, PATH, NAME, VERSION, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, TARGET, URL, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement linkQueryStatement = sourceConnection.createStatement();
+ ResultSet linkResultSet = linkQueryStatement.executeQuery("SELECT LINK_ID, PARENT_ID, PATH, NAME, VERSION, TITLE, SHORT_TITLE, IS_HIDDEN, SKIN, TARGET, URL, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE, OWNER_PRINCIPAL FROM LINK;");
+ while (linkResultSet.next())
+ {
+ linkInsertStatement.setInt(1, linkResultSet.getInt(1));
+ linkInsertStatement.setInt(2, linkResultSet.getInt(2));
+ linkInsertStatement.setString(3, linkResultSet.getString(3));
+ linkInsertStatement.setString(4, linkResultSet.getString(4));
+ linkInsertStatement.setString(5, linkResultSet.getString(5));
+ linkInsertStatement.setString(6, linkResultSet.getString(6));
+ linkInsertStatement.setString(7, linkResultSet.getString(7));
+ linkInsertStatement.setShort(8, linkResultSet.getShort(8));
+ linkInsertStatement.setString(9, linkResultSet.getString(9));
+ linkInsertStatement.setString(10, linkResultSet.getString(10));
+ linkInsertStatement.setString(11, linkResultSet.getString(11));
+ linkInsertStatement.setString(12, linkResultSet.getString(12));
+ linkInsertStatement.setString(13, linkResultSet.getString(13));
+ linkInsertStatement.setString(14, linkResultSet.getString(14));
+ linkInsertStatement.setString(15, linkResultSet.getString(15));
+ linkInsertStatement.setString(16, linkResultSet.getString(16));
+ linkInsertStatement.setString(17, linkResultSet.getString(17));
+ linkInsertStatement.setString(18, linkResultSet.getString(18));
+ linkInsertStatement.setString(19, linkResultSet.getString(19));
+ linkInsertStatement.setString(20, linkResultSet.getString(20));
+ linkInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ linkResultSet.close();
+ linkQueryStatement.close();
+ linkInsertStatement.close();
+
+ // LINK_METADATA
+ PreparedStatement linkMetadataInsertStatement = targetConnection.prepareStatement("INSERT INTO LINK_METADATA (METADATA_ID, LINK_ID, NAME, LOCALE, VALUE) VALUES (?, ?, ?, ?, ?);");
+ Statement linkMetadataQueryStatement = sourceConnection.createStatement();
+ ResultSet linkMetadataResultSet = linkMetadataQueryStatement.executeQuery("SELECT METADATA_ID, LINK_ID, NAME, LOCALE, VALUE FROM LINK_METADATA;");
+ while (linkMetadataResultSet.next())
+ {
+ linkMetadataInsertStatement.setInt(1, linkMetadataResultSet.getInt(1));
+ linkMetadataInsertStatement.setInt(2, linkMetadataResultSet.getInt(2));
+ linkMetadataInsertStatement.setString(3, linkMetadataResultSet.getString(3));
+ linkMetadataInsertStatement.setString(4, linkMetadataResultSet.getString(4));
+ linkMetadataInsertStatement.setString(5, linkMetadataResultSet.getString(5));
+ linkMetadataInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ linkMetadataResultSet.close();
+ linkMetadataQueryStatement.close();
+ linkMetadataInsertStatement.close();
+
+ // LINK_CONSTRAINT
+ PreparedStatement linkConstraintInsertStatement = targetConnection.prepareStatement("INSERT INTO LINK_CONSTRAINT (CONSTRAINT_ID, LINK_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement linkConstraintQueryStatement = sourceConnection.createStatement();
+ ResultSet linkConstraintResultSet = linkConstraintQueryStatement.executeQuery("SELECT CONSTRAINT_ID, LINK_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL FROM LINK_CONSTRAINT;");
+ while (linkConstraintResultSet.next())
+ {
+ linkConstraintInsertStatement.setInt(1, linkConstraintResultSet.getInt(1));
+ linkConstraintInsertStatement.setInt(2, linkConstraintResultSet.getInt(2));
+ linkConstraintInsertStatement.setInt(3, linkConstraintResultSet.getInt(3));
+ linkConstraintInsertStatement.setString(4, linkConstraintResultSet.getString(4));
+ linkConstraintInsertStatement.setString(5, linkConstraintResultSet.getString(5));
+ linkConstraintInsertStatement.setString(6, linkConstraintResultSet.getString(6));
+ linkConstraintInsertStatement.setString(7, linkConstraintResultSet.getString(7));
+ linkConstraintInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ linkConstraintResultSet.close();
+ linkConstraintQueryStatement.close();
+ linkConstraintInsertStatement.close();
+
+ // LINK_CONSTRAINTS_REF
+ PreparedStatement linkConstraintsRefInsertStatement = targetConnection.prepareStatement("INSERT INTO LINK_CONSTRAINTS_REF (CONSTRAINTS_REF_ID, LINK_ID, APPLY_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement linkConstraintsRefQueryStatement = sourceConnection.createStatement();
+ ResultSet linkConstraintsRefResultSet = linkConstraintsRefQueryStatement.executeQuery("SELECT CONSTRAINTS_REF_ID, LINK_ID, APPLY_ORDER, NAME FROM LINK_CONSTRAINTS_REF;");
+ while (linkConstraintsRefResultSet.next())
+ {
+ linkConstraintsRefInsertStatement.setInt(1, linkConstraintsRefResultSet.getInt(1));
+ linkConstraintsRefInsertStatement.setInt(2, linkConstraintsRefResultSet.getInt(2));
+ linkConstraintsRefInsertStatement.setInt(3, linkConstraintsRefResultSet.getInt(3));
+ linkConstraintsRefInsertStatement.setString(4, linkConstraintsRefResultSet.getString(4));
+ linkConstraintsRefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ linkConstraintsRefResultSet.close();
+ linkConstraintsRefQueryStatement.close();
+ linkConstraintsRefInsertStatement.close();
+
+ // PAGE_SECURITY
+ PreparedStatement pageSecurityInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_SECURITY (PAGE_SECURITY_ID, PARENT_ID, PATH, NAME, VERSION, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
+ Statement pageSecurityQueryStatement = sourceConnection.createStatement();
+ ResultSet pageSecurityResultSet = pageSecurityQueryStatement.executeQuery("SELECT PAGE_SECURITY_ID, PARENT_ID, PATH, NAME, VERSION, SUBSITE, USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, MEDIATYPE, LOCALE, EXT_ATTR_NAME, EXT_ATTR_VALUE FROM PAGE_SECURITY;");
+ while (pageSecurityResultSet.next())
+ {
+ pageSecurityInsertStatement.setInt(1, pageSecurityResultSet.getInt(1));
+ pageSecurityInsertStatement.setInt(2, pageSecurityResultSet.getInt(2));
+ pageSecurityInsertStatement.setString(3, pageSecurityResultSet.getString(3));
+ pageSecurityInsertStatement.setString(4, pageSecurityResultSet.getString(4));
+ pageSecurityInsertStatement.setString(5, pageSecurityResultSet.getString(5));
+ pageSecurityInsertStatement.setString(6, pageSecurityResultSet.getString(6));
+ pageSecurityInsertStatement.setString(7, pageSecurityResultSet.getString(7));
+ pageSecurityInsertStatement.setString(8, pageSecurityResultSet.getString(8));
+ pageSecurityInsertStatement.setString(9, pageSecurityResultSet.getString(9));
+ pageSecurityInsertStatement.setString(10, pageSecurityResultSet.getString(10));
+ pageSecurityInsertStatement.setString(11, pageSecurityResultSet.getString(11));
+ pageSecurityInsertStatement.setString(12, pageSecurityResultSet.getString(12));
+ pageSecurityInsertStatement.setString(13, pageSecurityResultSet.getString(13));
+ pageSecurityInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageSecurityResultSet.close();
+ pageSecurityQueryStatement.close();
+ pageSecurityInsertStatement.close();
+
+ // PAGE_SEC_CONSTRAINTS_DEF
+ PreparedStatement pageSecurityConstraintsDefInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_SEC_CONSTRAINTS_DEF (CONSTRAINTS_DEF_ID, PAGE_SECURITY_ID, NAME) VALUES (?, ?, ?);");
+ Statement pageSecurityConstraintsDefQueryStatement = sourceConnection.createStatement();
+ ResultSet pageSecurityConstraintsDefResultSet = pageSecurityConstraintsDefQueryStatement.executeQuery("SELECT CONSTRAINTS_DEF_ID, PAGE_SECURITY_ID, NAME FROM PAGE_SEC_CONSTRAINTS_DEF;");
+ while (pageSecurityConstraintsDefResultSet.next())
+ {
+ pageSecurityConstraintsDefInsertStatement.setInt(1, pageSecurityConstraintsDefResultSet.getInt(1));
+ pageSecurityConstraintsDefInsertStatement.setInt(2, pageSecurityConstraintsDefResultSet.getInt(2));
+ pageSecurityConstraintsDefInsertStatement.setString(3, pageSecurityConstraintsDefResultSet.getString(3));
+ pageSecurityConstraintsDefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageSecurityConstraintsDefResultSet.close();
+ pageSecurityConstraintsDefQueryStatement.close();
+ pageSecurityConstraintsDefInsertStatement.close();
+
+ // PAGE_SEC_CONSTRAINT_DEF
+ PreparedStatement pageSecurityConstraintDefInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_SEC_CONSTRAINT_DEF (CONSTRAINT_DEF_ID, CONSTRAINTS_DEF_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement pageSecurityConstraintDefQueryStatement = sourceConnection.createStatement();
+ ResultSet pageSecurityConstraintDefResultSet = pageSecurityConstraintDefQueryStatement.executeQuery("SELECT CONSTRAINT_DEF_ID, CONSTRAINTS_DEF_ID, APPLY_ORDER, USER_PRINCIPALS_ACL, ROLE_PRINCIPALS_ACL, GROUP_PRINCIPALS_ACL, PERMISSIONS_ACL FROM PAGE_SEC_CONSTRAINT_DEF;");
+ while (pageSecurityConstraintDefResultSet.next())
+ {
+ pageSecurityConstraintDefInsertStatement.setInt(1, pageSecurityConstraintDefResultSet.getInt(1));
+ pageSecurityConstraintDefInsertStatement.setInt(2, pageSecurityConstraintDefResultSet.getInt(2));
+ pageSecurityConstraintDefInsertStatement.setInt(3, pageSecurityConstraintDefResultSet.getInt(3));
+ pageSecurityConstraintDefInsertStatement.setString(4, pageSecurityConstraintDefResultSet.getString(4));
+ pageSecurityConstraintDefInsertStatement.setString(5, pageSecurityConstraintDefResultSet.getString(5));
+ pageSecurityConstraintDefInsertStatement.setString(6, pageSecurityConstraintDefResultSet.getString(6));
+ pageSecurityConstraintDefInsertStatement.setString(7, pageSecurityConstraintDefResultSet.getString(7));
+ pageSecurityConstraintDefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageSecurityConstraintDefResultSet.close();
+ pageSecurityConstraintDefQueryStatement.close();
+ pageSecurityConstraintDefInsertStatement.close();
+
+ // PAGE_SEC_CONSTRAINTS_REF
+ PreparedStatement pageSecurityConstraintsRefInsertStatement = targetConnection.prepareStatement("INSERT INTO PAGE_SEC_CONSTRAINTS_REF (CONSTRAINTS_REF_ID, PAGE_SECURITY_ID, APPLY_ORDER, NAME) VALUES (?, ?, ?, ?);");
+ Statement pageSecurityConstraintsRefQueryStatement = sourceConnection.createStatement();
+ ResultSet pageSecurityConstraintsRefResultSet = pageSecurityConstraintsRefQueryStatement.executeQuery("SELECT CONSTRAINTS_REF_ID, PAGE_SECURITY_ID, APPLY_ORDER, NAME FROM PAGE_SEC_CONSTRAINTS_REF;");
+ while (pageSecurityConstraintsRefResultSet.next())
+ {
+ pageSecurityConstraintsRefInsertStatement.setInt(1, pageSecurityConstraintsRefResultSet.getInt(1));
+ pageSecurityConstraintsRefInsertStatement.setInt(2, pageSecurityConstraintsRefResultSet.getInt(2));
+ pageSecurityConstraintsRefInsertStatement.setInt(3, pageSecurityConstraintsRefResultSet.getInt(3));
+ pageSecurityConstraintsRefInsertStatement.setString(4, pageSecurityConstraintsRefResultSet.getString(4));
+ pageSecurityConstraintsRefInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ pageSecurityConstraintsRefResultSet.close();
+ pageSecurityConstraintsRefQueryStatement.close();
+ pageSecurityConstraintsRefInsertStatement.close();
+
+ // OJB_HL_SEQ
+ PreparedStatement ojbInsertStatement = targetConnection.prepareStatement("INSERT INTO OJB_HL_SEQ (TABLENAME, FIELDNAME, MAX_KEY, GRAB_SIZE, VERSION) VALUES (?, ?, ?, ?, ?);");
+ Statement ojbQueryStatement = sourceConnection.createStatement();
+ ResultSet ojbResultSet = ojbQueryStatement.executeQuery("SELECT TABLENAME, FIELDNAME, MAX_KEY, GRAB_SIZE, VERSION FROM OJB_HL_SEQ WHERE TABLENAME IN ('SEQ_FOLDER', 'SEQ_FOLDER_CONSTRAINT', 'SEQ_FOLDER_CONSTRAINTS_REF', 'SEQ_FOLDER_MENU', 'SEQ_FOLDER_MENU_METADATA', 'SEQ_FOLDER_METADATA', 'SEQ_FOLDER_ORDER', 'SEQ_FRAGMENT', 'SEQ_FRAGMENT_CONSTRAINT', 'SEQ_FRAGMENT_CONSTRAINTS_REF', 'SEQ_FRAGMENT_PREF', 'SEQ_FRAGMENT_PREF_VALUE', 'SEQ_FRAGMENT_PROP', 'SEQ_LINK', 'SEQ_LINK_CONSTRAINT', 'SEQ_LINK_CONSTRAINTS_REF', 'SEQ_LINK_METADATA', 'SEQ_PAGE', 'SEQ_PAGE_CONSTRAINT', 'SEQ_PAGE_CONSTRAINTS_REF', 'SEQ_PAGE_MENU', 'SEQ_PAGE_MENU_METADATA', 'SEQ_PAGE_METADATA', 'SEQ_PAGE_SECURITY', 'SEQ_PAGE_SEC_CONSTRAINTS_DEF', 'SEQ_PAGE_SEC_CONSTRAINTS_REF', 'SEQ_PAGE_SEC_CONSTRAINT_DEF');");
+ while (ojbResultSet.next())
+ {
+ ojbInsertStatement.setString(1, ojbResultSet.getString(1));
+ ojbInsertStatement.setString(2, ojbResultSet.getString(2));
+ ojbInsertStatement.setInt(3, ojbResultSet.getInt(3));
+ ojbInsertStatement.setInt(4, ojbResultSet.getInt(4));
+ ojbInsertStatement.setInt(5, ojbResultSet.getInt(5));
+ ojbInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ switch (sourceVersion)
+ {
+ case JETSPEED_SCHEMA_VERSION_2_1_3:
+ case JETSPEED_SCHEMA_VERSION_2_1_4:
+ case JETSPEED_SCHEMA_VERSION_2_2_0:
+ {
+ if (fragmentPropRowsMigrated > 0)
+ {
+ int grabSize = 20;
+ int version = (fragmentPropRowsMigrated+(grabSize-1))/grabSize;
+ int maxKey = version*grabSize;
+ ojbInsertStatement.setString(1, "SEQ_FRAGMENT_PROP");
+ ojbInsertStatement.setString(2, "deprecatedColumn");
+ ojbInsertStatement.setInt(3, maxKey);
+ ojbInsertStatement.setInt(4, grabSize);
+ ojbInsertStatement.setInt(5, version);
+ ojbInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ }
+ break;
+ }
+ ojbResultSet.close();
+ ojbQueryStatement.close();
+ ojbInsertStatement.close();
+
+ return rowsMigrated;
+ }
+}
Added: portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/tools/migration/JetspeedProfilerMigration.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/tools/migration/JetspeedProfilerMigration.java?rev=942663&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/tools/migration/JetspeedProfilerMigration.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-profiler/src/main/java/org/apache/jetspeed/tools/migration/JetspeedProfilerMigration.java Mon May 10 06:11:49 2010
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.migration;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+/**
+ * Jetspeed Migration for Profiler component.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id$
+ */
+public class JetspeedProfilerMigration implements JetspeedMigration
+{
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#getName()
+ */
+ public String getName()
+ {
+ return "Profiler";
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#detectSourceVersion(java.sql.Connection, int)
+ */
+ public int detectSourceVersion(Connection sourceConnection, int sourceVersion) throws SQLException
+ {
+ // no migration required in profiler schema
+ return ((sourceVersion > JETSPEED_SCHEMA_VERSION_UNKNOWN) ? sourceVersion : JETSPEED_SCHEMA_VERSION_2_1_3);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.tools.migration.JetspeedMigration#migrate(java.sql.Connection, int, java.sql.Connection)
+ */
+ public int migrate(Connection sourceConnection, int sourceVersion, Connection targetConnection) throws SQLException
+ {
+ int rowsMigrated = 0;
+
+ // PROFILING_RULE
+ PreparedStatement profilingRuleInsertStatement = targetConnection.prepareStatement("INSERT INTO PROFILING_RULE (RULE_ID, CLASS_NAME, TITLE) VALUES (?, ?, ?);");
+ Statement profilingRuleQueryStatement = sourceConnection.createStatement();
+ ResultSet profilingRuleResultSet = profilingRuleQueryStatement.executeQuery("SELECT RULE_ID, CLASS_NAME, TITLE FROM PROFILING_RULE;");
+ while (profilingRuleResultSet.next())
+ {
+ profilingRuleInsertStatement.setString(1, profilingRuleResultSet.getString(1));
+ profilingRuleInsertStatement.setString(2, profilingRuleResultSet.getString(2));
+ profilingRuleInsertStatement.setString(3, profilingRuleResultSet.getString(3));
+ profilingRuleInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ profilingRuleResultSet.close();
+ profilingRuleQueryStatement.close();
+ profilingRuleInsertStatement.close();
+
+ // RULE_CRITERION
+ PreparedStatement ruleCriterionInsertStatement = targetConnection.prepareStatement("INSERT INTO RULE_CRITERION (CRITERION_ID, RULE_ID, FALLBACK_ORDER, REQUEST_TYPE, NAME, COLUMN_VALUE, FALLBACK_TYPE) VALUES (?, ?, ?, ?, ?, ?, ?);");
+ Statement ruleCriterionQueryStatement = sourceConnection.createStatement();
+ ResultSet ruleCriterionResultSet = ruleCriterionQueryStatement.executeQuery("SELECT CRITERION_ID, RULE_ID, FALLBACK_ORDER, REQUEST_TYPE, NAME, COLUMN_VALUE, FALLBACK_TYPE FROM RULE_CRITERION;");
+ while (ruleCriterionResultSet.next())
+ {
+ ruleCriterionInsertStatement.setString(1, ruleCriterionResultSet.getString(1));
+ ruleCriterionInsertStatement.setString(2, ruleCriterionResultSet.getString(2));
+ ruleCriterionInsertStatement.setInt(3, ruleCriterionResultSet.getInt(3));
+ ruleCriterionInsertStatement.setString(4, ruleCriterionResultSet.getString(4));
+ ruleCriterionInsertStatement.setString(5, ruleCriterionResultSet.getString(5));
+ ruleCriterionInsertStatement.setString(6, ruleCriterionResultSet.getString(6));
+ Static.setNullableInt(ruleCriterionResultSet, 7, ruleCriterionInsertStatement);
+ ruleCriterionInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ ruleCriterionResultSet.close();
+ ruleCriterionQueryStatement.close();
+ ruleCriterionInsertStatement.close();
+
+ // PRINCIPAL_RULE_ASSOC
+ PreparedStatement principalRuleAssocInsertStatement = targetConnection.prepareStatement("INSERT INTO PRINCIPAL_RULE_ASSOC (PRINCIPAL_NAME, LOCATOR_NAME, RULE_ID) VALUES (?, ?, ?);");
+ Statement principalRuleAssocQueryStatement = sourceConnection.createStatement();
+ ResultSet principalRuleAssocResultSet = principalRuleAssocQueryStatement.executeQuery("SELECT PRINCIPAL_NAME, LOCATOR_NAME, RULE_ID FROM PRINCIPAL_RULE_ASSOC;");
+ while (principalRuleAssocResultSet.next())
+ {
+ principalRuleAssocInsertStatement.setString(1, principalRuleAssocResultSet.getString(1));
+ principalRuleAssocInsertStatement.setString(2, principalRuleAssocResultSet.getString(2));
+ principalRuleAssocInsertStatement.setString(3, principalRuleAssocResultSet.getString(3));
+ principalRuleAssocInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ principalRuleAssocResultSet.close();
+ principalRuleAssocQueryStatement.close();
+ principalRuleAssocInsertStatement.close();
+
+ // PROFILE_PAGE_ASSOC
+ PreparedStatement profilePageAssocInsertStatement = targetConnection.prepareStatement("INSERT INTO PROFILE_PAGE_ASSOC (LOCATOR_HASH, PAGE_ID) VALUES (?, ?);");
+ Statement profilePageAssocQueryStatement = sourceConnection.createStatement();
+ ResultSet profilePageAssocResultSet = profilePageAssocQueryStatement.executeQuery("SELECT LOCATOR_HASH, PAGE_ID FROM PROFILE_PAGE_ASSOC;");
+ while (profilePageAssocResultSet.next())
+ {
+ profilePageAssocInsertStatement.setString(1, profilePageAssocResultSet.getString(1));
+ profilePageAssocInsertStatement.setString(2, profilePageAssocResultSet.getString(2));
+ profilePageAssocInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ profilePageAssocResultSet.close();
+ profilePageAssocQueryStatement.close();
+ profilePageAssocInsertStatement.close();
+
+ // OJB_HL_SEQ
+ PreparedStatement ojbInsertStatement = targetConnection.prepareStatement("INSERT INTO OJB_HL_SEQ (TABLENAME, FIELDNAME, MAX_KEY, GRAB_SIZE, VERSION) VALUES (?, ?, ?, ?, ?);");
+ Statement ojbQueryStatement = sourceConnection.createStatement();
+ ResultSet ojbResultSet = ojbQueryStatement.executeQuery("SELECT TABLENAME, FIELDNAME, MAX_KEY, GRAB_SIZE, VERSION FROM OJB_HL_SEQ WHERE TABLENAME IN ('SEQ_RULE_CRITERION');");
+ while (ojbResultSet.next())
+ {
+ ojbInsertStatement.setString(1, ojbResultSet.getString(1));
+ ojbInsertStatement.setString(2, ojbResultSet.getString(2));
+ ojbInsertStatement.setInt(3, ojbResultSet.getInt(3));
+ ojbInsertStatement.setInt(4, ojbResultSet.getInt(4));
+ ojbInsertStatement.setInt(5, ojbResultSet.getInt(5));
+ ojbInsertStatement.executeUpdate();
+ rowsMigrated++;
+ }
+ ojbResultSet.close();
+ ojbQueryStatement.close();
+ ojbInsertStatement.close();
+
+ return rowsMigrated;
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org