Modeshape文档的7.1.6节说:“您的应用程序现在可以使用标准JCR 2.0 API创建和删除工作区。”
JCR 2.0文档说要使用Workspace.createWorkspace(String name)
如何使用此博文底部的代码来获取我的存储库的这一部分?
另外,如何获取存储库中已经存在的工作区列表?
谢谢
for (RepositoryFactory factory : ServiceLoader.load(RepositoryFactory.class)) {
if (factory instanceof org.modeshape.jcr.api.RepositoryFactory) {
org.modeshape.jcr.api.RepositoryFactory modeshapeRepositoryFactory = (org.modeshape.jcr.api.RepositoryFactory) factory;
final Repositories repositories = modeshapeRepositoryFactory.getRepositories(JCR_CONFIG_FILE_URL);
if (repositories != null) {
Set<String> repositoryNames = repositories.getRepositoryNames();
if (repositoryNames != null) {
for (String repoName : repositoryNames) {
log.info(repoName);
}
}
}
else {
System.out.println("repositories reference was null");
}
}
try {
repository = factory.getRepository(parameters);
if (repository != null) {
printRepoDetails(repository, parameters, factory);
repositoryFactory = factory; // Keep …Run Code Online (Sandbox Code Playgroud) 我很难找到使用SQL2查询语言比较日期.
我希望能够做到这样的事情:
SELECT p.* FROM [nt:base] AS p WHERE EXTRACT(YEAR FROM p.[some_date]) = "2008"
Run Code Online (Sandbox Code Playgroud)
可能吗?这些约束之王的最佳技术是什么?
谢谢.
我正在尝试在Java类的上下文中将JCR节点作为JSON.我很好奇是否有一个JCR的内部API,它将Node作为JSON返回它的子节点数组.
一个很好的例子是你在浏览器中向mynode.infinity.json发出请求时得到的输出.
我看了JsonJcrNode类,它确实给了我想要的东西,但它排除了目标节点的子节点.
我想我将不得不手动获取一个节点及其子节点,然后遍历属性并手动创建我的JSONObject.我只是好奇,如果已经完成或者我还缺少任何其他可以帮助我解决这个问题的界面.
谢谢,
布罗迪
我使用JCR Query从Hippo存储库获取一些新闻.结果我得到这种格式的日期:
2011-04-07T08:34:13.093Z
Run Code Online (Sandbox Code Playgroud)
有谁能告诉我如何将其转换为这样:
07-04-2011 08:34
Run Code Online (Sandbox Code Playgroud)
以一种简单的方式.
谢谢!!
从JCR和Jackrabbit开始,我不明白工作空间是什么以及如何使用它.为什么它首先被命名为工作空间?存储库是数据库,工作空间如表格和项目如行(或几乎)?
我已成功创建并部署了一个捆绑包(Servlet),它接受用户的用户名和密码,现在我想将它保存在/ content/mydata下的JCR Repository /我得到了Exception
java.lang.IllegalArgumentException: relPath is not a relative path: {} {}oliver
Run Code Online (Sandbox Code Playgroud)
这是我的代码
public class CustomerJCRAccessImp implements CustomerService {
@Reference
protected SlingRepository repository;
protected static final Logger log = LoggerFactory.getLogger(CustomerJCRAccessImp.class);
public void insertData(String username, String password) throws Exception {
log.error("Username ::"+username+" Password ::"+password);
log.error("XXX:: Inside the Service Method");
Session session= repository.loginAdministrative(null);
Node node= session.getRootNode();
Node contentNode = node.getNode("content");
//node.i
Node myAppNode = contentNode.getNode("myApp");
log.error("THE VALUE OF myApp NODE ::"+myAppNode);
Node user = myAppNode.addNode("/"+username);
user.setProperty("Roll No", "1");
user.setProperty("Age", "10");
user.setPrimaryType("nt:unstructured"); …Run Code Online (Sandbox Code Playgroud) 这是我得到的错误.
16.03.2016 12:02:16.413 WARN [xxx.xxx.xx.xxx [1458147736268] GET/en/employees-leaders/employee-s-toolkit2/epd-update/epd-update-archives/caterpillar-news/coming- brand-webinarfocusonmarketing.html HTTP/1.1] com.day.cq.wcm.core.impl.LanguageManagerImpl检索语言属性时出错.javax.jcr.AccessDeniedException:无法读取项目xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(字母数字)
我试图使用xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx在JCR中找到节点,我认为这是uuid,使用AEM中的查询.
我尝试在jcr中运行带有上述id的sql,但是没有返回任何结果.
//*[jcr:contains(., '91186155-45ad-474-9ad9-d5156a398629')] order by @jcr:score descending
Run Code Online (Sandbox Code Playgroud)
任何其他见解将不胜感激.
在我的 jcr 节点中,我有密钥subpage并且它保存了 type 的值String[]:
{"title":"some title1", "url":"some url1"}
{"title":"some title2", "url":"some url2"}
{"title":"some title3", "url":"some url3"}
{"title":"some title4", "url":"some url4"}
Run Code Online (Sandbox Code Playgroud)
我如何在java中访问它?
我试过:
ValueMap contentValueMap = resource.getValueMap();
String subpages = contentValueMap.get("subpage", String.class);
System.out.println(subpages);
Run Code Online (Sandbox Code Playgroud)
但它只打印第一个字符串:
{"title":"some title1", "url":"some url1"}
Run Code Online (Sandbox Code Playgroud)
我怎样才能联系到他们中的其他人?
我需要在 AEM 查询构建器中进行搜索并绑定到仅获取尚未移动到新位置的标签。
添加到旧标签的唯一属性是“ cq:movedTo”,它具有到新位置的路径。
但是当我尝试搜索没有这个属性的标签时,我没有得到任何结果:
property=cq:movedTo
property.operation=no
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?搜索由第 3 方完成,无法处理它收到的标签列表。所以我只需要通过这个查询获取正确的列表。
我正在开发一个相当简单的AEM组件,但我不了解最佳实践.
例如,假设我想存储一组Link对象,每个对象都包含一个href和title属性.
这可以通过两种方式存储:
[1]每个链接作为一个单独的节点:
component
??? link_1
? ??? .href = "#1"
? ??? .title = "T1"
??? link_2
??? .href = "#2"
??? .title = "T2"
Run Code Online (Sandbox Code Playgroud)
[2]作为下面的JSONArray属性component:
component
??? .links = [{"href":"#1", "title":"T1"}, {"href":"#2", "title":"T2"}]
Run Code Online (Sandbox Code Playgroud)
写完之后,我想我回答了自己的问题......
尽管Option [2]对组件开发很有吸引力,但当JCR/Sling数据建模已经提供了这种层次结构时,它似乎是多余的.
我理解正确吗?
我知道可以导出一个ResourceJSON,但是可以SyntheticResource从JSON 导入/创建一个吗?
SyntheticResourcelink节点存储在单独的不同父节点下面以进行组织?component
??? links
??? link_1
? ??? .href = "#1"
? ??? .title = "T1"
??? link_2
??? …