From 4fd4ce86a8f5fd791690784d8034e342a6f531e1 Mon Sep 17 00:00:00 2001 From: Ray Lee Date: Fri, 5 Jul 2019 21:39:51 -0700 Subject: [PATCH] DRYD-645: Upgrade logging to log4j2 over slf4j. --- .../nuxeo-platform-elasticsearch/pom.xml | 1 - .../nuxeo-platform-listener/botgarden/pom.xml | 1 - .../botgarden/CreateVersionListener.java | 14 +- .../botgarden/DeleteDeadLocationListener.java | 24 ++-- .../botgarden/UpdateAccessCodeListener.java | 136 +++++++++--------- .../botgarden/UpdateDeadFlagListener.java | 24 ++-- .../botgarden/UpdateLocationListener.java | 26 ++-- .../botgarden/UpdateRareFlagListener.java | 68 ++++----- .../botgarden/UpdateStyledNameListener.java | 42 +++--- .../naturalhistory/pom.xml | 1 - .../UpdateFormattedDisplayNameListener.java | 48 +++---- .../nuxeo/nuxeo-platform-listener/pom.xml | 1 - .../listener/UpdateImageDerivatives.java | 24 ++-- .../AbstractUpdateObjectLocationValues.java | 14 +- .../UpdateObjectLocationAndCrateOnMove.java | 17 +-- .../listener/UpdateObjectLocationOnMove.java | 15 +- .../listener/UpdateRelationsOnDelete.java | 39 +++-- 3rdparty/nuxeo/nuxeo-platform-quote/pom.xml | 25 ++-- .../platform/quote/impl/QuoteManagerImpl.java | 12 +- .../quote/listener/AbstractQuoteListener.java | 8 +- .../DocumentRemovedQuoteEventListener.java | 11 +- .../listener/QuoteRemovedEventListener.java | 8 +- .../platform/quote/service/QuoteService.java | 7 +- .../nuxeo/nuxeo-platform-thumbnail/pom.xml | 1 - .../thumbnail/AddThumbnailUnrestricted.java | 48 +++---- .../thumbnail/ThumbnailConverter.java | 10 +- .../nuxeo-server/7.10-HF17/bundles/pom.xml | 8 -- pom.xml | 93 ++++++++++-- services/IntegrationTests/pom.xml | 10 -- services/JaxRsServiceProvider/pom.xml | 45 ------ .../src/main/resources/log4j.properties | 98 +------------ .../src/main/resources/log4j2.xml | 50 +++++++ services/PerformanceTests/pom.xml | 10 -- services/account/client/pom.xml | 11 -- services/account/service/pom.xml | 16 --- .../storage/TenantDocumentHandler.java | 6 +- .../storage/TenantValidatorHandler.java | 4 +- services/acquisition/client/pom.xml | 11 -- services/authentication/client/pom.xml | 14 +- services/authentication/service/pom.xml | 26 ---- services/authority/pom.xml | 6 - services/authority/service/pom.xml | 16 --- .../vocabulary/AuthorityServiceUtils.java | 68 ++++----- services/authorization-common/pom.xml | 15 +- services/authorization-mgt/client/pom.xml | 9 -- services/authorization-mgt/import/pom.xml | 20 --- services/authorization-mgt/service/pom.xml | 27 ---- services/authorization/service/pom.xml | 29 ---- .../services/authorization/AuthZ.java | 36 ++--- .../spring/SpringAuthorizationProvider.java | 8 +- .../spring/SpringPermissionEvaluator.java | 24 ++-- .../spring/SpringPermissionManager.java | 22 +-- services/batch/client/pom.xml | 11 -- services/blob/client/pom.xml | 23 ++- services/citation/client/pom.xml | 9 -- services/citation/service/pom.xml | 14 -- services/claim/client/pom.xml | 11 -- services/client/pom.xml | 17 --- .../services/client/PoxPayload.java | 114 +++++++-------- services/collectionobject/client/pom.xml | 9 -- services/collectionobject/service/pom.xml | 14 -- services/common-api/pom.xml | 13 -- services/common-test/pom.xml | 11 -- services/common/lib/slf4j/log4j-1.2.17.jar | Bin 489884 -> 0 bytes services/common/lib/slf4j/log4j-api-2.7.jar | Bin 0 -> 219001 bytes services/common/lib/slf4j/log4j-api-2.9.1.jar | Bin 239856 -> 0 bytes services/common/lib/slf4j/log4j-core-2.7.jar | Bin 0 -> 1296865 bytes .../common/lib/slf4j/log4j-core-2.9.1.jar | Bin 1549865 -> 0 bytes .../common/lib/slf4j/log4j-slf4j-impl-2.7.jar | Bin 0 -> 22918 bytes services/common/lib/slf4j/log4j-web-2.7.jar | Bin 0 -> 27598 bytes .../common/lib/slf4j/slf4j-log4j12-1.7.21.jar | Bin 9988 -> 0 bytes services/common/pom.xml | 18 --- .../common/imaging/nuxeo/ImagePlugin.javax | 10 +- .../storage/jpa/JPATransactionContext.java | 56 ++++---- .../nuxeo/util/ReindexFulltextRoot.java | 16 +-- services/concept/client/pom.xml | 9 -- services/concept/service/pom.xml | 14 -- services/conditioncheck/client/pom.xml | 11 -- services/config/pom.xml | 20 --- services/conservation/client/pom.xml | 11 -- services/contact/client/pom.xml | 9 -- services/dimension/client/pom.xml | 9 -- services/dimension/pom.xml | 15 +- services/exhibition/client/pom.xml | 11 -- services/group/client/pom.xml | 11 -- services/id/pom.xml | 25 +--- services/imports/service/pom.xml | 12 +- .../services/imports/ImportsResource.java | 40 +++--- services/index/client/pom.xml | 11 -- services/intake/client/pom.xml | 11 -- services/loanin/client/pom.xml | 11 -- services/loanout/client/pom.xml | 11 -- services/location/client/pom.xml | 9 -- services/location/service/pom.xml | 14 -- services/material/client/pom.xml | 9 -- services/material/service/pom.xml | 14 -- services/media/client/pom.xml | 11 -- services/movement/client/pom.xml | 11 -- services/note/client/pom.xml | 9 -- services/objectexit/client/pom.xml | 11 -- services/organization/client/pom.xml | 11 -- services/organization/service/pom.xml | 14 -- services/osteology/client/pom.xml | 11 -- services/person/client/pom.xml | 9 -- services/person/service/pom.xml | 14 -- services/place/client/pom.xml | 9 -- services/place/service/pom.xml | 14 -- services/pom.xml | 21 ++- services/pottag/client/pom.xml | 11 -- services/propagation/client/pom.xml | 11 -- services/publicitem/client/pom.xml | 11 -- services/query/service/pom.xml | 15 -- services/relation/client/pom.xml | 11 -- services/report/client/pom.xml | 11 -- services/security/client/pom.xml | 11 -- services/servicegroup/client/pom.xml | 11 -- services/structureddate/client/pom.xml | 12 -- .../structureddate/structureddate/pom.xml | 10 -- services/systeminfo/client/pom.xml | 12 -- services/taxonomy/client/pom.xml | 9 -- services/taxonomy/service/pom.xml | 14 -- services/uoc/client/pom.xml | 11 -- services/valuationcontrol/client/pom.xml | 11 -- services/vocabulary/client/pom.xml | 9 -- services/vocabulary/service/pom.xml | 14 -- services/work/client/pom.xml | 9 -- services/work/service/pom.xml | 14 -- services/workflow/client/pom.xml | 11 -- 128 files changed, 672 insertions(+), 1641 deletions(-) create mode 100644 services/JaxRsServiceProvider/src/main/resources/log4j2.xml delete mode 100644 services/common/lib/slf4j/log4j-1.2.17.jar create mode 100644 services/common/lib/slf4j/log4j-api-2.7.jar delete mode 100644 services/common/lib/slf4j/log4j-api-2.9.1.jar create mode 100644 services/common/lib/slf4j/log4j-core-2.7.jar delete mode 100644 services/common/lib/slf4j/log4j-core-2.9.1.jar create mode 100644 services/common/lib/slf4j/log4j-slf4j-impl-2.7.jar create mode 100644 services/common/lib/slf4j/log4j-web-2.7.jar delete mode 100644 services/common/lib/slf4j/slf4j-log4j12-1.7.21.jar diff --git a/3rdparty/nuxeo/nuxeo-platform-elasticsearch/pom.xml b/3rdparty/nuxeo/nuxeo-platform-elasticsearch/pom.xml index 574cfe837..d6cb6e71a 100644 --- a/3rdparty/nuxeo/nuxeo-platform-elasticsearch/pom.xml +++ b/3rdparty/nuxeo/nuxeo-platform-elasticsearch/pom.xml @@ -24,7 +24,6 @@ org.nuxeo.ecm.automation nuxeo-automation-io - ${nuxeo.core.version} org.collectionspace.services diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/pom.xml b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/pom.xml index 8af09b050..755a5a4d6 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/pom.xml +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/pom.xml @@ -20,7 +20,6 @@ org.nuxeo.ecm.core nuxeo-core-storage-sql - ${nuxeo.core.version} org.nuxeo.ecm.platform diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/CreateVersionListener.java b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/CreateVersionListener.java index a30c848e7..6424df4e6 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/CreateVersionListener.java +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/CreateVersionListener.java @@ -1,7 +1,5 @@ package org.collectionspace.services.listener.botgarden; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.client.workflow.WorkflowClient; import org.collectionspace.services.movement.nuxeo.MovementConstants; import org.collectionspace.services.nuxeo.listener.AbstractCSEventListenerImpl; @@ -11,11 +9,13 @@ import org.nuxeo.ecm.core.api.VersioningOption; import org.nuxeo.ecm.core.event.Event; import org.nuxeo.ecm.core.event.EventContext; import org.nuxeo.ecm.core.event.impl.DocumentEventContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class CreateVersionListener extends AbstractCSEventListenerImpl { public static final String SKIP_PROPERTY = "CreateVersionListener.SKIP"; - final Log logger = LogFactory.getLog(CreateVersionListener.class); + final Logger logger = LoggerFactory.getLogger(CreateVersionListener.class); @Override public void handleEvent(Event event) { @@ -32,12 +32,12 @@ public class CreateVersionListener extends AbstractCSEventListenerImpl { logger.debug("docType=" + doc.getType()); - if (doc.getType().startsWith(MovementConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && + if (doc.getType().startsWith(MovementConstants.NUXEO_DOCTYPE) && + !doc.isVersion() && !doc.isProxy() && !doc.getCurrentLifeCycleState().equals(WorkflowClient.WORKFLOWSTATE_DELETED)) { // Version the document - DocumentRef versionRef = doc.checkIn(VersioningOption.MINOR, null); + DocumentRef versionRef = doc.checkIn(VersioningOption.MINOR, null); DocumentModel versionDoc = context.getCoreSession().getDocument(versionRef); logger.debug("created version: id=" + versionDoc.getId() + " csid=" + versionDoc.getName()); @@ -48,4 +48,4 @@ public class CreateVersionListener extends AbstractCSEventListenerImpl { } } } -} \ No newline at end of file +} diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/DeleteDeadLocationListener.java b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/DeleteDeadLocationListener.java index 45436ad9b..4590b3f06 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/DeleteDeadLocationListener.java +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/DeleteDeadLocationListener.java @@ -1,7 +1,5 @@ package org.collectionspace.services.listener.botgarden; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.client.workflow.WorkflowClient; import org.collectionspace.services.movement.nuxeo.MovementBotGardenConstants; import org.collectionspace.services.movement.nuxeo.MovementConstants; @@ -11,12 +9,14 @@ import org.nuxeo.ecm.core.api.DocumentModel; import org.nuxeo.ecm.core.event.Event; import org.nuxeo.ecm.core.event.EventContext; import org.nuxeo.ecm.core.event.impl.DocumentEventContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class DeleteDeadLocationListener extends AbstractCSEventListenerImpl { - final Log logger = LogFactory.getLog(DeleteDeadLocationListener.class); + final Logger logger = LoggerFactory.getLogger(DeleteDeadLocationListener.class); - /* - * Delete dead locations. + /* + * Delete dead locations. */ @Override public void handleEvent(Event event) { @@ -27,17 +27,17 @@ public class DeleteDeadLocationListener extends AbstractCSEventListenerImpl { DocumentModel doc = context.getSourceDocument(); if (doc.getType().startsWith(MovementConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && - !doc.isProxy() && + !doc.isVersion() && + !doc.isProxy() && !doc.getCurrentLifeCycleState().equals(WorkflowClient.WORKFLOWSTATE_DELETED)) { - String actionCode = (String) doc.getProperty(MovementBotGardenConstants.ACTION_CODE_SCHEMA_NAME, + String actionCode = (String) doc.getProperty(MovementBotGardenConstants.ACTION_CODE_SCHEMA_NAME, MovementBotGardenConstants.ACTION_CODE_FIELD_NAME); - + logger.debug("actionCode=" + actionCode); - + if (actionCode != null && actionCode.equals(MovementBotGardenConstants.DEAD_ACTION_CODE)) { CoreSession session = context.getCoreSession(); - + if (session.getAllowedStateTransitions(doc.getRef()).contains(WorkflowClient.WORKFLOWTRANSITION_DELETE)) { session.followTransition(doc.getRef(), WorkflowClient.WORKFLOWTRANSITION_DELETE); } @@ -45,4 +45,4 @@ public class DeleteDeadLocationListener extends AbstractCSEventListenerImpl { } } } -} \ No newline at end of file +} diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateAccessCodeListener.java b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateAccessCodeListener.java index 64989d1ad..a90f6ed59 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateAccessCodeListener.java +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateAccessCodeListener.java @@ -8,8 +8,6 @@ import java.util.Map; import java.util.Set; import org.apache.commons.lang.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.batch.nuxeo.UpdateAccessCodeBatchJob; import org.collectionspace.services.client.workflow.WorkflowClient; import org.collectionspace.services.collectionobject.nuxeo.CollectionObjectBotGardenConstants; @@ -27,23 +25,25 @@ import org.nuxeo.ecm.core.api.event.DocumentEventTypes; import org.nuxeo.ecm.core.event.Event; import org.nuxeo.ecm.core.event.EventContext; import org.nuxeo.ecm.core.event.impl.DocumentEventContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A listener that updates the access code on taxon records when collectionobjects * or taxon records are created or modified. - * + * * @see org.collectionspace.services.batch.nuxeo.UpdateAccessCodeBatchJob * @author ray * */ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { - final Log logger = LogFactory.getLog(UpdateAccessCodeListener.class); + final Logger logger = LoggerFactory.getLogger(UpdateAccessCodeListener.class); public static final String PREVIOUS_DEAD_FLAG_PROPERTY_NAME = "UpdateAccessCodeListener.previousDeadFlag"; public static final String PREVIOUS_TAXON_NAMES_PROPERTY_NAME = "UpdateAccessCodeListener.previousTaxonNames"; public static final String PREVIOUS_ACCESS_CODE_PROPERTY_NAME = "UpdateAccessCodeListener.previousAccessCode"; public static final String DELETED_RELATION_PARENT_CSID_PROPERTY_NAME = "UpdateAccessCodeListener.deletedRelationParentCsid"; - + private static final String[] TAXON_PATH_ELEMENTS = CollectionObjectBotGardenConstants.TAXON_FIELD_NAME.split("/"); private static final String TAXONOMIC_IDENT_GROUP_LIST_FIELD_NAME = TAXON_PATH_ELEMENTS[0]; private static final String TAXON_FIELD_NAME = TAXON_PATH_ELEMENTS[2]; @@ -51,7 +51,7 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { @Override public void handleEvent(Event event) { EventContext ec = event.getContext(); - + if (isRegistered(event) && ec instanceof DocumentEventContext) { DocumentEventContext context = (DocumentEventContext) ec; DocumentModel doc = context.getSourceDocument(); @@ -59,19 +59,19 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { logger.debug("docType=" + doc.getType()); if (doc.getType().startsWith(CollectionObjectConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && - !doc.isProxy() && + !doc.isVersion() && + !doc.isProxy() && !doc.getCurrentLifeCycleState().equals(WorkflowClient.WORKFLOWSTATE_DELETED)) { - + if (event.getName().equals(DocumentEventTypes.BEFORE_DOC_UPDATE)) { // Stash the previous dead flag and taxonomic ident values, so they can be retrieved in the documentModified handler. - + DocumentModel previousDoc = (DocumentModel) context.getProperty(CoreEventConstants.PREVIOUS_DOCUMENT_MODEL); - String previousDeadFlag = (String) previousDoc.getProperty(CollectionObjectBotGardenConstants.DEAD_FLAG_SCHEMA_NAME, + String previousDeadFlag = (String) previousDoc.getProperty(CollectionObjectBotGardenConstants.DEAD_FLAG_SCHEMA_NAME, CollectionObjectBotGardenConstants.DEAD_FLAG_FIELD_NAME); context.setProperty(PREVIOUS_DEAD_FLAG_PROPERTY_NAME, previousDeadFlag); - + List previousTaxonNames = getTaxonNames(previousDoc); context.setProperty(PREVIOUS_TAXON_NAMES_PROPERTY_NAME, previousTaxonNames.toArray(new String[previousTaxonNames.size()])); } @@ -79,24 +79,24 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { boolean deadFlagChanged = false; Set deletedTaxonNames = null; Set addedTaxonNames = null; - - if (event.getName().equals(DocumentEventTypes.DOCUMENT_UPDATED)) { + + if (event.getName().equals(DocumentEventTypes.DOCUMENT_UPDATED)) { // As an optimization, check if the dead flag of the collectionobject has // changed, or if the taxonomic identification has changed. If so, we need to // update the access codes of referenced taxon records. String previousDeadFlag = (String) context.getProperty(PREVIOUS_DEAD_FLAG_PROPERTY_NAME); - String currentDeadFlag = (String) doc.getProperty(CollectionObjectBotGardenConstants.DEAD_FLAG_SCHEMA_NAME, + String currentDeadFlag = (String) doc.getProperty(CollectionObjectBotGardenConstants.DEAD_FLAG_SCHEMA_NAME, CollectionObjectBotGardenConstants.DEAD_FLAG_FIELD_NAME); if (previousDeadFlag == null) { previousDeadFlag = ""; } - + if (currentDeadFlag == null) { currentDeadFlag = ""; } - + if (previousDeadFlag.equals(currentDeadFlag)) { logger.debug("dead flag not changed: previousDeadFlag=" + previousDeadFlag + " currentDeadFlag=" + currentDeadFlag); } @@ -104,33 +104,33 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { logger.debug("dead flag changed: previousDeadFlag=" + previousDeadFlag + " currentDeadFlag=" + currentDeadFlag); deadFlagChanged = true; } - + List previousTaxonNames = Arrays.asList((String[]) context.getProperty(PREVIOUS_TAXON_NAMES_PROPERTY_NAME)); List currentTaxonNames = getTaxonNames(doc); - + deletedTaxonNames = findDeletedTaxonNames(previousTaxonNames, currentTaxonNames); logger.debug("found deleted taxon names: " + StringUtils.join(deletedTaxonNames, ", ")); addedTaxonNames = findAddedTaxonNames(previousTaxonNames, currentTaxonNames); - logger.debug("found added taxon names: " + StringUtils.join(addedTaxonNames, ", ")); + logger.debug("found added taxon names: " + StringUtils.join(addedTaxonNames, ", ")); } else if (event.getName().equals(DocumentEventTypes.DOCUMENT_CREATED)) { deadFlagChanged = true; } - + UpdateAccessCodeBatchJob updater = createUpdater(); - + if (deadFlagChanged) { String collectionObjectCsid = doc.getName(); - + try { // Pass false for the second parameter to updateReferencedAccessCodes, so that it doesn't // propagate changes up the taxon hierarchy. Propagation is taken care of by this // event handler: As taxon records are modified, this handler executes, and updates the // parent. - + InvocationResults results = updater.updateReferencedAccessCodes(collectionObjectCsid, false); - + logger.debug("updateReferencedAccessCodes complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { @@ -140,23 +140,23 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { else { // If the dead flag didn't change, we still need to recalculate the access codes of // any taxonomic idents that were added. - + if (addedTaxonNames != null) { for (String addedTaxonName : addedTaxonNames) { logger.debug("updating added taxon: " + addedTaxonName); - try { + try { InvocationResults results = updater.updateAccessCode(addedTaxonName, false); - + logger.debug("updateAccessCode complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { logger.error(e.getMessage(), e); - } - } + } + } } } - + if (deletedTaxonNames != null) { // If any taxonomic idents were removed from the collectionobject, they need to have their // access codes recalculated. @@ -164,24 +164,24 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { for (String deletedTaxonName : deletedTaxonNames) { logger.debug("updating deleted taxon: " + deletedTaxonName); - try { + try { InvocationResults results = updater.updateAccessCode(deletedTaxonName, false); - + logger.debug("updateAccessCode complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { logger.error(e.getMessage(), e); - } + } } } } } else if (doc.getType().startsWith(TaxonConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && - !doc.isProxy() && + !doc.isVersion() && + !doc.isProxy() && !doc.getCurrentLifeCycleState().equals(WorkflowClient.WORKFLOWSTATE_DELETED)) { - - if (event.getName().equals(DocumentEventTypes.BEFORE_DOC_UPDATE)) { + + if (event.getName().equals(DocumentEventTypes.BEFORE_DOC_UPDATE)) { // Stash the previous access code value, so it can be retrieved in the documentModified handler. DocumentModel previousDoc = (DocumentModel) context.getProperty(CoreEventConstants.PREVIOUS_DOCUMENT_MODEL); @@ -192,7 +192,7 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { else { boolean updateRequired = false; - if (event.getName().equals(DocumentEventTypes.DOCUMENT_UPDATED)) { + if (event.getName().equals(DocumentEventTypes.DOCUMENT_UPDATED)) { // As an optimization, check if the access code of the taxon has // changed. We only need to update the access code of the parent taxon // record if it has. @@ -203,11 +203,11 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { if (previousAccessCode == null) { previousAccessCode = ""; } - + if (currentAccessCode == null) { currentAccessCode = ""; } - + if (previousAccessCode.equals(currentAccessCode)) { logger.debug("update not required: previousAccessCode=" + previousAccessCode + " currentAccessCode=" + currentAccessCode); } @@ -217,20 +217,20 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { } } else if (event.getName().equals(DocumentEventTypes.DOCUMENT_CREATED)) { - updateRequired = true; + updateRequired = true; } - + if (updateRequired) { String taxonCsid = doc.getName(); - + try { // Pass false for the second parameter to updateReferencedAccessCodes, so that it doesn't // propagate changes up the taxon hierarchy. Propagation is taken care of by this // event handler: As taxon records are modified, this handler executes, and updates the // parent. - + InvocationResults results = createUpdater().updateParentAccessCode(taxonCsid, false); - + logger.debug("updateParentAccessCode complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { @@ -240,23 +240,23 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { } } else if (doc.getType().equals(RelationConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && + !doc.isVersion() && !doc.isProxy()) { - + if (event.getName().equals(DocumentEventTypes.DOCUMENT_CREATED)) { String subjectDocType = (String) doc.getProperty(RelationConstants.SUBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.SUBJECT_DOCTYPE_FIELD_NAME); String objectDocType = (String) doc.getProperty(RelationConstants.OBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.OBJECT_DOCTYPE_FIELD_NAME);; String relationType = (String) doc.getProperty(RelationConstants.TYPE_SCHEMA_NAME, RelationConstants.TYPE_FIELD_NAME); - + logger.debug("subjectDocType=" + subjectDocType + " objectDocType=" + objectDocType + " relationType=" + relationType); - + if (subjectDocType.equals(TaxonConstants.NUXEO_DOCTYPE) && objectDocType.equals(TaxonConstants.NUXEO_DOCTYPE) && relationType.equals(RelationConstants.BROADER_TYPE)) { String parentTaxonCsid = (String) doc.getProperty(RelationConstants.OBJECT_CSID_SCHEMA_NAME, RelationConstants.OBJECT_CSID_FIELD_NAME); logger.debug("child added, updating parent taxon: parentTaxonCsid=" + parentTaxonCsid); - - try { + + try { InvocationResults results = createUpdater().updateAccessCode(parentTaxonCsid, false); - + logger.debug("updateAccessCode complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { @@ -268,12 +268,12 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { String subjectDocType = (String) doc.getProperty(RelationConstants.SUBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.SUBJECT_DOCTYPE_FIELD_NAME); String objectDocType = (String) doc.getProperty(RelationConstants.OBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.OBJECT_DOCTYPE_FIELD_NAME);; String relationType = (String) doc.getProperty(RelationConstants.TYPE_SCHEMA_NAME, RelationConstants.TYPE_FIELD_NAME); - + logger.debug("subjectDocType=" + subjectDocType + " objectDocType=" + objectDocType + " relationType=" + relationType); if (subjectDocType.equals(TaxonConstants.NUXEO_DOCTYPE) && objectDocType.equals(TaxonConstants.NUXEO_DOCTYPE) && relationType.equals(RelationConstants.BROADER_TYPE)) { String parentTaxonCsid = (String) doc.getProperty(RelationConstants.OBJECT_CSID_SCHEMA_NAME, RelationConstants.OBJECT_CSID_FIELD_NAME); - + // Stash the parent taxon csid, so it can be retrieved in the documentRemoved handler. logger.debug("about to delete taxon hierarchy relation: parentTaxonCsid=" + parentTaxonCsid); context.setProperty(DELETED_RELATION_PARENT_CSID_PROPERTY_NAME, parentTaxonCsid); @@ -281,26 +281,26 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { } else if (event.getName().equals(DocumentEventTypes.DOCUMENT_REMOVED)) { String parentTaxonCsid = (String) context.getProperty(DELETED_RELATION_PARENT_CSID_PROPERTY_NAME); - + if (StringUtils.isNotEmpty(parentTaxonCsid)) { logger.debug("child removed, updating parent taxon: parentTaxonCsid=" + parentTaxonCsid); - try { + try { InvocationResults results = createUpdater().updateAccessCode(parentTaxonCsid, false); - + logger.debug("updateAccessCode complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { logger.error(e.getMessage(), e); - } + } } } } } } - + private List getTaxonNames(DocumentModel doc) { - List> taxonomicIdentGroupList = (List>) doc.getProperty(CollectionObjectBotGardenConstants.TAXON_SCHEMA_NAME, + List> taxonomicIdentGroupList = (List>) doc.getProperty(CollectionObjectBotGardenConstants.TAXON_SCHEMA_NAME, TAXONOMIC_IDENT_GROUP_LIST_FIELD_NAME); List taxonNames = new ArrayList(); @@ -318,29 +318,29 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { private Set findDeletedTaxonNames(List previousTaxonNames, List currentTaxonNames) { Set currentTaxonNameSet = new HashSet(currentTaxonNames); Set deletedTaxonNameSet = new HashSet(); - + for (String previousTaxonName : previousTaxonNames) { if (!currentTaxonNameSet.contains(previousTaxonName)) { deletedTaxonNameSet.add(previousTaxonName); } } - + return deletedTaxonNameSet; } - + private Set findAddedTaxonNames(List previousTaxonNames, List currentTaxonNames) { Set previousTaxonNameSet = new HashSet(previousTaxonNames); Set addedTaxonNameSet = new HashSet(); - + for (String currentTaxonName : currentTaxonNames) { if (!previousTaxonNameSet.contains(currentTaxonName)) { addedTaxonNameSet.add(currentTaxonName); } } - + return addedTaxonNameSet; } - + private UpdateAccessCodeBatchJob createUpdater() { ResourceMap resourceMap = ResteasyProviderFactory.getContextData(ResourceMap.class); @@ -349,4 +349,4 @@ public class UpdateAccessCodeListener extends AbstractCSEventListenerImpl { return updater; } -} \ No newline at end of file +} diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateDeadFlagListener.java b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateDeadFlagListener.java index 58c61f25e..b25bd7a33 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateDeadFlagListener.java +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateDeadFlagListener.java @@ -1,7 +1,5 @@ package org.collectionspace.services.listener.botgarden; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.batch.nuxeo.UpdateDeadFlagBatchJob; import org.collectionspace.services.client.workflow.WorkflowClient; import org.collectionspace.services.collectionobject.nuxeo.CollectionObjectConstants; @@ -17,11 +15,13 @@ import org.nuxeo.ecm.core.api.event.DocumentEventTypes; import org.nuxeo.ecm.core.event.Event; import org.nuxeo.ecm.core.event.EventContext; import org.nuxeo.ecm.core.event.impl.DocumentEventContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class UpdateDeadFlagListener extends AbstractCSEventListenerImpl { - final Log logger = LogFactory.getLog(UpdateDeadFlagListener.class); + final Logger logger = LoggerFactory.getLogger(UpdateDeadFlagListener.class); - /* + /* * Set the dead flag and dead date on collectionobjects related to a new or modified movement record. */ @Override @@ -38,10 +38,10 @@ public class UpdateDeadFlagListener extends AbstractCSEventListenerImpl { /* * Handle the case where a new movement is created with action code revive, and then related * to a collectionobject. The movement won't have any relations at the time it's created, - * so we need to capture the creation of the relation. + * so we need to capture the creation of the relation. */ if (doc.getType().equals(RelationConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && + !doc.isVersion() && !doc.isProxy()) { String subjectDocType = (String) doc.getProperty(RelationConstants.SUBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.SUBJECT_DOCTYPE_FIELD_NAME); String objectDocType = (String) doc.getProperty(RelationConstants.OBJECT_DOCTYPE_SCHEMA_NAME, RelationConstants.OBJECT_DOCTYPE_FIELD_NAME);; @@ -58,22 +58,22 @@ public class UpdateDeadFlagListener extends AbstractCSEventListenerImpl { logger.debug("updateDeadFlag complete: numAffected=" + results.getNumAffected() + " userNote=" + results.getUserNote()); } catch (Exception e) { logger.error(e.getMessage(), e); - } + } } } } else { /* - * Handle document modification. If the modified document was a movement record, and + * Handle document modification. If the modified document was a movement record, and * its action code is dead or revived, update the dead flag. We don't actually have to * check the action code here, since it will be checked inside UpdateDeadFlagBatchJob.updateRelatedDeadFlags, * but it is an optimization. */ if (doc.getType().startsWith(MovementConstants.NUXEO_DOCTYPE) && - !doc.isVersion() && - !doc.isProxy() && + !doc.isVersion() && + !doc.isProxy() && !doc.getCurrentLifeCycleState().equals(WorkflowClient.WORKFLOWSTATE_DELETED)) { - String actionCode = (String) doc.getProperty(MovementBotGardenConstants.ACTION_CODE_SCHEMA_NAME, MovementBotGardenConstants.ACTION_CODE_FIELD_NAME); + String actionCode = (String) doc.getProperty(MovementBotGardenConstants.ACTION_CODE_SCHEMA_NAME, MovementBotGardenConstants.ACTION_CODE_FIELD_NAME); logger.debug("actionCode=" + actionCode); @@ -101,4 +101,4 @@ public class UpdateDeadFlagListener extends AbstractCSEventListenerImpl { return updater; } -} \ No newline at end of file +} diff --git a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateLocationListener.java b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateLocationListener.java index 49e2f3aca..b537c6a90 100644 --- a/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateLocationListener.java +++ b/3rdparty/nuxeo/nuxeo-platform-listener/botgarden/src/main/java/org/collectionspace/services/listener/botgarden/UpdateLocationListener.java @@ -1,7 +1,5 @@ package org.collectionspace.services.listener.botgarden; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.collectionspace.services.client.workflow.WorkflowClient; import org.collectionspace.services.movement.nuxeo.MovementBotGardenConstants; import org.collectionspace.services.movement.nuxeo.MovementConstants; @@ -12,14 +10,16 @@ import org.nuxeo.ecm.core.api.event.DocumentEventTypes; import org.nuxeo.ecm.core.event.Event; import org.nuxeo.ecm.core.event.EventContext; import org.nuxeo.ecm.core.event.impl.DocumentEventContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class UpdateLocationListener extends AbstractCSEventListenerImpl { - final Log logger = LogFactory.getLog(UpdateLocationListener.class); + final Logger logger = LoggerFactory.getLogger(UpdateLocationListener.class); - /* + /* * Set the currentLocation and previousLocation fields in a Current Location record * to appropriate values. - * + * *