本文整理了Java中javax.jcr.Item
类的一些代码示例,展示了Item
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Item
类的具体详情如下:
包路径:javax.jcr.Item
类名称:Item
[英]The Item
is the base interface of Node
and Property
.
[中]Item
是Node
和Property
的基本接口。
代码示例来源:origin: org.apache.jackrabbit/jackrabbit-jcr-commons
/**
* @see org.apache.jackrabbit.commons.predicate.DepthPredicate#matches(javax.jcr.Item)
*/
@Override
protected boolean matches(Item item) throws RepositoryException {
if (item.isNode()) {
return ((Node) item).getDefinition().isMandatory() == isMandatory;
}
return ((Property) item).getDefinition().isMandatory() == isMandatory;
}
}
代码示例来源:origin: org.onehippo.cms7/jcrdiff-core
public void moveTo(TreeItem newParent) throws JcrDiffException {
if (!(newParent instanceof JcrTreeNode)) {
throw new IllegalArgumentException("newParent must be a JcrTreeNode");
}
JcrTreeItem jcrTreeNode = (JcrTreeItem) newParent;
try {
String name = jcrItem.getName();
Session session = jcrItem.getSession();
Node targetParent = (Node) jcrTreeNode.jcrItem;
if (jcrItem instanceof Node) {
session.move(jcrItem.getPath(), targetParent.getPath() + "/" + name);
NodeIterator nodes = targetParent.getNodes(name);
while (nodes.hasNext()) {
jcrItem = nodes.nextNode();
}
} else {
Property property = (Property) jcrItem;
Property newProp;
if (!property.isMultiple()) {
newProp = targetParent.setProperty(property.getName(), property.getValue());
} else {
newProp = targetParent.setProperty(property.getName(), property.getValues(), property.getType());
}
property.remove();
jcrItem = newProp;
}
} catch (RepositoryException e) {
throw new JcrDiffException("Could not move item to new parent", e);
}
}
代码示例来源:origin: com.github.livesense/org.liveSense.sample.gwt.notes
/**
* {@inheritDoc}
*/
@Override
public String deleteNote(String path) {
String message = "The note was successfully deleted!";
try {
session.getItem(path).remove();
session.save();
} catch (RepositoryException e) {
log.error("deleteNote: error while deleting note {}: ", e);
message = "Failed to delete to note! Error: " + e.getMessage();
}
return message;
}
代码示例来源:origin: org.onehippo.jcr.console/hippo-jcr-console-api
public void registerVisitedItem(Item item) {
if (item != null && item.isNode()) {
try {
synchronized (visitedNodePathSet) {
visitedNodePathSet.add(item.getPath());
}
} catch (RepositoryException e) {
log.warn("Failed to retrieve item path.", e);
}
}
}
代码示例来源:origin: org.apache.sling/org.apache.sling.servlets.post
public void move(Object src, Object dstParent, String name)
throws PersistenceException {
try {
final Session session = ((Item)src).getSession();
final Item source = ((Item)src);
final String targetParentPath = ((Node)dstParent).getPath();
final String targetPath = (targetParentPath.equals("/") ? "" : targetParentPath) + '/' + name;
session.move(source.getPath(), targetPath);
} catch ( final RepositoryException re) {
throw new PersistenceException(re.getMessage(), re);
}
}
代码示例来源:origin: apache/jackrabbit
/**
*
* @param item
* @return
*/
private boolean isFilteredNamespace(Item item) {
try {
return isFilteredNamespace(item.getName(), item.getSession());
} catch (RepositoryException e) {
log.warn(e.getMessage());
}
return false;
}
代码示例来源:origin: apache/jackrabbit
public void testGetExternallyChangedNode() throws RepositoryException {
// Access node1 through session 1
Node node1 = (Node) readOnly.getItem(node1Path);
// Add node and property through session 2
Node n2 = testRootNode.getNode(nodeName1).addNode(nodeName2);
Property p3 = n2.setProperty(propertyName1, "test");
testRootNode.save();
// Assert added nodes are visible in session 1 after refresh
node1.refresh(false);
assertTrue(readOnly.itemExists(n2.getPath()));
assertTrue(readOnly.itemExists(p3.getPath()));
Item m2 = readOnly.getItem(n2.getPath());
assertTrue(m2.isNode());
assertTrue(((Node) m2).hasProperty(propertyName1));
// Remove property through session 2
p3.remove();
testRootNode.save();
// Assert removal is visible through session 1
node1.refresh(false);
assertFalse(((Node) m2).hasProperty(propertyName1));
}
代码示例来源:origin: apache/jackrabbit
public void testGetExternallyChangedProperty() throws RepositoryException {
// Access node1 through session 1
Node node1 = (Node) readOnly.getItem(node1Path);
// Add node and property through session 2
Node n2 = testRootNode.getNode(nodeName1).addNode(nodeName2);
Property p3 = n2.setProperty(propertyName1, "test");
p3.setValue("v3");
testRootNode.save();
// Assert added nodes are visible in session 1 after refresh
node1.refresh(false);
assertTrue(readOnly.itemExists(n2.getPath()));
assertTrue(readOnly.itemExists(p3.getPath()));
Item q3 = readOnly.getItem(p3.getPath());
assertFalse(q3.isNode());
assertTrue("v3".equals(((Property) q3).getString()));
// Change property value through session 2
p3.setValue("v3_modified");
testRootNode.save();
// Assert modification is visible through session 1
node1.refresh(false);
assertTrue("v3_modified".equals(((Property) q3).getString()));
}
代码示例来源:origin: apache/jackrabbit-oak
@Test
public void sessionRefresh() throws RepositoryException {
Session session = getAdminSession();
// Add some items and ensure they are accessible through this session
session.getNode("/").addNode("node1");
session.getNode("/node1").addNode("node2");
session.getNode("/").addNode("node1/node3");
Node node1 = session.getNode("/node1");
assertEquals("/node1", node1.getPath());
Node node2 = session.getNode("/node1/node2");
assertEquals("/node1/node2", node2.getPath());
Node node3 = session.getNode("/node1/node3");
assertEquals("/node1/node3", node3.getPath());
node3.setProperty("property1", "value1");
Item property1 = session.getProperty("/node1/node3/property1");
assertFalse(property1.isNode());
assertEquals("value1", ((Property) property1).getString());
// Make sure these items are still accessible after refresh(true);
session.refresh(true);
assertTrue(session.itemExists("/node1"));
assertTrue(session.itemExists("/node1/node2"));
assertTrue(session.itemExists("/node1/node3"));
assertTrue(session.itemExists("/node1/node3/property1"));
session.refresh(false);
// Make sure these items are not accessible after refresh(false);
assertFalse(session.itemExists("/node1"));
assertFalse(session.itemExists("/node1/node2"));
assertFalse(session.itemExists("/node1/node3"));
assertFalse(session.itemExists("/node1/node3/property1"));
}
代码示例来源:origin: org.onehippo.cms7/hippo-cms-xinha-integration
public RichTextLink loadLink(String relPath) throws RichTextException {
if (Strings.isEmpty(relPath)) {
throw new IllegalArgumentException("Link path is empty");
}
relPath = RichTextUtil.decode(relPath);
try {
Node node = nodeModel.getNode();
Node linkNode = node.getNode(relPath);
if (linkNode.isNodeType(HippoNodeType.NT_FACETSELECT)) {
String uuid = linkNode.getProperty(HippoNodeType.HIPPO_DOCBASE).getValue().getString();
Item item = node.getSession().getNodeByUUID(uuid);
if (item != null) {
JcrNodeModel model = new JcrNodeModel(item.getPath());
return new RichTextLink(model, relPath);
} else {
throw new RichTextException("Facetselect points to non-existing uuid" + uuid);
}
} else {
throw new RichTextException("Found node is not a facetselect");
}
} catch (PathNotFoundException e) {
throw new RichTextException("Error finding facet node for relative path " + relPath, e);
} catch (RepositoryException e) {
throw new RichTextException("Error finding facet node for relative path " + relPath, e);
}
}
代码示例来源:origin: org.onehippo.ecm.hst/hst-client
private RepositorySource getRepositoryTemplate(String absPath) {
String template = null;
Session session = null;
try {
session = getSession();
if(session.itemExists(absPath)) {
Item item = session.getItem(absPath);
if(item.isNode()) {
template = ((Node)item).getProperty(HstNodeTypes.SCRIPT_PROPERTY_TEMPLATE).getValue().getString();
} else {
template = ((Property)item).getValue().getString();
}
return new RepositorySource(template);
}
} catch (RepositoryException e) {
e.printStackTrace();
} finally {
if(session != null) {
session.logout();
}
}
if(template == null ) {
template = "Template source '"+ absPath +"' not found in the repository. ";
}
return RepositorySource.repositorySourceNotFound;
}
代码示例来源:origin: org.onehippo.cms7/hippo-cms-xinha-integration
private boolean isValid(IDetachable targetId) {
if (!(targetId instanceof JcrNodeModel)) {
return false;
}
JcrNodeModel selectedModel = (JcrNodeModel) targetId;
Node node = selectedModel.getObject();
if (node == null) {
return false;
}
try {
if (node.isNodeType("hippo:handle")) {
Node doc = node.getNode(node.getName());
Item primary = JcrHelper.getPrimaryItem(doc);
return (primary.isNode() && ((Node) primary).isNodeType("hippo:resource"));
}
} catch (RepositoryException e) {
log.error(e.getMessage());
}
return false;
}
代码示例来源:origin: apache/jackrabbit
private void checkHierarchy() throws PathNotFoundException, RepositoryException, ItemNotFoundException,
AccessDeniedException {
for (Iterator<ItemInfo> itemInfos = itemInfoStore.getItemInfos(); itemInfos.hasNext();) {
ItemInfo itemInfo = itemInfos.next();
String jcrPath = toJCRPath(itemInfo.getPath());
Item item = session.getItem(jcrPath);
assertEquals(jcrPath, item.getPath());
if (item.getDepth() > 0) {
Node parent = item.getParent();
if (item.isNode()) {
assertTrue(item.isSame(parent.getNode(item.getName())));
}
else {
assertTrue(item.isSame(parent.getProperty(item.getName())));
}
}
}
}
代码示例来源:origin: pentaho/pentaho-platform
public Void doInJcr( final Session session ) throws RepositoryException {
if ( !session.itemExists( absPath ) ) {
int lastSlashIdx = absPath.lastIndexOf( '/' );
String parentPath = absPath.substring( 0, lastSlashIdx );
Node parentNode = (Node) session.getItem( parentPath );
Calendar cal = Calendar.getInstance();
cal.setTime( date );
parentNode.setProperty( absPath.substring( lastSlashIdx + 1 ), cal );
} else {
Item item = session.getItem( absPath );
Assert.isTrue( !item.isNode() );
Calendar cal = Calendar.getInstance();
cal.setTime( date );
( (Property) item ).setValue( cal );
}
session.save();
return null;
}
} );
代码示例来源:origin: org.onehippo.cms7.hst/hst-client
try {
session = createSession();
if (session.itemExists(absPath)) {
Item item = session.getItem(absPath);
if (item.isNode()) {
Node templateNode = (Node) item;
if (templateNode.isNodeType(JcrConstants.NT_FILE)) {
return createRepositorySourceFromBinary(templateNode, absPath);
} else {
return createRepositorySource(((Property) item).getValue().getString(), absPath);
} finally {
if (session != null) {
session.logout();
代码示例来源:origin: apache/jackrabbit
public void testRemove() throws RepositoryException {
String srcPath = moveNode.getPath();
doMove(srcPath, destinationPath);
// now remove the moved node
testRootNode.getSession().getItem(destinationPath).remove();
assertFalse(superuser.itemExists(srcPath));
assertFalse(superuser.itemExists(destinationPath));
testRootNode.save();
assertFalse(superuser.itemExists(srcPath));
assertFalse(superuser.itemExists(destinationPath));
assertFalse(destParentNode.isModified());
assertFalse(srcParentNode.isModified());
}
代码示例来源:origin: apache/jackrabbit
public void testRevert() throws RepositoryException {
String srcPath = moveNode.getPath();
doMove(srcPath, destinationPath);
// now remove the moved node
testRootNode.getSession().getItem(destinationPath).remove();
testRootNode.refresh(false);
assertTrue(superuser.itemExists(srcPath));
assertFalse(superuser.itemExists(destinationPath));
assertFalse(moveNode.isModified());
assertFalse(destParentNode.isModified());
assertFalse(srcParentNode.isModified());
}
代码示例来源:origin: apache/jackrabbit-oak
/**
* @see Item#isSame(javax.jcr.Item)
*/
@Override
public boolean isSame(Item otherItem) throws RepositoryException {
if (this == otherItem) {
return true;
}
// The objects are either both Node objects or both Property objects.
if (isNode() != otherItem.isNode()) {
return false;
}
// Test if both items belong to the same repository
// created by the same Repository object
if (!getSession().getRepository().equals(otherItem.getSession().getRepository())) {
return false;
}
// Both objects were acquired through Session objects bound to the same
// repository workspace.
if (!getSession().getWorkspace().getName().equals(otherItem.getSession().getWorkspace().getName())) {
return false;
}
if (isNode()) {
return ((Node) this).getIdentifier().equals(((Node) otherItem).getIdentifier());
} else {
return getName().equals(otherItem.getName()) && getParent().isSame(otherItem.getParent());
}
}
代码示例来源:origin: info.magnolia.ui/magnolia-ui-framework-compatibility
@Test
public void getJcrItemProperty() throws RepositoryException {
// GIVEN
Node node1 = AbstractJcrContainerTest.createNode(rootNode, "node1", NodeTypes.Content.NAME, PROPERTY_1, "name1");
node1.getSession().save();
// WHEN
JcrPropertyItemId propertyId = new JcrPropertyItemId(node1.getIdentifier(), workspace, PROPERTY_1);
Item res = container.getJcrItem(propertyId);
// THEN
assertNotNull(res);
assertFalse(res.isNode());
}
代码示例来源:origin: info.magnolia.ui/magnolia-ui-framework-compatibility
@Test
public void testSetCommonAttributesWithProperty() throws Exception {
// GIVEN
String nodeName = "nodeName";
Node testNode = session.getRootNode().addNode(nodeName);
String propertyName = "propertyName";
String propertyValue = "propertyValue";
Property testProperty = testNode.setProperty(propertyName, propertyValue);
// WHEN
DummyJcrAdapter adapter = new DummyJcrAdapter(testProperty);
// THEN
assertFalse(adapter.isNode());
assertEquals(workspaceName, adapter.getWorkspace());
assertEquals(JcrItemUtil.getItemId(testProperty), adapter.getItemId());
assertEquals(testProperty.getPath(), adapter.getJcrItem().getPath());
}
内容来源于网络,如有侵权,请联系作者删除!