11-22-2012 04:06 AM
public class ScanContentBehavior implements NodeServicePolicies.BeforeCreateStorePolicy,
NodeServicePolicies.OnCreateStorePolicy,
NodeServicePolicies.BeforeCreateNodePolicy,
NodeServicePolicies.OnCreateNodePolicy,
NodeServicePolicies.OnMoveNodePolicy,
NodeServicePolicies.BeforeUpdateNodePolicy,
NodeServicePolicies.OnUpdateNodePolicy,
NodeServicePolicies.OnUpdatePropertiesPolicy,
NodeServicePolicies.BeforeDeleteNodePolicy,
NodeServicePolicies.OnDeleteNodePolicy,
NodeServicePolicies.BeforeAddAspectPolicy,
NodeServicePolicies.OnAddAspectPolicy,
NodeServicePolicies.BeforeRemoveAspectPolicy,
NodeServicePolicies.OnRemoveAspectPolicy,
NodeServicePolicies.BeforeCreateNodeAssociationPolicy,
NodeServicePolicies.OnCreateNodeAssociationPolicy,
NodeServicePolicies.OnCreateChildAssociationPolicy,
NodeServicePolicies.BeforeDeleteChildAssociationPolicy,
NodeServicePolicies.OnDeleteChildAssociationPolicy,
NodeServicePolicies.OnCreateAssociationPolicy,
NodeServicePolicies.OnDeleteAssociationPolicy{
private NodeService nodeService;
private PolicyComponent policyComponent;
private FileFolderService fileFolderService;
// Behaviours
private Behaviour beforeCreateStorePolicy;
private Behaviour onCreateStorePolicy;
private Behaviour beforeCreateNodePolicy;
private Behaviour onCreateNodePolicy;
private Behaviour onMoveNodePolicy;
private Behaviour beforeUpdateNodePolicy;
private Behaviour onUpdateNodePolicy;
private Behaviour onUpdatePropertiesPolicy;
private Behaviour beforeDeleteNodePolicy;
private Behaviour onDeleteNodePolicy;
private Behaviour beforeAddAspectPolicy;
private Behaviour onAddAspectPolicy;
private Behaviour beforeRemoveAspectPolicy;
private Behaviour onRemoveAspectPolicy;
private Behaviour beforeCreateNodeAssociationPolicy;
private Behaviour onCreateNodeAssociationPolicy;
private Behaviour onCreateChildAssociationPolicy;
private Behaviour beforeDeleteChildAssociationPolicy;
private Behaviour onDeleteChildAssociationPolicy;
private Behaviour onCreateAssociationPolicy;
private Behaviour onDeleteAssociationPolicy;
private Logger logger = Logger.getLogger(ScanContentBehavior.class);
public void init() {
if (logger.isDebugEnabled()) logger.debug("Initializing scan content behaviors");
// Create behaviours
this.beforeCreateStorePolicy = new JavaBehaviour(this, "beforeCreateStore", NotificationFrequency.TRANSACTION_COMMIT);
this.onCreateStorePolicy = new JavaBehaviour(this, "onCreateStore", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeCreateNodePolicy = new JavaBehaviour(this, "beforeCreateNode", NotificationFrequency.TRANSACTION_COMMIT);
this.onCreateNodePolicy = new JavaBehaviour(this, "onCreateNode", NotificationFrequency.TRANSACTION_COMMIT);
this.onMoveNodePolicy = new JavaBehaviour(this, "onMoveNode", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeUpdateNodePolicy = new JavaBehaviour(this, "beforeUpdateNode", NotificationFrequency.TRANSACTION_COMMIT);
this.onUpdateNodePolicy = new JavaBehaviour(this, "onUpdateNode", NotificationFrequency.TRANSACTION_COMMIT);
this.onUpdatePropertiesPolicy = new JavaBehaviour(this, "onUpdateProperties", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeDeleteNodePolicy = new JavaBehaviour(this, "beforeDeleteNode", NotificationFrequency.TRANSACTION_COMMIT);
this.onDeleteNodePolicy = new JavaBehaviour(this, "onDeleteNode", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeAddAspectPolicy = new JavaBehaviour(this, "beforeAddAspect", NotificationFrequency.TRANSACTION_COMMIT);
this.onAddAspectPolicy = new JavaBehaviour(this, "onAddAspect", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeRemoveAspectPolicy = new JavaBehaviour(this, "beforeRemoveAspect", NotificationFrequency.TRANSACTION_COMMIT);
this.onRemoveAspectPolicy = new JavaBehaviour(this, "onRemoveAspect", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeCreateNodeAssociationPolicy = new JavaBehaviour(this, "beforeCreateNodeAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.onCreateNodeAssociationPolicy = new JavaBehaviour(this, "onCreateNodeAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.onCreateChildAssociationPolicy = new JavaBehaviour(this, "onCreateChildAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.beforeDeleteChildAssociationPolicy = new JavaBehaviour(this, "beforeDeleteChildAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.onDeleteChildAssociationPolicy = new JavaBehaviour(this, "onDeleteChildAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.onCreateAssociationPolicy = new JavaBehaviour(this, "onCreateAssociation", NotificationFrequency.TRANSACTION_COMMIT);
this.onDeleteAssociationPolicy = new JavaBehaviour(this, "onDeleteAssociation", NotificationFrequency.TRANSACTION_COMMIT);
// Bind behaviours to node policies
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeCreateStorePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeCreateStorePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateStorePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onCreateStorePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeCreateNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeCreateNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onCreateNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnMoveNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onMoveNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeUpdateNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeUpdateNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnUpdateNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onUpdateNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnUpdatePropertiesPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onUpdatePropertiesPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeDeleteNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeDeleteNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnDeleteNodePolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onDeleteNodePolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeAddAspectPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeAddAspectPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnAddAspectPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onAddAspectPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeRemoveAspectPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeRemoveAspectPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnRemoveAspectPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onRemoveAspectPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeCreateNodeAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeCreateNodeAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateNodeAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onCreateNodeAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateChildAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onCreateChildAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.BeforeDeleteChildAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.beforeDeleteChildAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnDeleteChildAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onDeleteChildAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnCreateAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onCreateAssociationPolicy);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnDeleteAssociationPolicy.QNAME, ErryContentModel.NAMESPACE_ERRY_CONTENT_SCAN, this.onDeleteAssociationPolicy);
}
@Override
public void onCreateChildAssociation(ChildAssociationRef childAssocRef,
boolean isNewNode) {
NodeRef childNodeRef = childAssocRef.getChildRef();
String fileName = (String) nodeService.getProperty(childAssocRef.getChildRef(), ContentModel.PROP_NAME);
Map<QName, Serializable> map = nodeService.getProperties(childAssocRef.getChildRef());
ContentDataWithId cdi = (ContentDataWithId)nodeService.getProperty(childNodeRef, ContentModel.PROP_CONTENT);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_SYSTEM_FOLDER);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_FOLDER);
ByteArrayOutputStream ops = new ByteArrayOutputStream();
fileFolderService.getReader(childNodeRef).getContent(ops);
byte b[] = ops.toByteArray();
System.out.println(fileName);
System.out.println(new String(b));
}
@Override
public void onCreateNodeAssociation(ChildAssociationRef childAssocRef) {
NodeRef childNodeRef = childAssocRef.getChildRef();
String fileName = (String) nodeService.getProperty(childAssocRef.getChildRef(), ContentModel.PROP_NAME);
Map<QName, Serializable> map = nodeService.getProperties(childAssocRef.getChildRef());
ContentDataWithId cdi = (ContentDataWithId)nodeService.getProperty(childNodeRef, ContentModel.PROP_CONTENT);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_SYSTEM_FOLDER);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_FOLDER);
ByteArrayOutputStream ops = new ByteArrayOutputStream();
fileFolderService.getReader(childNodeRef).getContent(ops);
byte b[] = ops.toByteArray();
System.out.println(fileName);
System.out.println(new String(b));
}
@Override
public void onUpdateNode(NodeRef childNodeRef) {
if(!fileFolderService.getFileInfo(childNodeRef).isFolder()){
ContentDataWithId cdi = (ContentDataWithId)nodeService.getProperty(childNodeRef, ContentModel.PROP_CONTENT);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_SYSTEM_FOLDER);
nodeService.getProperty(childNodeRef, ContentModel.TYPE_FOLDER);
ByteArrayOutputStream ops = new ByteArrayOutputStream();
fileFolderService.getReader(childNodeRef).getContent(ops);
byte b[] = ops.toByteArray();
System.out.println(new String(b));
}
}
public NodeService getNodeService() {
return nodeService;
}
public void setNodeService(NodeService nodeService) {
this.nodeService = nodeService;
}
public PolicyComponent getPolicyComponent() {
return policyComponent;
}
public void setPolicyComponent(PolicyComponent policyComponent) {
this.policyComponent = policyComponent;
}
public FileFolderService getFileFolderService() {
return fileFolderService;
}
public void setFileFolderService(FileFolderService fileFolderService) {
this.fileFolderService = fileFolderService;
}
@Override
public void onDeleteAssociation(AssociationRef nodeAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void onCreateAssociation(AssociationRef nodeAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void onDeleteChildAssociation(ChildAssociationRef childAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void beforeDeleteChildAssociation(ChildAssociationRef childAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void beforeCreateNodeAssociation(NodeRef parentNodeRef,
QName assocTypeQName, QName assocQName) {
// TODO Auto-generated method stub
}
@Override
public void onRemoveAspect(NodeRef nodeRef, QName aspectTypeQName) {
// TODO Auto-generated method stub
}
@Override
public void beforeRemoveAspect(NodeRef nodeRef, QName aspectTypeQName) {
// TODO Auto-generated method stub
}
@Override
public void onAddAspect(NodeRef nodeRef, QName aspectTypeQName) {
// TODO Auto-generated method stub
}
@Override
public void beforeAddAspect(NodeRef nodeRef, QName aspectTypeQName) {
// TODO Auto-generated method stub
}
@Override
public void onDeleteNode(ChildAssociationRef childAssocRef,
boolean isNodeArchived) {
// TODO Auto-generated method stub
}
@Override
public void beforeDeleteNode(NodeRef nodeRef) {
// TODO Auto-generated method stub
}
@Override
public void onUpdateProperties(NodeRef nodeRef,
Map<QName, Serializable> before, Map<QName, Serializable> after) {
// TODO Auto-generated method stub
}
@Override
public void beforeUpdateNode(NodeRef nodeRef) {
// TODO Auto-generated method stub
}
@Override
public void onMoveNode(ChildAssociationRef oldChildAssocRef,
ChildAssociationRef newChildAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void onCreateNode(ChildAssociationRef childAssocRef) {
// TODO Auto-generated method stub
}
@Override
public void beforeCreateNode(NodeRef parentRef, QName assocTypeQName,
QName assocQName, QName nodeTypeQName) {
// TODO Auto-generated method stub
}
@Override
public void onCreateStore(NodeRef rootNodeRef) {
}
@Override
public void beforeCreateStore(QName nodeTypeQName, StoreRef storeRef) {
}
}
11-22-2012 04:17 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.