Author: shuber
Date: Thu Oct 18 16:18:45 2007
New Revision: 18933
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18933&repname=
=3Djahia
Log:
Synchronization optimizations. ServicesRegistry now uses an internal cache =
that is not synchronized, because when calling the getBean method on a Spri=
ng ApplicationContext we were accessing a synchronized map. Also removed sy=
nchronized getInstance() call on JahiaACLManagerService. Refactored some cl=
asses to store locally references to the services they need.
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/containers/Ja=
hiaContainerSet.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/Service=
sRegistry.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl/Jahia=
ACLManagerService.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/container=
s/ContainerFactory.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fields/Co=
ntentField.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/contain=
ers/JahiaContainerSet.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/containers/JahiaContainerSet.java&rev=
=3D18933&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/data/containers/Ja=
hiaContainerSet.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/containers/Ja=
hiaContainerSet.java Thu Oct 18 16:18:45 2007
@@ -108,6 +108,8 @@
*/
private Map cachedContainerListsFromContainers;
=
+ private JahiaContainersService jahiaContainersService;
+
//--------------------------------------------------------------------=
-----
/***
* constructor
@@ -123,6 +125,7 @@
this.declaredFieldDefProps =3D new Hashtable();
this.cachedFieldsFromContainers =3D new Hashtable();
this.cachedContainersFromContainerLists =3D new Hashtable();
+ this.jahiaContainersService =3D ServicesRegistry.getInstance().get=
JahiaContainersService();
ApplicationContext context =3D SpringContextSingleton.getInstance(=
).getContext();
=
/**
@@ -816,8 +819,7 @@
=
// last, we create a new fake container list if
the
// container list is empty
- int clistID =3D ServicesRegistry.getInstance()
-
.getJahiaContainersService().getContainerListID(
+ int clistID =3D
jahiaContainersService.getContainerListID(
containerName,
jData.getProcessingContext().getPage().getID());
if (clistID =3D=3D -1) {
@@ -1181,8 +1183,7 @@
containerName);
=
if (theContainerList =3D=3D null) {
- int clistID =3D ServicesRegistry.getInstance().
- getJahiaContainersService().
+ int clistID =3D jahiaContainersService.
getContainerListID(containerName,
jData.getProcessingContext().getPage().get=
ID());
if (clistID !=3D -1) {
@@ -1190,16 +1191,12 @@
EntryLoadRequest ctnLoadRequest =3D jData.getProcessin=
gContext().getEntryLoadRequest();
if (ctnLoadRequest.isVersioned()) {
// does the container exists at this archive date
- theContainerList =3D ServicesRegistry.getInstance(=
).
- getJahiaContainersService()
- .loadContainerListInfo(clistID,
+ theContainerList =3D jahiaContainersService.loadCo=
ntainerListInfo(clistID,
ctnLoadRequest);
}
if (ctnLoadRequest.isVersioned() && theContainerList =
=3D=3D null) {
// return the active version of the container list=
but without any containers !
- theContainerList =3D ServicesRegistry.getInstance(=
).
- getJahiaContainersService()
- .loadContainerListInfo(clistID);
+ theContainerList =3D jahiaContainersService.loadCo=
ntainerListInfo(clistID);
// to avoid reloading the container
theContainerList.setIsContainersLoaded(true);
} else {
@@ -1234,7 +1231,7 @@
if (theContainerList !=3D null && theContainerList.getID() !=
=3D 0
&& !theContainerList.getContentContainerList().hasActi=
veOrStagingEntries()) {
// create staged entries
- ServicesRegistry.getInstance().getJahiaContainersService()=
.saveContainerListInfo(
+ jahiaContainersService.saveContainerListInfo(
theContainerList, theContainerList.getACL().getPar=
entID(),
jData.getProcessingContext());
}
@@ -1360,8 +1357,7 @@
getInstance().
getDefinition(jData.getProcessingContext().
getSiteID(), containerName);
- SortedSet parentSubContainerDefinitions =3D ServicesRegistry.
- getInstance().getJahiaContainersService().
+ SortedSet parentSubContainerDefinitions =3D jahiaContainersSer=
vice.
getContainerDefinitionParents(theDef.getID());
/**
* todo possible bug here, should we check the parent sub
@@ -1379,8 +1375,7 @@
}
}
=
- int containerListID =3D ServicesRegistry.getInstance().
- getJahiaContainersService().
+ int containerListID =3D jahiaContainersService.
getContainerListID(containerName, pageID);
if (containerListID !=3D -1) {
// let's update cross reference list
@@ -1402,16 +1397,12 @@
getEntryLoadRequest();
if (ctnLoadRequest.isVersioned()) {
// does the container exists at this archive date
- theContainerList =3D ServicesRegistry.getInstance().
- getJahiaContainersService()
- .loadContainerListInfo(containerListID,
+ theContainerList =3D jahiaContainersService.loadContai=
nerListInfo(containerListID,
ctnLoadRequest);
}
if (ctnLoadRequest.isVersioned() && theContainerList =3D=
=3D null) {
// return the active version of the container list but=
without any containers !
- theContainerList =3D ServicesRegistry.getInstance().
- getJahiaContainersService()
- .loadContainerListInfo(containerListID);
+ theContainerList =3D jahiaContainersService.loadContai=
nerListInfo(containerListID);
// to avoid reload of containers
theContainerList.setIsContainersLoaded(true);
} else {
@@ -1470,7 +1461,7 @@
0,
pageID, theDef.getID(), 0);
=
- ServicesRegistry.getInstance().getJahiaContainersService().
+ jahiaContainersService.
saveContainerListInfo(fakeContainerList, pageACLID=
, this.jData.getProcessingContext());
addContainerList(fakeContainerList);
=
@@ -1598,8 +1589,6 @@
=
public JahiaContainerList ensureContainerList(JahiaContainerDefinition=
def, int page, int parent) throws JahiaException {
synchronized (JahiaContainerSet.CLASS_NAME) {
- JahiaContainersService jahiaContainersService =3D ServicesRegi=
stry.getInstance().
- getJahiaContainersService();
int id =3D -1;
if (parent =3D=3D 0) {
id =3D jahiaContainersService.getContainerListID(def.getNa=
me(), page);
@@ -1625,7 +1614,7 @@
this.addContainerList(list);
=
int containerType =3D def.getContainerListType();
- if (ServicesRegistry.getInstance().getJahiaContainersServi=
ce()
+ if (jahiaContainersService
.getctnidsInList(list.getID()).size() =3D=3D 0
&& ((containerType & JahiaContainerDefinition.MAND=
ATORY_TYPE) !=3D 0)) {
=
@@ -1637,11 +1626,11 @@
list.getAclID(),
list.getctndefid(),
0, 2);
- ServicesRegistry.getInstance().getJahiaContainersServi=
ce().
+ jahiaContainersService.
saveContainer(container, list.getID(), jData.g=
etProcessingContext());
container.setLanguageCode(jData.getProcessingContext()=
.getLocale().toString());
container.fieldsStructureCheck(jData.getProcessingCont=
ext());
- ServicesRegistry.getInstance().getJahiaContainersServi=
ce().
+ jahiaContainersService.
saveContainer(container, list.getID(), jData.g=
etProcessingContext());
list.addContainer(container);
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/S=
ervicesRegistry.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/registries/ServicesRegistry.java&rev=3D1893=
3&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/registries/Service=
sRegistry.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/Service=
sRegistry.java Thu Oct 18 16:18:45 2007
@@ -75,9 +75,7 @@
import org.jahia.settings.SettingsBean;
import org.springframework.beans.BeansException;
=
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Set;
+import java.util.*;
=
/**
* The ServicesRegistry class that give a unique access point to Jahia Ser=
vices.
@@ -230,6 +228,9 @@
"JahiaStatisticsManagerService";
// Nicol=C3=83=C2=A1s Charczewski - Neoris Argentina - added 07/04/200=
6 - End
=
+ // This map is an optimization to avoid synchronization issues.
+ private Map servicesCache =3D new HashMap();
+
/** Return the unique instance of this class.
*
* @return the unique instance of this class
@@ -279,7 +280,13 @@
* @return the service instance
*/
public JahiaService getService (String serviceName) {
- return (JahiaService) SpringContextSingleton.getInstance().getCont=
ext().getBean(serviceName);
+ JahiaService jahiaService =3D (JahiaService) servicesCache.get(ser=
viceName);
+ if (jahiaService !=3D null) {
+ return jahiaService;
+ }
+ jahiaService =3D (JahiaService) SpringContextSingleton.getInstance=
().getContext().getBean(serviceName);
+ servicesCache.put(serviceName, jahiaService);
+ return jahiaService;
} // end getService
=
=
@@ -586,6 +593,7 @@
JahiaService service =3D null;
try {
service =3D (JahiaService) SpringContextSingleton.getInstance(=
).getContext().getBean(serviceName,JahiaService.class);
+ servicesCache.put(serviceName, service);
=
service.start();
=
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl=
/JahiaACLManagerService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/acl/JahiaACLManagerService.java&re=
v=3D18933&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/acl/Jahia=
ACLManagerService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl/Jahia=
ACLManagerService.java Thu Oct 18 16:18:45 2007
@@ -58,7 +58,7 @@
private static final org.apache.log4j.Logger logger =3D
org.apache.log4j.Logger.getLogger(JahiaACLManagerService.class=
);
=
- private static JahiaACLManagerService mACLService;
+ private static JahiaACLManagerService mACLService =3D new JahiaACLMana=
gerService();
=
// the preloaded container acls by page.
public static final String PRELOADED_CTNR_ACL_BY_PAGE_CACHE =3D "Prelo=
adedCtnrACLByPageCache";
@@ -98,9 +98,7 @@
*
* @throws JahiaException
*/
- protected JahiaACLManagerService()
- throws JahiaException {
-
+ protected JahiaACLManagerService() {
}
=
=
@@ -141,16 +139,7 @@
*
* @return Return the reterence on the ACL Manager Service.
*/
- public static synchronized JahiaACLManagerService getInstance() {
- if (mACLService =3D=3D null) {
- try {
- mACLService =3D new JahiaACLManagerService();
-
- } catch (JahiaException ex) {
- logger.fatal("Could not instanciate the ACL Manager Servic=
e!!");
- return null;
- }
- }
+ public static JahiaACLManagerService getInstance() {
return mACLService;
}
=
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/con=
tainers/ContainerFactory.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/containers/ContainerFactory.java&r=
ev=3D18933&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/container=
s/ContainerFactory.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/container=
s/ContainerFactory.java Thu Oct 18 16:18:45 2007
@@ -61,6 +61,7 @@
private JahiaContainerManager containerManager;
private JahiaContainerListManager containerListManager;
private JahiaObjectManager jahiaObjectManager;
+ private JahiaContainersService jahiaContainersService;
//--------------------------------------------------------------------=
------
=
/**
@@ -71,6 +72,7 @@
containerManager =3D (JahiaContainerManager) context.getBean(Jahia=
ContainerManager.class.getName());
containerListManager =3D (JahiaContainerListManager) context.getBe=
an(JahiaContainerListManager.class.getName());
jahiaObjectManager =3D (JahiaObjectManager) context.getBean(JahiaO=
bjectManager.class.getName());
+ jahiaContainersService =3D ServicesRegistry.getInstance().getJahia=
ContainersService();
}
=
public static synchronized ContainerFactory getInstance() {
@@ -109,8 +111,7 @@
container.clearFields();
container.setFieldsLoaded(true);
// not already in fullyLoadedList -> load it
- final List fieldIDs =3D ServicesRegistry.getInstance()
- .getJahiaContainersService().getFieldIDsInContaine=
r(
+ final List fieldIDs =3D jahiaContainersService.getFieldIDs=
InContainer(
container.getID(), loadRequest);
for (int i =3D 0; i < fieldIDs.size(); i++) {
final int fieldID =3D ((Integer) fieldIDs.get(i)).intV=
alue();
@@ -128,8 +129,6 @@
synchronized (container) {
container.clearContainerLists();
container.setContainerListsLoaded(true);
- final JahiaContainersService ctnServ =3D ServicesRegistry
- .getInstance().getJahiaContainersService();
=
// load container lists
// load the the containers for this one
@@ -140,7 +139,7 @@
final int size =3D listIDs.size();
for (int i =3D 0; i < size; i++) {
final Integer listID =3D (Integer) listIDs.get(i);
- final JahiaContainerList cList =3D ctnServ.loadContain=
erList(
+ final JahiaContainerList cList =3D jahiaContainersServ=
ice.loadContainerList(
listID.intValue(), loadFlag, jParams, loadRequ=
est,
cachedFieldsFromContainers,
cachedContainersFromContainerLists,
@@ -227,7 +226,7 @@
cachedContainersFromContainerLists);
=
if (ctnids =3D=3D null) {
- ctnids =3D ServicesRegistry.getInstance().getJahiaContainersSe=
rvice().
+ ctnids =3D jahiaContainersService.
getctnidsInList(cList.getID(), loadRequest);
}
if (ctnids =3D=3D null) {
@@ -256,7 +255,7 @@
final Map cachedConta=
inersFromContainerLists,
final Map cachedConta=
inerListsFromContainers)
throws JahiaException {
- JahiaContainerList cList =3D ServicesRegistry.getInstance().getJah=
iaContainersService().
+ JahiaContainerList cList =3D jahiaContainersService.
loadContainerListInfo(ctnListID, loadRequest);
/*
* We bybass lazy load here! =
@@ -381,12 +380,10 @@
=
try {
if (resultBitSet =3D=3D null) {
- return ServicesRegistry.getInstance()
- .getJahiaContainersService().getctnidsInLi=
st(
+ return jahiaContainersService.getctnidsInList(
clist.getID(), loadVersion);
} else {
- return ServicesRegistry.getInstance()
- .getJahiaContainersService().getCtnIds(
+ return jahiaContainersService.getCtnIds(
resultBitSet, loadVersion);
}
} catch (Throwable t) {
@@ -836,7 +833,6 @@
}
}
=
- final JahiaContainersService jahiaContainersService =3D ServicesRe=
gistry.getInstance().getJahiaContainersService();
final Vector v =3D new Vector();
final Map loadedContainers =3D new HashMap();
for (int i =3D 0; i < ctnids.size(); i++) {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fie=
lds/ContentField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/fields/ContentField.java&rev=3D189=
33&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/fields/Co=
ntentField.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/fields/Co=
ntentField.java Thu Oct 18 16:18:45 2007
@@ -37,6 +37,7 @@
import org.jahia.services.acl.JahiaBaseACL;
import org.jahia.services.containers.ContentContainer;
import org.jahia.services.containers.FieldsChangeEventListener;
+import org.jahia.services.containers.JahiaContainersService;
import org.jahia.services.pages.ContentPage;
import org.jahia.services.sites.JahiaSite;
import org.jahia.services.sites.SiteLanguageSettings;
@@ -44,6 +45,8 @@
import org.jahia.services.version.*;
import org.jahia.services.workflow.WorkflowEvent;
import org.jahia.services.search.indexingscheduler.RuleEvaluationContext;
+import org.jahia.services.search.JahiaSearchService;
+import org.jahia.services.events.JahiaEventGeneratorService;
import org.jahia.utils.xml.XMLSerializationOptions;
import org.jahia.utils.xml.XmlWriter;
import org.jahia.bin.Jahia;
@@ -91,6 +94,12 @@
private transient JahiaFieldsDataManager fieldsDataManager;
private ContentObject parent;
=
+ private static transient JahiaVersionService jahiaVersionService;
+ private static transient JahiaSearchService jahiaSearchService;
+ private static transient JahiaEventGeneratorService jahiaEventService;
+ private static transient JahiaFieldService jahiaFieldService;
+ private static transient JahiaContainersService jahiaContainersService;
+
protected ObjectKey metadataOwnerObjectKey;
=
static {
@@ -221,6 +230,7 @@
this.loadedDBValues =3D new Hashtable(activeAndStagedDBValues);
=
fieldsDataManager =3D (JahiaFieldsDataManager) SpringContextSingle=
ton.getInstance().getContext().getBean(JahiaFieldsDataManager.class.getName=
());
+
}
=
/**
@@ -253,7 +263,7 @@
entryStateables.addAll (versioningEntryStates);
}
// faire le resolving STAGING/ACTIVE/MULTILANGUE a partir de loade=
dDBValues
- return (ContentObjectEntryState) ServicesRegistry.getInstance ().g=
etJahiaVersionService ().resolveEntry (
+ return (ContentObjectEntryState) getJahiaVersionService ().resolve=
Entry (
entryStateables, loadRequest);
}
=
@@ -362,7 +372,7 @@
=
// update the search index
/*
- ServicesRegistry.getInstance ().getJahiaSearchService ()
+ getJahiaSearchService ()
.removeFieldFromSearchEngine (this.getSiteID (), this.=
getID (),
ContentObjectEntryState.WORKFLOW_STATE_START_S=
TAGING, languageCode);
*/
@@ -371,11 +381,11 @@
=
if (!isMetadata()) {
WorkflowEvent theEvent =3D new WorkflowEvent (this, this, =
user, languageCode, true);
- ServicesRegistry.getInstance ().getJahiaEventService ().fi=
reObjectChanged(theEvent);
+ getJahiaEventService ().fireObjectChanged(theEvent);
} else {
RuleEvaluationContext ctx =3D new RuleEvaluationContext(th=
is.getObjectKey(),this,
Jahia.getThreadParamBean(),user);
- ServicesRegistry.getInstance ().getJahiaSearchService ()
+ getJahiaSearchService ()
.indexContentObject(this, user, ctx);
}
=
@@ -416,7 +426,7 @@
}
} else {
JahiaEvent theEvent =3D new JahiaEvent(this, null, this);
- ServicesRegistry.getInstance ().getJahiaEventService ().fi=
reBeforeStagingContentIsDeleted(theEvent);
+ getJahiaEventService ().fireBeforeStagingContentIsDeleted(=
theEvent);
=
Set tempLanguageCodes =3D new HashSet ();
tempLanguageCodes.add (saveRequest.getLanguageCode ());
@@ -425,11 +435,11 @@
=
if (!isMetadata()) {
WorkflowEvent theEvent =3D new WorkflowEvent (this, this, =
user, curLanguageCode, true);
- ServicesRegistry.getInstance ().getJahiaEventService ().fi=
reObjectChanged(theEvent);
+ getJahiaEventService ().fireObjectChanged(theEvent);
} else {
RuleEvaluationContext ctx =3D new RuleEvaluationContext(th=
is.getObjectKey(),this,
Jahia.getThreadParamBean(),user);
- ServicesRegistry.getInstance ().getJahiaSearchService ()
+ getJahiaSearchService ()
.indexContentObject(this, user, ctx);
}
}
@@ -441,7 +451,7 @@
notifyFieldUpdate();
=
// handled by previous objectChanged event
- //ServicesRegistry.getInstance ().getJahiaSearchService ().indexCo=
ntentObject(this, user);
+ // getJahiaSearchService ().indexContentObject(this, user);
=
}
=
@@ -495,7 +505,7 @@
}
=
=
- boolean versioningEnabled =3D ServicesRegistry.getInstance ().getJ=
ahiaVersionService ().isVersioningEnabled (jahiaID);
+ boolean versioningEnabled =3D getJahiaVersionService ().isVersioni=
ngEnabled (jahiaID);
Vector stagedEntries =3D new Vector ();
=
boolean stateModified =3D false;
@@ -682,12 +692,10 @@
=
/** Remove field from search engine */
/*
- ServicesRegistry.getInstance ()
- .getJahiaSearchService ().removeFieldFromSearchEngine (thi=
s);
+ getJahiaSearchService ().removeFieldFromSearchEngine (this);
=
if (!this.willBeCompletelyDeleted (null, null)) {
- ServicesRegistry.getInstance ()
- .getJahiaSearchService().indexContainer(this.getContai=
nerID(), false, jParams);
+ getJahiaSearchService().indexContainer(this.getContainerID(), =
false, jParams);
}*/
=
if (stateModified) {
@@ -707,13 +715,11 @@
} else {
RuleEvaluationContext ctx =3D new RuleEvaluationContext(this.g=
etObjectKey(),this,
jParams,jParams.getUser());
- ServicesRegistry.getInstance ()
- .getJahiaSearchService().indexContentObject(this, jPar=
ams.getUser(), ctx);
+ getJahiaSearchService().indexContentObject(this, jParams.getUs=
er(), ctx);
}
=
// handled by contentActivationEvent
- //ServicesRegistry.getInstance ()
- // .getJahiaSearchService().indexContentObject(this, jParam=
s.getUser());
+ // getJahiaSearchService().indexContentObject(this, jParams=
.getUser());
=
syncClusterOnValidation();
return activationResults;
@@ -905,17 +911,16 @@
=
/** Remove field from search engine */
/*
- ServicesRegistry.getInstance ()
- .getJahiaSearchService().removeContentObject(this);*/
+ getJahiaSearchService().removeContentObject(this);*/
=
}
=
ContentUndoStagingEvent jahiaEvent =3D new ContentUndoStagingEvent=
(this, this.getSiteID(), jParams);
- ServicesRegistry.getInstance().getJahiaEventService()
+ getJahiaEventService()
.fireContentObjectUndoStaging(jahiaEvent);
// handled by previous event
// update the search index
- //ServicesRegistry.getInstance ().getJahiaSearchService()
+ //getJahiaSearchService()
// .indexContentObject(this, jParams.getUser());
=
}
@@ -1350,7 +1355,7 @@
=
if (!isMetadata()) {
WorkflowEvent theEvent =3D new WorkflowEvent(this, this, saveR=
equest.getUser(), saveRequest.getLanguageCode(), false);
- ServicesRegistry.getInstance ().getJahiaEventService ().fireOb=
jectChanged(theEvent);
+ getJahiaEventService ().fireObjectChanged(theEvent);
} else {
JahiaFieldDefinition d =3D (JahiaFieldDefinition) JahiaFieldDe=
finition.getChildInstance(""+ getDefinitionID(null));
if (!systemMetadata.contains(d.getName())) {
@@ -1363,7 +1368,7 @@
if (((Integer)ls.get(language)).intValue() =3D=3D =
EntryLoadRequest.ACTIVE_WORKFLOW_STATE) {
c.createStaging(language);
WorkflowEvent theEvent =3D new WorkflowEvent(t=
his, c, saveRequest.getUser(), saveRequest.getLanguageCode(), false);
- ServicesRegistry.getInstance ().getJahiaEventS=
ervice ().fireObjectChanged(theEvent);
+ getJahiaEventService ().fireObjectChanged(theE=
vent);
}
}
} catch (ClassNotFoundException e) {
@@ -1372,7 +1377,7 @@
=
}
// stopWatch.start("index postSet");
-// ServicesRegistry.getInstance().getJahiaSearchService()
+// getJahiaSearchService()
// .indexContentObject(this,saveRequest.getUser());
// stopWatch.stop();
}
@@ -1650,7 +1655,7 @@
// 3. create a staged entry with the new type.
// 4. return a new Instance of ContentField of new Type from DB.
=
- boolean versioningEnabled =3D ServicesRegistry.getInstance ().getJ=
ahiaVersionService ().isVersioningEnabled (jahiaID);
+ boolean versioningEnabled =3D getJahiaVersionService ().isVersioni=
ngEnabled (jahiaID);
Set languageCodes =3D new HashSet ();
=
// 1. we backup all active entries that will be replaced
@@ -1952,9 +1957,9 @@
if (result.getStatus() !=3D
RestoreVersionTestResults.FAILED_OPERATION_STATUS ){
try {
- //ServicesRegistry.getInstance().getJahiaSearchService()
+ //getJahiaSearchService()
// .removeFieldFromSearchEngine(this);
- ServicesRegistry.getInstance().getJahiaSearchService().ind=
exContentObject(this, user);
+ getJahiaSearchService().indexContentObject(this, user);
} catch ( Throwable t ){
logger.debug("Error re-indexing the field " + this.getID()
+ " after restore version operation.",t);
@@ -1978,7 +1983,7 @@
*/
public JahiaField getJahiaField (EntryLoadRequest entryLoadRequest)
throws JahiaException {
- return ServicesRegistry.getInstance ().getJahiaFieldService ().
+ return getJahiaFieldService ().
contentFieldToJahiaField (this, entryLoadRequest);
}
=
@@ -2036,7 +2041,7 @@
=
public boolean isMetadata() {
try {
- return ServicesRegistry.getInstance().getJahiaFieldService()
+ return getJahiaFieldService()
.loadFieldDefinition(getFieldDefID()).getJahiaID() =3D=
=3D 0;
} catch (Exception e) {
}
@@ -2057,9 +2062,8 @@
try {
ContentContainer container =3D ContentContainer.getContain=
er(containerID);
if (container.getParentContainerListID() > 0) {
- ServicesRegistry instance =3D ServicesRegistry.getInst=
ance();
- Map properties =3D instance.getJahiaContainersService(=
).getContainerListProperties(container.getParentContainerListID());
- String aclID =3D (String) properties.get("view_field_a=
cl_" + instance.getJahiaFieldService().loadFieldDefinition(fieldDefID).getN=
ame());
+ Map properties =3D getJahiaContainersService().getCont=
ainerListProperties(container.getParentContainerListID());
+ String aclID =3D (String) properties.get("view_field_a=
cl_" + getJahiaFieldService().loadFieldDefinition(fieldDefID).getName());
if (aclID !=3D null && !"".equals(aclID)) {
boolean result =3D false;
try {
@@ -2122,4 +2126,38 @@
fieldsDataManager =3D (JahiaFieldsDataManager) SpringContextSingl=
eton.getInstance().getContext().getBean(JahiaFieldsDataManager.class.getNam=
e());
}
=
+ public static JahiaVersionService getJahiaVersionService() {
+ if (jahiaVersionService =3D=3D null) {
+ jahiaVersionService =3D ServicesRegistry.getInstance().getJahi=
aVersionService();
+ }
+ return jahiaVersionService;
+ }
+
+ public static JahiaSearchService getJahiaSearchService() {
+ if (jahiaSearchService =3D=3D null) {
+ jahiaSearchService =3D ServicesRegistry.getInstance().getJahia=
SearchService();
+ }
+ return jahiaSearchService;
+ }
+
+ public static JahiaEventGeneratorService getJahiaEventService() {
+ if (jahiaEventService =3D=3D null) {
+ jahiaEventService =3D ServicesRegistry.getInstance().getJahiaE=
ventService();
+ }
+ return jahiaEventService;
+ }
+
+ public static JahiaFieldService getJahiaFieldService() {
+ if (jahiaFieldService =3D=3D null) {
+ jahiaFieldService =3D ServicesRegistry.getInstance().getJahiaF=
ieldService();
+ }
+ return jahiaFieldService;
+ }
+
+ public static JahiaContainersService getJahiaContainersService() {
+ if (jahiaContainersService =3D=3D null) {
+ jahiaContainersService =3D ServicesRegistry.getInstance().getJ=
ahiaContainersService();
+ }
+ return jahiaContainersService;
+ }
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list