當前位置: 首頁>>代碼示例>>Java>>正文


Java Node.isCheckedOut方法代碼示例

本文整理匯總了Java中javax.jcr.Node.isCheckedOut方法的典型用法代碼示例。如果您正苦於以下問題:Java Node.isCheckedOut方法的具體用法?Java Node.isCheckedOut怎麽用?Java Node.isCheckedOut使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.jcr.Node的用法示例。


在下文中一共展示了Node.isCheckedOut方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: lockPath

import javax.jcr.Node; //導入方法依賴的package包/類
@Override
public void lockPath(String path,User user) throws Exception{
	path = processPath(path);
	int pos=path.indexOf(":");
	if(pos!=-1){
		path=path.substring(0,pos);
	}
	Node rootNode=getRootNode();
	if (!rootNode.hasNode(path)) {
		throw new RuleException("File [" + path + "] not exist.");
	}
	Node fileNode = rootNode.getNode(path);
	String topAbsPath=fileNode.getPath();
	if(lockManager.isLocked(topAbsPath)){
		String owner=lockManager.getLock(topAbsPath).getLockOwner();
		throw new NodeLockException("【"+path+"】已被"+owner+"鎖定,您不能進行再次鎖定!");
	}
	List<Node> nodeList=new ArrayList<Node>();
	unlockAllChildNodes(fileNode, user, nodeList, path);
	for(Node node:nodeList){
		if(!lockManager.isLocked(node.getPath())){
			continue;
		}
		Lock lock=lockManager.getLock(node.getPath());
		lockManager.unlock(lock.getNode().getPath());
	}
	if(!fileNode.isNodeType(NodeType.MIX_LOCKABLE)){
		if (!fileNode.isCheckedOut()) {
			versionManager.checkout(fileNode.getPath());
		}
		fileNode.addMixin("mix:lockable");
		session.save();
	}
	lockManager.lock(topAbsPath, true, true, Long.MAX_VALUE, user.getUsername());				
}
 
開發者ID:youseries,項目名稱:urule,代碼行數:36,代碼來源:RepositoryServiceImpl.java

示例2: deleteFile

import javax.jcr.Node; //導入方法依賴的package包/類
public void deleteFile(String path,User user) throws Exception{
	if(!permissionService.fileHasWritePermission(path)){
		throw new NoPermissionException();
	}
	repositoryInteceptor.deleteFile(path);
	path = processPath(path);
	Node rootNode=getRootNode();
	if (!rootNode.hasNode(path)) {
		throw new RuleException("File [" + path + "] not exist.");
	}
	String[] subpaths = path.split("/");
	Node fileNode = rootNode;
	for (String subpath : subpaths) {
		if (StringUtils.isEmpty(subpath)) {
			continue;
		}
		String subDirs[] = subpath.split("\\.");
		for (String dir : subDirs) {
			if (StringUtils.isEmpty(dir)) {
				continue;
			}
			if (!fileNode.hasNode(dir)) {
				continue;
			}
			fileNode = fileNode.getNode(dir);
			lockCheck(fileNode,user);
			if (!fileNode.isCheckedOut()) {
				versionManager.checkout(fileNode.getPath());
			}
		}
	}
	fileNode = rootNode.getNode(path);
	lockCheck(fileNode,user);
	if (!fileNode.isCheckedOut()) {
		versionManager.checkout(fileNode.getPath());
	}
	fileNode.remove();
	session.save();
}
 
開發者ID:youseries,項目名稱:urule,代碼行數:40,代碼來源:RepositoryServiceImpl.java

示例3: isCheckedOutThrowsException

import javax.jcr.Node; //導入方法依賴的package包/類
@Test(expected = UnsupportedOperationException.class)
public void isCheckedOutThrowsException() throws Exception {
	Node testObj = aNode("/content");
	
	testObj.isCheckedOut();
}
 
開發者ID:quatico-solutions,項目名稱:aem-testing,代碼行數:7,代碼來源:MockNodeTest.java


注:本文中的javax.jcr.Node.isCheckedOut方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。