mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.2 to HEAD
8146: Interim checkin for Oracle upgrade scripts. 8150: AR-1905 8151: AR-1956 8152: Correct I18N when reporting patch description 8153: QName script for Oracle along with fixes for unique constraints on assoc tables 8155: Upgrade scripts for Oracle V2.2 - almost there 8164: AWC-1633: Unable to edit rule added via web service 8166: V2.2 upgrade scripts for MySQL and Oracle 8170: AWC-1515: E-mail doesn't reach user's mail box, if it was created with the help of templates 8174: Fix for AWC-798 8180: Fix for AWC-1843 8183: Fixes for different unique index names on alf_child_assoc 8189: AWC-1719: Need to alllow Rules to account for a space being deleted 8249: Fixed handling of empty namespaces on Oracle 8259: Fixes for null namespaces in QName 8360: Modified alf_audit_date columns and added patch 8404: Fix AR-2133: Fix handling of empty namespaces during upgrade git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8481 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -79,9 +79,11 @@ public class HibernateQNameDAOImpl extends HibernateDaoSupport implements QNameD
|
||||
{
|
||||
public Object doInHibernate(Session session)
|
||||
{
|
||||
String oracleSafeUri = (namespaceUri.length() == 0) ? NamespaceEntityImpl.EMPTY_URI_SUBSTITUTE : namespaceUri;
|
||||
|
||||
Query query = session
|
||||
.getNamedQuery(HibernateQNameDAOImpl.QUERY_GET_NS_BY_URI)
|
||||
.setString("namespaceUri", namespaceUri);
|
||||
.setString("namespaceUri", oracleSafeUri);
|
||||
return query.uniqueResult();
|
||||
}
|
||||
};
|
||||
@@ -150,9 +152,12 @@ public class HibernateQNameDAOImpl extends HibernateDaoSupport implements QNameD
|
||||
{
|
||||
public Object doInHibernate(Session session)
|
||||
{
|
||||
String namespaceUri = qname.getNamespaceURI();
|
||||
String oracleSafeUri = (namespaceUri.length() == 0) ? NamespaceEntityImpl.EMPTY_URI_SUBSTITUTE : namespaceUri;
|
||||
|
||||
Query query = session
|
||||
.getNamedQuery(HibernateQNameDAOImpl.QUERY_GET_QNAME_BY_URI_AND_LOCALNAME)
|
||||
.setString("namespaceUri", qname.getNamespaceURI())
|
||||
.setString("namespaceUri", oracleSafeUri)
|
||||
.setString("localName", qname.getLocalName());
|
||||
return query.uniqueResult();
|
||||
}
|
||||
|
@@ -37,10 +37,12 @@ import org.alfresco.repo.domain.QNameEntity;
|
||||
public class NamespaceEntityImpl implements NamespaceEntity, Serializable
|
||||
{
|
||||
private static final long serialVersionUID = -6781559184013949845L;
|
||||
|
||||
protected static final String EMPTY_URI_SUBSTITUTE = ".empty";
|
||||
|
||||
private Long id;
|
||||
private Long version;
|
||||
private String uri;
|
||||
private String safeUri;
|
||||
|
||||
public NamespaceEntityImpl()
|
||||
{
|
||||
@@ -51,7 +53,7 @@ public class NamespaceEntityImpl implements NamespaceEntity, Serializable
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
return uri;
|
||||
return getUri();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,7 +82,7 @@ public class NamespaceEntityImpl implements NamespaceEntity, Serializable
|
||||
*/
|
||||
public int hashCode()
|
||||
{
|
||||
return uri.hashCode();
|
||||
return safeUri.hashCode();
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
@@ -102,22 +104,33 @@ public class NamespaceEntityImpl implements NamespaceEntity, Serializable
|
||||
return version;
|
||||
}
|
||||
|
||||
/**
|
||||
* For Hibernate use
|
||||
*/
|
||||
/** For Hibernate use */
|
||||
@SuppressWarnings("unused")
|
||||
private void setVersion(Long version)
|
||||
{
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
/** For Hibernate use */
|
||||
@SuppressWarnings("unused")
|
||||
private String getSafeUri()
|
||||
{
|
||||
return safeUri;
|
||||
}
|
||||
|
||||
/** For Hibernate use */
|
||||
private void setSafeUri(String safeUri)
|
||||
{
|
||||
this.safeUri = safeUri;
|
||||
}
|
||||
|
||||
public String getUri()
|
||||
{
|
||||
return uri;
|
||||
return safeUri.equals(EMPTY_URI_SUBSTITUTE) ? "" : safeUri;
|
||||
}
|
||||
|
||||
public void setUri(String uri)
|
||||
{
|
||||
this.uri = uri;
|
||||
setSafeUri(uri.length() == 0 ? EMPTY_URI_SUBSTITUTE : uri);
|
||||
}
|
||||
}
|
@@ -21,7 +21,7 @@
|
||||
</id>
|
||||
<!-- Namespace URL must be unique -->
|
||||
<natural-id mutable="true">
|
||||
<property name="uri" column="uri" type="string" length="100" not-null="true" />
|
||||
<property name="safeUri" column="uri" type="string" length="100" not-null="true" />
|
||||
</natural-id>
|
||||
<!-- Optimistic locking -->
|
||||
<version column="version" name="version" type="long" />
|
||||
@@ -65,7 +65,7 @@
|
||||
from
|
||||
org.alfresco.repo.domain.hibernate.NamespaceEntityImpl as namespace
|
||||
where
|
||||
namespace.uri = :namespaceUri
|
||||
namespace.safeUri = :namespaceUri
|
||||
</query>
|
||||
|
||||
<query name="qname.GetQNameByUriAndLocalName" cacheable="false">
|
||||
@@ -75,7 +75,7 @@
|
||||
org.alfresco.repo.domain.hibernate.QNameEntityImpl as qname
|
||||
join qname.namespace as namespace
|
||||
where
|
||||
namespace.uri = :namespaceUri and
|
||||
namespace.safeUri = :namespaceUri and
|
||||
qname.localName = :localName
|
||||
</query>
|
||||
|
||||
|
Reference in New Issue
Block a user