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 wo...@apache.org on 2008/10/20 09:44:24 UTC
svn commit: r706142 - in
/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade: ./
components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/
components/jetspeed-registry/src/main/java/org/apache/jetspeed/component...
Author: woonsan
Date: Mon Oct 20 00:44:24 2008
New Revision: 706142
URL: http://svn.apache.org/viewvc?rev=706142&view=rev
Log:
Fixed a bug querying by getPortletDefinitionByIdentifier() with unique name.
Also, modified the getUserNames() method of PersistenceBrokerPortletPreferencesProvider interface to return Collection<String> instead of Iterator<String>. It was because the existing method throws exception from OJB layer, 'Resources no longer reachable, RsIterator will be automatic cleaned up on PB.close/.commitTransaction/.abortTransaction'.
So, I thought that the method should return a copied collection of user names, instead of the rs iterator.
And, updated the data migration guide document.
Modified:
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/pom.xml
portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/xdocs/guides/guide-migration.xml
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletentity/PortletEntityImpl.java Mon Oct 20 00:44:24 2008
@@ -208,7 +208,7 @@
// (becuase the PortletApplication has yet to be registered).
if(this.portletDefinition == null)
{
- PortletDefinition pd = registry.getPortletDefinitionByIdentifier(getPortletUniqueName());
+ PortletDefinition pd = registry.getPortletDefinitionByUniqueName(getPortletUniqueName());
if ( pd != null )
{
// only store a really found PortletDefinition
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletpreferences/PersistenceBrokerPortletPreferencesProvider.java Mon Oct 20 00:44:24 2008
@@ -17,8 +17,10 @@
package org.apache.jetspeed.components.portletpreferences;
import java.util.HashMap;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import java.util.LinkedList;
import java.util.Map;
import org.apache.jetspeed.cache.CacheElement;
@@ -185,30 +187,23 @@
return new PreferenceSetImpl(prefs);
}
- public Iterator<String> getUserNames(PortletEntity pe)
+ public Collection<String> getUserNames(MutablePortletEntity pe)
{
+ Collection<String> userNames = new LinkedList<String>();
+
Criteria c = new Criteria();
c.addEqualTo("entityId", pe.getId());
final ReportQueryByCriteria q = QueryFactory.newReportQuery(PreferenceValueImpl.class, c, true);
- q.setAttributes(new String[]{"userName"});
-
- return new Iterator<String>(){
- private final Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q);
- public boolean hasNext()
- {
- return iterator.hasNext();
- }
-
- public String next()
- {
- return (String)iterator.next()[0];
- }
+ q.setAttributes(new String[]{"userName"});
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
- };
+ Iterator<Object[]> iterator = getPersistenceBrokerTemplate().getReportQueryIteratorByQuery(q);
+
+ while (iterator.hasNext())
+ {
+ userNames.add((String)iterator.next()[0]);
+ }
+
+ return userNames;
}
public void savePreferenceSet(PortletDefinition pd, PreferenceSetComposite preferenceSet)
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java Mon Oct 20 00:44:24 2008
@@ -287,13 +287,14 @@
catch (Exception e)
{
throw new SerializerException(SerializerException.CREATE_SERIALIZED_OBJECT_FAILED.create(new String[] {
- "PortletApplicationDefinition", e.getMessage() }));
+ "PortletApplicationDefinition", e.getMessage() }), e);
}
}
}
private JSApplication exportPA(PortletApplication pa, Map settings, Log log) throws SerializerException
{
+ JSApplication jsApplication = null;
/**
* while more PAs for each portletDef
* list:entityMan:getPortletEntity(pd)
@@ -302,12 +303,14 @@
PortletDefinition pd = null;
JSPortlets portlets = new JSPortlets();
+
while (pi.hasNext())
{
try
{
pd = (PortletDefinition) pi.next();
JSPortlet p = exportPD(pd, settings, log);
+
if (p != null)
{
log.debug("--processed PA " + pa.getName() + " with pd=" + pd.getPortletName());
@@ -315,68 +318,63 @@
}
else
log.debug("--processed PA " + pa.getName() + " with NULL pd=" + pd.getPortletName());
-
}
catch (Exception e)
{
throw new SerializerException(SerializerException.CREATE_SERIALIZED_OBJECT_FAILED.create(new String[] {
- "PortletDefinition", e.getMessage() }));
+ "PortletDefinition", e.getMessage() }), e);
}
}
+
if (!portlets.isEmpty())
{
- JSApplication app = new JSApplication();
+ jsApplication = new JSApplication();
log.debug("--exporting PA " + pa.getName() + " with id=" + pa.getId());
- app.setID(pa.getId().toString());
- app.setName(pa.getName());
- app.setPortlets(portlets);
- return app;
+ jsApplication.setID(pa.getId().toString());
+ jsApplication.setName(pa.getName());
+ jsApplication.setPortlets(portlets);
}
- return null;
+
+ return jsApplication;
}
private JSPortlet exportPD(PortletDefinition pd, Map settings, Log log) throws SerializerException
{
+ JSPortlet jsPortlet = null;
+
try
{
Collection col = entityAccess.getPortletEntities(pd);
+
if ((col == null) || (col.size() == 0))
return null;
- Iterator list = null;
- try
- {
- list = col.iterator();
- }
- catch (Exception e)
- {
- throw new SerializerException(SerializerException.GET_EXISTING_OBJECTS.create(new String[] {
- "entityAccess", e.getMessage() }));
- }
+
JSEntities entities = new JSEntities();
- while (list.hasNext())
+ for (Object item : col)
{
- PortletEntity entity = (PortletEntity) list.next();
+ PortletEntity entity = (PortletEntity) item;
JSEntity jsEntity = exportEntityPref(entity, settings, log);
+
if (jsEntity != null)
entities.add(jsEntity);
-
}
+
if (!entities.isEmpty())
{
- JSPortlet portlet = new JSPortlet();
- portlet.setName(pd.getPortletName());
+ jsPortlet = new JSPortlet();
+ jsPortlet.setName(pd.getPortletName());
log.debug("-----exporting for PD=" + pd.getPortletName());
- portlet.setEntities(entities);
- return portlet;
+ jsPortlet.setEntities(entities);
}
- return null;
}
catch (Exception e)
{
throw new SerializerException(SerializerException.CREATE_SERIALIZED_OBJECT_FAILED.create(new String[] {
- "Entity", e.getMessage() }));
+ "Entity", e.getMessage() }), e);
}
+
+ return jsPortlet;
}
JSEntity exportEntityPref(PortletEntity entity, Map settings, Log log)
@@ -389,19 +387,22 @@
if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES))
{
JSEntityPreferences entityPreferences = new JSEntityPreferences();
- Iterator<String> userNames = prefsProvider.getUserNames(entity);
- while (userNames.hasNext())
+ Collection<String> userNames = prefsProvider.getUserNames(entity);
+
+ for (String userName : userNames)
{
- String userName = userNames.next();
- PreferenceSetComposite preferenceSet = prefsProvider.getPreferenceSet(entity, userNames.next());
+ PreferenceSetComposite preferenceSet = prefsProvider.getPreferenceSet(entity, userName);
+
JSEntityPreference userPreference = new JSEntityPreference();
userPreference.setName(userName);
Iterator<Preference> preferences = preferenceSet.iterator();
JSNVPElements v = new JSNVPElements();
+
while (preferences.hasNext())
{
Preference p = preferences.next();
Iterator<String> values = p.getValues();
+
while (values.hasNext())
{
JSNVPElement element = new JSNVPElement();
@@ -410,11 +411,13 @@
v.add(element);
}
}
+
if (v.size() > 0)
{
userPreference.setPreferences(v);
entityPreferences.add(userPreference);
}
+
if (!entityPreferences.isEmpty())
{
log.debug("processed preferences for entity=" + entity.getId());
@@ -422,6 +425,7 @@
}
}
}
+
return jsEntity;
}
}
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletpreferences/PortletPreferencesProvider.java Mon Oct 20 00:44:24 2008
@@ -16,7 +16,7 @@
*/
package org.apache.jetspeed.components.portletpreferences;
-import java.util.Iterator;
+import java.util.Collection;
import org.apache.jetspeed.container.PortletEntity;
import org.apache.jetspeed.om.common.preference.PreferenceSetComposite;
@@ -28,7 +28,7 @@
public PreferenceSetComposite getPreferenceSet(PortletDefinition pd);
public PreferenceSetComposite getPreferenceSet(PortletEntity pe);
public PreferenceSetComposite getPreferenceSet(PortletEntity pe, String userName);
- public Iterator<String> getUserNames(PortletEntity pe);
+ public Collection<String> getUserNames(MutablePortletEntity pe);
public void savePreferenceSet(PortletDefinition pd, PreferenceSetComposite preferenceSet);
public void savePreferenceSet(PortletEntity pe, PreferenceSetComposite preferenceSet);
public void savePreferenceSet(PortletEntity pe, String userName, PreferenceSetComposite preferenceSet);
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/pom.xml?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/pom.xml (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/pom.xml Mon Oct 20 00:44:24 2008
@@ -279,7 +279,7 @@
<commons-digester.version>1.8</commons-digester.version>
<commons-fileupload.version>1.2</commons-fileupload.version>
<commons-httpclient.version>3.0.1</commons-httpclient.version>
- <commons-io.version>1.3.2</commons-io.version>
+ <commons-io.version>1.4</commons-io.version>
<commons-lang.version>2.1</commons-lang.version>
<commons-logging.version>1.1</commons-logging.version>
<commons-pool.version>1.3</commons-pool.version>
Modified: portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/xdocs/guides/guide-migration.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/xdocs/guides/guide-migration.xml?rev=706142&r1=706141&r2=706142&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/xdocs/guides/guide-migration.xml (original)
+++ portals/jetspeed-2/portal/branches/JS2-871-pluto-2.0-upgrade/xdocs/guides/guide-migration.xml Mon Oct 20 00:44:24 2008
@@ -25,8 +25,364 @@
</authors>
</properties>
<body>
+ <section name="Data Migrating from Jetspeed 2.1.3 to 2.2">
+ <p>The following tables describe database schema changes from version 2.1.3 to version 2.2.</p>
+ <subsection name="Removed Tables">
+ <table>
+ <tr>
+ <th>Table</th>
+ </tr>
+ <tr>
+ <td>SECURITY_USER_ROLE</td>
+ </tr>
+ <tr>
+ <td>SECURITY_USER_GROUP</td>
+ </tr>
+ <tr>
+ <td>SECURITY_GROUP_ROLE</td>
+ </tr>
+ <tr>
+ <td>PREFS_NODE</td>
+ </tr>
+ <tr>
+ <td>PREFS_PROPERTY_VALUE</td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Added Tables">
+ <table>
+ <tr>
+ <th>Table</th>
+ </tr>
+ <tr>
+ <td>PORTLET_PREFERENCE</td>
+ </tr>
+ <tr>
+ <td>PORTLET_PREFERENCE_VALUE</td>
+ </tr>
+ <tr>
+ <td>SECURITY_ATTRIBUTE</td>
+ </tr>
+ <tr>
+ <td>SECURITY_PRINCIPAL_ASSOC</td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Columns Altering">
+ <table>
+ <tr>
+ <th rowspan="2">Altering Action</th>
+ <th rowspan="2">Table</th>
+ <th rowspan="2">Column</th>
+ <th colspan="3">2.1.3</th>
+ <th colspan="3">2.2</th>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <th>Size</th>
+ <th>Required</th>
+ <th>Type</th>
+ <th>Size</th>
+ <th>Required</th>
+ </tr>
+ <tr>
+ <td>MODIFY</td>
+ <td>PARAMETER</td>
+ <td>PARAMETER_VALUE</td>
+ <td>LONGVARCHAR</td>
+ <td></td>
+ <td>Yes</td>
+ <td>LONGVARCHAR</td>
+ <td></td>
+ <td>No</td>
+ </tr>
+ <tr>
+ <td>MODIFY</td>
+ <td>PORTLET_ENTITY</td>
+ <td>ID</td>
+ <td>VARCHAR</td>
+ <td>255</td>
+ <td>Yes</td>
+ <td>VARCHAR</td>
+ <td>80</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>MODIFY</td>
+ <td>PORTLET_ENTITY</td>
+ <td>APP_NAME</td>
+ <td>VARCHAR</td>
+ <td>255</td>
+ <td>Yes</td>
+ <td>VARCHAR</td>
+ <td>80</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>MODIFY</td>
+ <td>PORTLET_ENTITY</td>
+ <td>PORTLET_NAME</td>
+ <td>VARCHAR</td>
+ <td>255</td>
+ <td>Yes</td>
+ <td>VARCHAR</td>
+ <td>80</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>CLASSNAME</td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_MAPPING_ONLY</td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_ENABLED</td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>FULL_PATH</td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>PRINCIPAL_TYPE</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>VARCHAR</td>
+ <td>20</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>PRINCIPAL_NAME</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>VARCHAR</td>
+ <td>200</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_MAPPED</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_ENABLED</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_READONLY</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>IS_REMOVABLE</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PERMISSION</td>
+ <td>CLASSNAME</td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_PERMISSION</td>
+ <td>PERMISSION_TYPE</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>VARCHAR</td>
+ <td>30</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PERMISSION</td>
+ <td>CREATION_DATE</td>
+ <td>TIMESTAMP</td>
+ <td></td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_PERMISSION</td>
+ <td>MODIFIED_DATE</td>
+ <td>TIMESTAMP</td>
+ <td></td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_CREDENTIAL</td>
+ <td>COLUMN_VALUE</td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>Yes</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_CREDENTIAL</td>
+ <td>CREDENTIAL_VALUE</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>DROP</td>
+ <td>SECURITY_CREDENTIAL</td>
+ <td>CLASSNAME</td>
+ <td>VARCHAR</td>
+ <td>254</td>
+ <td>No</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_CREDENTIAL</td>
+ <td>UPDATE_ALLOWED</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ <tr>
+ <td>ADD</td>
+ <td>SECURITY_CREDENTIAL</td>
+ <td>IS_STATE_READONLY</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>BOOLEANINT</td>
+ <td></td>
+ <td>Yes</td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Added Indexes">
+ <table>
+ <tr>
+ <th>Table</th>
+ <th>Index</th>
+ <th>Type</th>
+ <th>Column(s)</th>
+ </tr>
+ <tr>
+ <td>SECURITY_PERMISSION</td>
+ <td>UIX_SECURITY_PERMISSION</td>
+ <td>unique</td>
+ <td>PERMISSION_TYPE, NAME</td>
+ </tr>
+ </table>
+ </subsection>
+ <subsection name="Indexes Altering">
+ <table>
+ <tr>
+ <th rowspan="2">Table</th>
+ <th rowspan="2">Index</th>
+ <th colspan="2">2.1.3</th>
+ <th colspan="2">2.2</th>
+ </tr>
+ <tr>
+ <th>Type</th>
+ <th>Column(s)</th>
+ <th>Type</th>
+ <th>Column(s)</th>
+ </tr>
+ <tr>
+ <td>SECURITY_PRINCIPAL</td>
+ <td>UIX_SECURITY_PRINCIPAL</td>
+ <td>unique</td>
+ <td>FULL_PATH</td>
+ <td>unique</td>
+ <td>PRINCIPAL_TYPE, PRINCIPAL_NAME</td>
+ </tr>
+ </table>
+ </subsection>
+ </section>
<section name="Data Migrating from Jetspeed 2.1.2 to 2.1.3">
- <p>The following tables describe database schema changes from version 2.1.3 to version 2.1.2.
+ <p>The following tables describe database schema changes from version 2.1.2 to version 2.1.3.
</p>
<subsection name="Added Indexes">
<table>
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org