@Override public String getFilterString() { return context.getFilterString(); }
@Override public String getFilterString() { return context.getFilterString(); }
@Override public ChangeEvents getContentChanges(String changeLogToken, boolean includeProperties, long maxNumItems, OperationContext context) { checkContext(context); Holder<String> changeLogTokenHolder = new Holder<String>(changeLogToken); ObjectList objectList = null; lock.readLock().lock(); try { objectList = getBinding().getDiscoveryService().getContentChanges(getRepositoryInfo().getId(), changeLogTokenHolder, includeProperties, context.getFilterString(), context.isIncludePolicies(), context.isIncludeAcls(), BigInteger.valueOf(maxNumItems), null); } finally { lock.readLock().unlock(); } return objectFactory.convertChangeEvents(changeLogTokenHolder.getValue(), objectList); }
@Override public ChangeEvents getContentChanges(String changeLogToken, boolean includeProperties, long maxNumItems, OperationContext context) { checkContext(context); Holder<String> changeLogTokenHolder = new Holder<String>(changeLogToken); ObjectList objectList = null; lock.readLock().lock(); try { objectList = getBinding().getDiscoveryService().getContentChanges(getRepositoryInfo().getId(), changeLogTokenHolder, includeProperties, context.getFilterString(), context.isIncludePolicies(), context.isIncludeAcls(), BigInteger.valueOf(maxNumItems), null); } finally { lock.readLock().unlock(); } return objectFactory.convertChangeEvents(changeLogTokenHolder.getValue(), objectList); }
@Override protected AbstractPageFetcher.Page<Relationship> fetchPage(long skipCount) { // fetch the relationships ObjectList relList = relationshipService.getObjectRelationships(getRepositoryId(), id, includeSubRelationshipTypes, relationshipDirection, typeId, ctxt.getFilterString(), ctxt.isIncludeAllowableActions(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert relationship objects List<Relationship> page = new ArrayList<Relationship>(); if (relList.getObjects() != null) { for (ObjectData rod : relList.getObjects()) { CmisObject relationship = getObject(rod.getId(), ctxt); if (!(relationship instanceof Relationship)) { throw new CmisRuntimeException("Repository returned an object that is not a relationship!"); } page.add((Relationship) relationship); } } return new AbstractPageFetcher.Page<Relationship>(page, relList.getNumItems(), relList.hasMoreItems()); } });
@Override protected AbstractPageFetcher.Page<Relationship> fetchPage(long skipCount) { // fetch the relationships ObjectList relList = relationshipService.getObjectRelationships(getRepositoryId(), id, includeSubRelationshipTypes, relationshipDirection, typeId, ctxt.getFilterString(), ctxt.isIncludeAllowableActions(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert relationship objects List<Relationship> page = new ArrayList<Relationship>(); if (relList.getObjects() != null) { for (ObjectData rod : relList.getObjects()) { CmisObject relationship = getObject(rod.getId(), ctxt); if (!(relationship instanceof Relationship)) { throw new CmisRuntimeException("Repository returned an object that is not a relationship!"); } page.add((Relationship) relationship); } } return new AbstractPageFetcher.Page<Relationship>(page, relList.getNumItems(), relList.hasMoreItems()); } });
@Override protected AbstractPageFetcher.Page<Document> fetchPage(long skipCount) { // get all checked out documents ObjectList checkedOutDocs = navigationService.getCheckedOutDocs(getRepositoryId(), null, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<Document> page = new ArrayList<Document>(); if (checkedOutDocs.getObjects() != null) { for (ObjectData objectData : checkedOutDocs.getObjects()) { CmisObject doc = of.convertObject(objectData, ctxt); if (!(doc instanceof Document)) { // should not happen... continue; } page.add((Document) doc); } } return new AbstractPageFetcher.Page<Document>(page, checkedOutDocs.getNumItems(), checkedOutDocs.hasMoreItems()); } });
@Override protected AbstractPageFetcher.Page<Document> fetchPage(long skipCount) { // get checked out documents for this folder ObjectList checkedOutDocs = navigationService.getCheckedOutDocs(getRepositoryId(), objectId, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<Document> page = new ArrayList<Document>(); if (checkedOutDocs.getObjects() != null) { for (ObjectData objectData : checkedOutDocs.getObjects()) { CmisObject doc = objectFactory.convertObject(objectData, ctxt); if (!(doc instanceof Document)) { // should not happen... continue; } page.add((Document) doc); } } return new AbstractPageFetcher.Page<Document>(page, checkedOutDocs.getNumItems(), checkedOutDocs.hasMoreItems()); } });
@Override protected AbstractPageFetcher.Page<Document> fetchPage(long skipCount) { // get all checked out documents ObjectList checkedOutDocs = navigationService.getCheckedOutDocs(getRepositoryId(), null, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<Document> page = new ArrayList<Document>(); if (checkedOutDocs.getObjects() != null) { for (ObjectData objectData : checkedOutDocs.getObjects()) { CmisObject doc = of.convertObject(objectData, ctxt); if (!(doc instanceof Document)) { // should not happen... continue; } page.add((Document) doc); } } return new AbstractPageFetcher.Page<Document>(page, checkedOutDocs.getNumItems(), checkedOutDocs.hasMoreItems()); } });
@Override public List<Tree<FileableCmisObject>> getFolderTree(int depth, OperationContext context) { String objectId = getObjectId(); // get the folder tree List<ObjectInFolderContainer> providerContainerList = getBinding().getNavigationService().getFolderTree( getRepositoryId(), objectId, BigInteger.valueOf(depth), context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePathSegments(), null); return convertBindingContainer(providerContainerList, context); }
@Override protected AbstractPageFetcher.Page<CmisObject> fetchPage(long skipCount) { // get the children ObjectInFolderList children = navigationService.getChildren(getRepositoryId(), objectId, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), ctxt.isIncludePathSegments(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<CmisObject> page = new ArrayList<CmisObject>(); List<ObjectInFolderData> childObjects = children.getObjects(); if (childObjects != null) { for (ObjectInFolderData objectData : childObjects) { if (objectData.getObject() != null) { page.add(objectFactory.convertObject(objectData.getObject(), ctxt)); } } } return new AbstractPageFetcher.Page<CmisObject>(page, children.getNumItems(), children.hasMoreItems()); } });
@Override public List<Tree<FileableCmisObject>> getDescendants(int depth, OperationContext context) { String objectId = getObjectId(); // get the descendants List<ObjectInFolderContainer> providerContainerList = getBinding().getNavigationService().getDescendants( getRepositoryId(), objectId, BigInteger.valueOf(depth), context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePathSegments(), null); return convertBindingContainer(providerContainerList, context); }
@Override public List<Tree<FileableCmisObject>> getDescendants(int depth, OperationContext context) { String objectId = getObjectId(); // get the descendants List<ObjectInFolderContainer> providerContainerList = getBinding().getNavigationService().getDescendants( getRepositoryId(), objectId, BigInteger.valueOf(depth), context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePathSegments(), null); return convertBindingContainer(providerContainerList, context); }
@Override protected AbstractPageFetcher.Page<CmisObject> fetchPage(long skipCount) { // get the children ObjectInFolderList children = navigationService.getChildren(getRepositoryId(), objectId, ctxt.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt.getIncludeRelationships(), ctxt.getRenditionFilterString(), ctxt.isIncludePathSegments(), BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null); // convert objects List<CmisObject> page = new ArrayList<CmisObject>(); List<ObjectInFolderData> childObjects = children.getObjects(); if (childObjects != null) { for (ObjectInFolderData objectData : childObjects) { if (objectData.getObject() != null) { page.add(objectFactory.convertObject(objectData.getObject(), ctxt)); } } } return new AbstractPageFetcher.Page<CmisObject>(page, children.getNumItems(), children.hasMoreItems()); } });
@Override public List<Tree<FileableCmisObject>> getFolderTree(int depth, OperationContext context) { String objectId = getObjectId(); // get the folder tree List<ObjectInFolderContainer> providerContainerList = getBinding().getNavigationService().getFolderTree( getRepositoryId(), objectId, BigInteger.valueOf(depth), context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePathSegments(), null); return convertBindingContainer(providerContainerList, context); }
@Override public void refresh() { writeLock(); try { String objectId = getObjectId(); OperationContext oc = getCreationContext(); // get the latest data from the repository ObjectData objectData = getSession().getBinding().getObjectService().getObject(getRepositoryId(), objectId, oc.getFilterString(), oc.isIncludeAllowableActions(), oc.getIncludeRelationships(), oc.getRenditionFilterString(), oc.isIncludePolicies(), oc.isIncludeAcls(), null); // reset this object initialize(session, session.getTypeDefinition(objectType.getId()), objectData, creationContext); } finally { writeUnlock(); } }
@Override public void refresh() { writeLock(); try { String objectId = getObjectId(); OperationContext oc = getCreationContext(); // get the latest data from the repository ObjectData objectData = getSession().getBinding().getObjectService().getObject(getRepositoryId(), objectId, oc.getFilterString(), oc.isIncludeAllowableActions(), oc.getIncludeRelationships(), oc.getRenditionFilterString(), oc.isIncludePolicies(), oc.isIncludeAcls(), null); // reset this object initialize(session, session.getTypeDefinition(objectType.getId()), objectData, creationContext); } finally { writeUnlock(); } }
@Override public CmisObject getObject(String objectId, OperationContext context) { checkObjectId(objectId); checkContext(context); CmisObject result = null; // ask the cache first if (context.isCacheEnabled()) { result = cache.getById(objectId, context.getCacheKey()); if (result != null) { return result; } } // get the object ObjectData objectData = binding.getObjectService().getObject(getRepositoryId(), objectId, context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePolicies(), context.isIncludeAcls(), null); result = getObjectFactory().convertObject(objectData, context); // put into cache if (context.isCacheEnabled()) { cache.put(result, context.getCacheKey()); } return result; }
@Override public CmisObject getObject(String objectId, OperationContext context) { checkObjectId(objectId); checkContext(context); CmisObject result = null; // ask the cache first if (context.isCacheEnabled()) { result = cache.getById(objectId, context.getCacheKey()); if (result != null) { return result; } } // get the object ObjectData objectData = binding.getObjectService().getObject(getRepositoryId(), objectId, context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePolicies(), context.isIncludeAcls(), null); result = getObjectFactory().convertObject(objectData, context); // put into cache if (context.isCacheEnabled()) { cache.put(result, context.getCacheKey()); } return result; }
@Override public CmisObject getObjectByPath(String path, OperationContext context) { checkPath(path); checkContext(context); CmisObject result = null; // ask the cache first if (context.isCacheEnabled() && !cachePathOmit) { result = cache.getByPath(path, context.getCacheKey()); if (result != null) { return result; } } // get the object ObjectData objectData = binding.getObjectService().getObjectByPath(getRepositoryId(), path, context.getFilterString(), context.isIncludeAllowableActions(), context.getIncludeRelationships(), context.getRenditionFilterString(), context.isIncludePolicies(), context.isIncludeAcls(), null); result = getObjectFactory().convertObject(objectData, context); // put into cache if (context.isCacheEnabled()) { cache.putPath(path, result, context.getCacheKey()); } return result; }