Author: bpapez
Date: Mon Jul 2 16:30:21 2007
New Revision: 17857
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17857&repname=
=3Djahia
Log:
refactor and optimize some jahia_links database access methods
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/CrossRefer=
enceManager.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ObjectLink=
.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aLinkDAO.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaLinkManager.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/categorie=
s/CategoryServiceImpl.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/Cros=
sReferenceManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/content/CrossReferenceManager.java&rev=3D17=
857&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/CrossRefer=
enceManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/CrossRefer=
enceManager.java Mon Jul 2 16:30:21 2007
@@ -48,7 +48,8 @@
// the preloaded object link by reference object.
public static final String PRELOADED_OBJECT_LINKS_BY_REF_OBJECT_CACHE =
=3D "PreloadedObjectLinksByRefObjectCache";
=
-
+ private static final String CONTENT_PAGE_PREFIX =3D "ContentPage";
+ =
/** the unique instance of this class */
private static CrossReferenceManager instance;
=
@@ -94,7 +95,7 @@
logger.debug ("Retrieving xrefs for object " + objectKey);
=
// let's try to load it from the database
- List leftLinks =3D linkManager.findByRightObjectKey (objectKey);
+ List leftLinks =3D linkManager.findByRightAndLikeLeftObjectKey (o=
bjectKey, CONTENT_PAGE_PREFIX);
Set set =3D new HashSet ();
Iterator leftLinksIter =3D leftLinks.listIterator ();
while (leftLinksIter.hasNext ()) {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/Obje=
ctLink.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/content/ObjectLink.java&rev=3D17857&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ObjectLink=
.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/content/ObjectLink=
.java Mon Jul 2 16:30:21 2007
@@ -145,6 +145,14 @@
return linkManager.findByTypeAndRightObjectKey(type, rightObjectKe=
y);
}
=
+ static public List findByTypeAndRightAndLikeLeftObjectKey(String type,
+ ObjectKey rightObjectKey, String leftObjectKey)
+ throws JahiaException {
+ JahiaLinkManager linkManager =3D (JahiaLinkManager) SpringContextS=
ingleton.getInstance().getContext().getBean(JahiaLinkManager.class.getName(=
)); =
+ return linkManager.findByTypeAndRightAndLikeLeftObjectKey(type,
+ rightObjectKey, leftObjectKey);
+ } =
+ =
public void save()
throws JahiaException {
JahiaLinkManager linkManager =3D (JahiaLinkManager) SpringContextS=
ingleton.getInstance().getContext().getBean(JahiaLinkManager.class.getName(=
));
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/da=
o/JahiaLinkDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/dao/JahiaLinkDAO.java&rev=3D17857=
&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aLinkDAO.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aLinkDAO.java Mon Jul 2 16:30:21 2007
@@ -70,6 +70,14 @@
return hibernateTemplate.find("from JahiaLink link where link.righ=
tOid=3D?", objectKey);
}
=
+ public List findByRightAndLikeLeftObjectKey(String objectKey, String l=
eftKey) {
+ HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
+ hibernateTemplate.setCacheQueries(true);
+ hibernateTemplate.setFlushMode(HibernateTemplate.FLUSH_NEVER);
+ return hibernateTemplate.find("from JahiaLink link where link.righ=
tOid=3D? and link.leftOid like ?", =
+ new Object[]{objectKey, leftKey});
+ } =
+ =
public List findByTypeAndLeftAndLikeRightObjectKeys(String leftKey, St=
ring rightKey, String type) {
HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
hibernateTemplate.setCacheQueries(true);
@@ -112,6 +120,14 @@
new Object[]{rightKey, type});
}
=
+ public List findByTypeAndRightAndLikeLeftObjectKey(String rightKey, St=
ring leftKey, String type) {
+ HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
+ hibernateTemplate.setCacheQueries(true);
+ hibernateTemplate.setFlushMode(HibernateTemplate.FLUSH_NEVER);
+ return hibernateTemplate.find("from JahiaLink link where link.type=
=3D? and link.rightOid=3D? and link.leftOid like ?",
+ new Object[]{type, rightKey, leftKey=
});
+ } =
+ =
public List findByTypeAndRightObjectKeys(String[] rightKeys, String ty=
pe) {
HibernateTemplate hibernateTemplate =3D getHibernateTemplate();
hibernateTemplate.setCacheQueries(true);
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaLinkManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaLinkManager.java&rev=
=3D17857&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaLinkManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaLinkManager.java Mon Jul 2 16:30:21 2007
@@ -167,22 +167,31 @@
return objectLinks;
}
=
+ public List findByRightAndLikeLeftObjectKey(ObjectKey objectKey, Strin=
g likeLeftObjectKey) {
+ List jahiaLinks =3D dao.findByRightAndLikeLeftObjectKey(objectKey
+ .toString(), likeLeftObjectKey);
+ List objectLinks =3D new FastArrayList(jahiaLinks.size());
+ for (int i =3D 0; i < jahiaLinks.size(); i++) {
+ JahiaLink jahiaLink =3D (JahiaLink) jahiaLinks.get(i);
+ ObjectLink objectLink =3D fillObjectLink(jahiaLink);
+ objectLinks.add(objectLink);
+ }
+ return objectLinks;
+ }
+ =
public List findByTypeAndLeftAndLikeRightObjectKeys(String type, Objec=
tKey leftObjectKey, String rightObjectKey) {
if (!typeExists(type)) {
return emptyList;
}
- List objectLinks =3D null;
=
- if (objectLinks =3D=3D null) {
- List jahiaLinks =3D dao.findByTypeAndLeftAndLikeRightObjectKey=
s(leftObjectKey.toString(), rightObjectKey,
- type=
);
- objectLinks =3D new FastArrayList(jahiaLinks.size());
- for (int i =3D 0; i < jahiaLinks.size(); i++) {
- JahiaLink jahiaLink =3D (JahiaLink) jahiaLinks.get(i);
- ObjectLink objectLink =3D fillObjectLink(jahiaLink);
- objectLinks.add(objectLink);
- }
- }
+ List jahiaLinks =3D dao.findByTypeAndLeftAndLikeRightObjectKeys(
+ leftObjectKey.toString(), rightObjectKey, type);
+ List objectLinks =3D new FastArrayList(jahiaLinks.size());
+ for (int i =3D 0; i < jahiaLinks.size(); i++) {
+ JahiaLink jahiaLink =3D (JahiaLink) jahiaLinks.get(i);
+ ObjectLink objectLink =3D fillObjectLink(jahiaLink);
+ objectLinks.add(objectLink);
+ }
return objectLinks;
} =
=
@@ -252,6 +261,24 @@
}
return objectLinks;
}
+ =
+ public List findByTypeAndRightAndLikeLeftObjectKey(String type, Object=
Key rightObjectKey, String leftObjectKey) {
+ if (!typeExists(type)) {
+ return emptyList;
+ }
+ List objectLinks =3D null;
+
+ if (type.equals(StructuralRelationship.ACTIVATION_PICKER_LINK)) {
+ List jahiaLinks =3D dao.findByTypeAndRightAndLikeLeftObjectKey=
(rightObjectKey.toString(), leftObjectKey, type);
+ objectLinks =3D new FastArrayList(jahiaLinks.size());
+ for (int i =3D 0; i < jahiaLinks.size(); i++) {
+ JahiaLink jahiaLink =3D (JahiaLink) jahiaLinks.get(i);
+ ObjectLink objectLink =3D fillObjectLink(jahiaLink);
+ objectLinks.add(objectLink);
+ }
+ }
+ return objectLinks;
+ } =
=
public List findByTypeAndRightObjectKey(String type, ObjectKey rightOb=
jectKey) {
if (!typeExists(type)) {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cat=
egories/CategoryServiceImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/categories/CategoryServiceImpl.jav=
a&rev=3D17857&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/categorie=
s/CategoryServiceImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/categorie=
s/CategoryServiceImpl.java Mon Jul 2 16:30:21 2007
@@ -227,7 +227,6 @@
return;
}
=
- Date currentDate =3D new Date ();
ObjectLink.createLink(parentCategory.getObjectKey(), childKey, CAT=
EGORY_LINKTYPE,
new HashMap());
lastModifCache.flush();
@@ -254,18 +253,16 @@
public Set getObjectCategories (ObjectKey objectKey)
throws JahiaException {
Set categorySet =3D new HashSet ();
- List links =3D ObjectLink.findByTypeAndRightObjectKey (CATEGORY_LI=
NKTYPE, objectKey);
+ List links =3D ObjectLink.findByTypeAndRightAndLikeLeftObjectKey (=
CATEGORY_LINKTYPE, objectKey, CATEGORY_CHILD_PREFIX);
Iterator linkIter =3D links.iterator ();
while (linkIter.hasNext ()) {
ObjectLink curLink =3D (ObjectLink) linkIter.next ();
- ObjectKey leftKey =3D curLink.getLeftObjectKey ();
- if (leftKey instanceof CategoryKey) {
- CategoryKey curCatKey =3D (CategoryKey) leftKey;
- Category curCategory =3D getCategory (Integer.parseInt (cu=
rCatKey.getIDInType ()));
- if (curCategory !=3D null) {
- categorySet.add (curCategory);
- }
- }
+ CategoryKey curCatKey =3D (CategoryKey) curLink.getLeftObjectK=
ey();
+ Category curCategory =3D
getCategory(Integer.parseInt(curCatKey
+ .getIDInType()));
+ if (curCategory !=3D null) {
+ categorySet.add(curCategory);
+ }
}
return categorySet;
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list