Author: bpapez
Date: Mon Dec 3 19:43:08 2007
New Revision: 19333
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19333&repname=
=3Djahia
Log:
simplified container and containerlist activation, all job is already done =
by workflowservice (backport of rev.18023)
Modified:
branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/containers/JahiaContainersBaseService.java
Modified: branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/s=
ervices/containers/JahiaContainersBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-VODAFO=
NE-5-0-2-SP%20BRANCH/core/src/java/org/jahia/services/containers/JahiaConta=
inersBaseService.java&rev=3D19333&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-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/containers/JahiaContainersBaseService.java (original)
+++ branches/JAHIA-VODAFONE-5-0-2-SP BRANCH/core/src/java/org/jahia/service=
s/containers/JahiaContainersBaseService.java Mon Dec 3 19:43:08 2007
@@ -1269,86 +1269,6 @@
=
activationResults.merge (contentContainer.isPickedValidForActivati=
on(languageCodes, stateModifContext));
=
- // in the case of a container, if any field isn't activated we don=
't
- // activate the full container.
-
- EntryLoadRequest entryLoadRequest =3D new EntryLoadRequest(EntryLo=
adRequest.STAGING_WORKFLOW_STATE,
- 0, new Ar=
rayList());
- entryLoadRequest.setWithMarkedForDeletion(true);
- entryLoadRequest.setWithDeleted(false);
- entryLoadRequest.getLocales().add(LanguageCodeConverters.languageC=
odeToLocale(ContentObject.
- =
SHARED_LANGUAGE));
- Vector fieldIDs =3D getFieldIDsInContainer(contentContainer.getID(=
),
- entryLoadRequest);
- boolean hasStagingField =3D false;
- int size =3D fieldIDs.size();
- Integer fieldID =3D null;
- WorkflowService workflowService =3D ServicesRegistry.getInstance()=
.getWorkflowService();
- for (int i =3D 0; i < size; i++) {
- fieldID =3D (Integer) fieldIDs.get(i);
- ContentField contentField =3D ContentField.getField(fieldID.in=
tValue());
- if (workflowService.getInheritedMode(contentField)!=3D Workflo=
wService.INACTIVE &&
- contentField.hasStagingEntries()) {
- hasStagingField =3D true;
- break;
- }
- }
-
- // We only activate a container that is marked for delete if all i=
ts fields
- // are themselve deleted ( no staging fields left )
- if ((hasStagingField && contentContainer.isMarkedForDelete())
- || (activationResults.getStatus() =3D=3D
- ActivationTestResults.FAILED_OPERATION_STATUS)) {
- activationResults.setStatus(ActivationTestResults.
- PARTIAL_OPERATION_STATUS);
- try {
- final EngineMessage msg =3D new EngineMessage(
- "org.jahia.services.containers.JahiaContainersBase=
Service.invalidFieldsWarning");
- activationResults
- .appendWarning(new IsValidForActivationResults(
- ContentContainerKey.CONTAINER_TYPE, id, jP=
arams
- .getLocale().toString(), msg));
- } catch (ClassNotFoundException cnfe) {
- logger.debug("Error while creating activation test node re=
sult", cnfe);
- }
- if (stateModified) {
- stateModifContext.popAllLanguages();
- }
- return activationResults;
- }
-
- JahiaContainer theContainer =3D loadContainerInfo(id,
- EntryLoadRequest.S=
TAGED);
-
- if (theContainer =3D=3D null) {
- // dont know what's happening there
- return activationResults;
- }
- /*
- if (activationResults.getStatus() !=3D ActivationTestResul=
ts.COMPLETED_OPERATION_STATUS) {
- return activationResults;
- }
- */
- // we check if the VersionID =3D -1, which mean we should delete t=
he container. to see if we have rights for
- // this container, we load the ACTIVE version, and if the guy has =
write&admin access on it, or if
- // the ACTIVE version doesn't even exist, it's ok.
- boolean isDeleteAllowed =3D false;
- if (theContainer.getVersionID() =3D=3D -1) {
- JahiaContainer tempContainer =3D null;
- try {
- tempContainer =3D loadContainerInfo(id, EntryLoadRequest.C=
URRENT);
- } catch (JahiaException je) {
- }
- if (tempContainer =3D=3D null) {
- isDeleteAllowed =3D true;
- } else if (tempContainer.checkAdminAccess(user) &&
- tempContainer.checkWriteAccess(user)) {
- isDeleteAllowed =3D true;
- }
- }
-// if ((theContainer.checkAdminAccess (user) &&
-// theContainer.checkWriteAccess (user)) || isDeleteAllowed=
) {
- // yes user has access, we can stage this field
// fire event
JahiaEvent theEvent =3D new JahiaEvent(saveVersion, jParams, conte=
ntContainer);
ServicesRegistry.getInstance().getJahiaEventService()
@@ -1360,11 +1280,7 @@
ServicesRegistry.getInstance().getJahiaSearchService().indexContai=
ner(id, user);
=
// invalidate corresponding cache entry
-// containerInfoCache.remove(this.getCacheContainerOrContainerListA=
ctiveEntryKey(id));
-// containerInfoCache.remove(this.getCacheContainerOrContainerListS=
tagingEntryKey(id));
- ContentContainer.invalidateContainerCache(theContainer.getID());
-// c_utils.invalidateCtnIdsByCtnListCache(theContainer.getListI=
D());
-// }
+ ContentContainer.invalidateContainerCache(id);
=
if (stateModified) {
stateModifContext.popAllLanguages();
@@ -2005,14 +1921,6 @@
return activationResults;
}
containerListManager.validateStagedContainerList(containerListID, =
saveVersion);
- ContentContainerList theContainerList =3D ContentContainerList.get=
ContainerList(containerListID);
- ArrayList childs =3D theContainerList.getChilds(user, EntryLoadReq=
uest.STAGED);
- for (int i =3D 0; i < childs.size(); i++) {
- ContentContainer contentObject =3D (ContentContainer) childs.g=
et(i);
- if(contentObject.hasActiveEntries() && !contentObject.isMarked=
ForDelete()) {
- contentObject.activate(languageCodes, saveVersion.isVersio=
ned(),saveVersion, user, jParams, stateModifContext);
- }
- }
ServicesRegistry.getInstance().getJahiaSearchService().indexContai=
nerList(containerListID, user);
=
logger.debug("VALIDATION CONTAINER LIST #" + containerListID);
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list