• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java NodeTypeTemplate类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javax.jcr.nodetype.NodeTypeTemplate的典型用法代码示例。如果您正苦于以下问题:Java NodeTypeTemplate类的具体用法?Java NodeTypeTemplate怎么用?Java NodeTypeTemplate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



NodeTypeTemplate类属于javax.jcr.nodetype包,在下文中一共展示了NodeTypeTemplate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: registerMixinNodeType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
private static void registerMixinNodeType( NodeTypeManager nodeTypeManager, String name )
    throws RepositoryException
{
    NodeTypeTemplate nodeType = nodeTypeManager.createNodeTypeTemplate();
    nodeType.setMixin( true );
    nodeType.setName( name );

    // for now just don't re-create - but in future if we change the definition, make sure to remove first as an
    // upgrade path
    if ( !nodeTypeManager.hasNodeType( name ) )
    {
        nodeTypeManager.registerNodeType( nodeType, false );
    }
}
 
开发者ID:ruikom,项目名称:apache-archiva,代码行数:15,代码来源:JcrMetadataRepository.java


示例2: registerMixinNodeType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
private static void registerMixinNodeType( NodeTypeManager nodeTypeManager, String type )
    throws RepositoryException
{
    NodeTypeTemplate nodeType = nodeTypeManager.createNodeTypeTemplate();
    nodeType.setMixin( true );
    nodeType.setName( type );
    nodeTypeManager.registerNodeType( nodeType, false );
}
 
开发者ID:ruikom,项目名称:apache-archiva,代码行数:9,代码来源:JcrRepositoryStatisticsGatheringTest.java


示例3: setUp

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Override
@Before
public void setUp() throws Exception {
    super.setUp();
    session = MgnlContext.getInstance().getJCRSession("website");
    // register node type
    NodeTypeManager nodeTypeManager = session.getWorkspace().getNodeTypeManager();
    NodeTypeTemplate type = NodeTypeTemplateUtil.createSimpleNodeType(nodeTypeManager, "mgnl:apex",
            Arrays.asList(NodeType.NT_HIERARCHY_NODE, NodeType.MIX_REFERENCEABLE, NodeTypes.Created.NAME, NodeTypes.Activatable.NAME, NodeTypes.LastModified.NAME, NodeTypes.Renderable.NAME));
    nodeTypeManager.registerNodeType(type, true);
    session.save();

    new PropertiesImportExport().createNodes(session.getRootNode(), IOUtils.toInputStream(rootTree));
    session.save();

    // silly but can't use : in name in util
    session.move("/home/mgnl_apex", "/home/mgnl:apex");
    session.move("/home/section/mgnl_apex", "/home/section/mgnl:apex");
    session.move("/home/section2/mgnl_apex", "/home/section2/mgnl:apex");
    session.move("/home/section/article/mgnl_apex", "/home/section/article/mgnl:apex");
    session.move("/home/section2/article/mgnl_apex", "/home/section2/article/mgnl:apex");
    session.save();

    Components.getSingleton(RepositoryManager.class).createWorkspace("magnolia", "category");
    Session catSession = MgnlContext.getInstance().getJCRSession("category");
    // register node type
    NodeTypeManager catNodeTypeManager = catSession.getWorkspace().getNodeTypeManager();
    type = NodeTypeTemplateUtil.createSimpleNodeType(nodeTypeManager, "category", Arrays.asList(NodeType.NT_HIERARCHY_NODE, NodeType.MIX_REFERENCEABLE, NodeTypes.Created.NAME, NodeTypes.Activatable.NAME, NodeTypes.LastModified.NAME, NodeTypes.Renderable.NAME));
    nodeTypeManager.registerNodeType(type, true);

    catNode = catSession.getRootNode().addNode("foo", "category");
    catNode.addNode("foobar", "mgnl:content");
    catNode.setProperty("name", "myCategory");
    catSession.save();
    MgnlContext.setLocale(null);
    ComponentsTestUtil.setInstance(I18nContentSupport.class, new DefaultI18nContentSupport());

}
 
开发者ID:rah003,项目名称:neat-jsonfn,代码行数:39,代码来源:JsonBuilderTest.java


示例4: before

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Before
public void before() throws Exception {
    super.before();

    ntMgr = new ReadWriteNodeTypeManager() {
        @Override
        protected Root getWriteRoot() {
            return root;
        }

        @Override
        protected Tree getTypes() {
            return root.getTree(NODE_TYPES_PATH);
        }
    };
    if (!ntMgr.hasNodeType(NT_NAME)) {
        NodeTypeTemplate tmpl = ntMgr.createNodeTypeTemplate();
        tmpl.setName(NT_NAME);
        tmpl.setDeclaredSuperTypeNames(new String[]{JcrConstants.MIX_REFERENCEABLE, JcrConstants.NT_UNSTRUCTURED});
        ntMgr.registerNodeType(tmpl, true);
    }

    NodeUtil a = new NodeUtil(root.getTree("/a"));
    NodeUtil test = a.addChild("referenceable", NT_NAME);
    test.setString(JcrConstants.JCR_UUID, IdentifierManager.generateUUID());
    referenceablePath = test.getTree().getPath();
}
 
开发者ID:denismo,项目名称:jackrabbit-dynamodb-store,代码行数:28,代码来源:JcrUUIDTest.java


示例5: createMyCollabFolderType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
private NodeTypeTemplate createMyCollabFolderType(NodeTypeManager manager) throws RepositoryException {
    // Create content node type
    NodeTypeTemplate contentTypeTemplate = manager.createNodeTypeTemplate();

    contentTypeTemplate.setAbstract(false);
    contentTypeTemplate.setMixin(false);
    contentTypeTemplate.setName("mycollab:folder");
    contentTypeTemplate.setPrimaryItemName("folder");
    contentTypeTemplate.setDeclaredSuperTypeNames(new String[]{NodeType.NT_FOLDER});
    contentTypeTemplate.setQueryable(true);
    contentTypeTemplate.setOrderableChildNodes(false);

    PropertyDefinitionTemplate createdPropertyTemplate = manager
            .createPropertyDefinitionTemplate();
    createdPropertyTemplate.setMultiple(false);
    createdPropertyTemplate.setName("mycollab:createdUser");
    createdPropertyTemplate.setMandatory(true);
    createdPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(createdPropertyTemplate);

    PropertyDefinitionTemplate descPropertyTemplate = manager
            .createPropertyDefinitionTemplate();
    descPropertyTemplate.setMultiple(false);
    descPropertyTemplate.setName("jcr:description");
    descPropertyTemplate.setMandatory(false);
    descPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(descPropertyTemplate);

    return contentTypeTemplate;
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:31,代码来源:ContentSessionFactory.java


示例6: createWikiFolderType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private NodeTypeTemplate createWikiFolderType(NodeTypeManager manager) throws RepositoryException {
    // Create content node type
    NodeTypeTemplate folderTypeTemplate = manager.createNodeTypeTemplate();

    folderTypeTemplate.setAbstract(false);
    folderTypeTemplate.setMixin(false);
    folderTypeTemplate.setName("wiki:folder");
    folderTypeTemplate.setPrimaryItemName("folder");
    folderTypeTemplate.setDeclaredSuperTypeNames(new String[]{NodeType.NT_FOLDER});
    folderTypeTemplate.setQueryable(true);
    folderTypeTemplate.setOrderableChildNodes(false);

    PropertyDefinitionTemplate createdPropertyTemplate = manager.createPropertyDefinitionTemplate();
    createdPropertyTemplate.setMultiple(false);
    createdPropertyTemplate.setName("wiki:createdUser");
    createdPropertyTemplate.setMandatory(true);
    createdPropertyTemplate.setRequiredType(PropertyType.STRING);
    folderTypeTemplate.getPropertyDefinitionTemplates().add(createdPropertyTemplate);

    PropertyDefinitionTemplate namePropertyTemplate = manager.createPropertyDefinitionTemplate();
    namePropertyTemplate.setMultiple(false);
    namePropertyTemplate.setName("wiki:name");
    namePropertyTemplate.setMandatory(true);
    namePropertyTemplate.setRequiredType(PropertyType.STRING);
    folderTypeTemplate.getPropertyDefinitionTemplates().add(namePropertyTemplate);

    PropertyDefinitionTemplate descPropertyTemplate = manager.createPropertyDefinitionTemplate();
    descPropertyTemplate.setMultiple(false);
    descPropertyTemplate.setName("wiki:description");
    descPropertyTemplate.setMandatory(true);
    descPropertyTemplate.setRequiredType(PropertyType.STRING);
    folderTypeTemplate.getPropertyDefinitionTemplates().add(descPropertyTemplate);
    return folderTypeTemplate;
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:36,代码来源:PageSessionFactory.java


示例7: onLoaded

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Override
public void onLoaded(AbstractResourceModelContext modelContext) {
    try {
        final Session session= this.sessionFactory.getInternalSession();
        /* make sure that the scape namespace is available in fcrepo */
        final Dataset namespace =
                this.repositoryService.getNamespaceRegistryDataset(session, new DefaultIdentifierTranslator());
        UpdateAction.parseExecute(
                "INSERT {<http://scapeproject.eu/model#> <" +
                        RdfLexicon.HAS_NAMESPACE_PREFIX + "> \"scape\"} WHERE {}",
                namespace);
        session.save();
        // Get the node type manager ...
        final NodeTypeManager mgr =
                session.getWorkspace().getNodeTypeManager();

        // Create templates for the node types ...
        final NodeTypeTemplate planType = mgr.createNodeTypeTemplate();
        planType.setName("scape:plan");
        planType.setDeclaredSuperTypeNames(new String[] {
                "fedora:resource", "fedora:object"});
        planType.setMixin(true);
        planType.setQueryable(true);
        planType.setAbstract(false);
        planType.getPropertyDefinitionTemplates().add(createMultiPropertyDefTemplate(session, mgr, "scape:hasExecState"));


        // and register them
        mgr.registerNodeTypes(new NodeTypeDefinition[] {planType}, true);

    } catch (RepositoryException e) {
        LOG.error("Error while setting up scape namespace", e);
        throw new RuntimeException("Unable to setup scape on fedora");
    }
}
 
开发者ID:openpreserve,项目名称:scape-fcrepo4-planmanagement,代码行数:36,代码来源:ScapeNamespaceInitializer.java


示例8: addMixin

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
/**
 * Add a mixin to a node
 * @param resource the fedora resource
 * @param mixinResource the mixin resource
 * @param namespaces the namespace
 * @throws RepositoryException if repository exception occurred
 */
public void addMixin(final FedoraResource resource,
                     final Resource mixinResource,
                     final Map<String,String> namespaces)
        throws RepositoryException {

    final Node node = getJcrNode(resource);
    final Session session = node.getSession();
    final String mixinName = getPropertyNameFromPredicate(node, mixinResource, namespaces);
    if (!repositoryHasType(session, mixinName)) {
        final NodeTypeManager mgr = session.getWorkspace().getNodeTypeManager();
        final NodeTypeTemplate type = mgr.createNodeTypeTemplate();
        type.setName(mixinName);
        type.setMixin(true);
        type.setQueryable(true);
        mgr.registerNodeType(type, false);
    }

    if (node.isNodeType(mixinName)) {
        LOGGER.trace("Subject {} is already a {}; skipping", node, mixinName);
        return;
    }

    if (node.canAddMixin(mixinName)) {
        LOGGER.debug("Adding mixin: {} to node: {}.", mixinName, node.getPath());
        node.addMixin(mixinName);
    } else {
        throw new MalformedRdfException("Could not persist triple containing type assertion: "
                + mixinResource.toString()
                + " because no such mixin/type can be added to this node: "
                + node.getPath() + "!");
    }
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:40,代码来源:JcrRdfTools.java


示例9: testRdfTypeInheritance

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Test
public void testRdfTypeInheritance() throws RepositoryException {
    final Session jcrSession = getJcrSession(session);
    final NodeTypeManager mgr = jcrSession.getWorkspace().getNodeTypeManager();
    //create supertype mixin
    final NodeTypeTemplate type1 = mgr.createNodeTypeTemplate();
    type1.setName("test:aSupertype");
    type1.setMixin(true);
    final NodeTypeDefinition[] nodeTypes = new NodeTypeDefinition[]{type1};
    mgr.registerNodeTypes(nodeTypes, true);

    //create a type inheriting above supertype
    final NodeTypeTemplate type2 = mgr.createNodeTypeTemplate();
    type2.setName("test:testInher");
    type2.setMixin(true);
    type2.setDeclaredSuperTypeNames(new String[]{"test:aSupertype"});
    final NodeTypeDefinition[] nodeTypes2 = new NodeTypeDefinition[]{type2};
    mgr.registerNodeTypes(nodeTypes2, true);

    //create object with inheriting type
    FedoraResource object = containerService.findOrCreate(session, "/testNTTnheritanceObject");
    final javax.jcr.Node node = getJcrNode(object);
    node.addMixin("test:testInher");

    session.commit();
    session.expire();
    session = repo.login();

    object = containerService.findOrCreate(session, "/testNTTnheritanceObject");

    //test that supertype has been inherited as rdf:type
    final Node s = createGraphSubjectNode(object);
    final Node p = type.asNode();
    final Node o = createProperty("info:fedora/test/aSupertype").asNode();
    assertTrue("supertype test:aSupertype not found inherited in test:testInher!",
            object.getTriples(subjects, PROPERTIES).collect(toModel()).getGraph().contains(s, p, o));
}
 
开发者ID:fcrepo4,项目名称:fcrepo4,代码行数:38,代码来源:FedoraResourceImplIT.java


示例10: createNodeTypeTemplate

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Override
public NodeTypeTemplate createNodeTypeTemplate()
        throws RepositoryException {
    throw new UnsupportedRepositoryOperationException();
}
 
开发者ID:denismo,项目名称:jackrabbit-dynamodb-store,代码行数:6,代码来源:ReadOnlyNodeTypeManager.java


示例11: createNodeTypeTemplate

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@Override
public NodeTypeTemplate createNodeTypeTemplate() {
    return new NodeTypeTemplateImpl(getNamePathMapper());
}
 
开发者ID:denismo,项目名称:jackrabbit-dynamodb-store,代码行数:5,代码来源:ReadWriteNodeTypeManager.java


示例12: createMyCollabContentType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
private NodeTypeTemplate createMyCollabContentType(NodeTypeManager manager) throws RepositoryException {
    LOG.info("Register mycollab content type");
    NodeType hierachyNode = manager.getNodeType(NodeType.NT_HIERARCHY_NODE);
    // Create content node type
    NodeTypeTemplate contentTypeTemplate = manager.createNodeTypeTemplate(hierachyNode);

    contentTypeTemplate.setAbstract(false);
    contentTypeTemplate.setMixin(false);
    contentTypeTemplate.setName("mycollab:content");
    contentTypeTemplate.setPrimaryItemName("content");
    contentTypeTemplate.setDeclaredSuperTypeNames(new String[]{NodeType.NT_HIERARCHY_NODE});
    contentTypeTemplate.setQueryable(true);
    contentTypeTemplate.setOrderableChildNodes(false);

    PropertyDefinitionTemplate createdUserPropertyTemplate = manager
            .createPropertyDefinitionTemplate();
    createdUserPropertyTemplate.setMultiple(false);
    createdUserPropertyTemplate.setName("mycollab:createdUser");
    createdUserPropertyTemplate.setMandatory(true);
    createdUserPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(createdUserPropertyTemplate);

    PropertyDefinitionTemplate contentPathPropertyTemplate = manager.createPropertyDefinitionTemplate();
    contentPathPropertyTemplate.setMultiple(false);
    contentPathPropertyTemplate.setName("mycollab:contentPath");
    contentPathPropertyTemplate.setMandatory(false);
    contentPathPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(contentPathPropertyTemplate);

    PropertyDefinitionTemplate thumbnailPathPropertyTemplate = manager.createPropertyDefinitionTemplate();
    thumbnailPathPropertyTemplate.setMultiple(false);
    thumbnailPathPropertyTemplate.setName("mycollab:thumbnailPath");
    thumbnailPathPropertyTemplate.setMandatory(false);
    thumbnailPathPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(
            thumbnailPathPropertyTemplate);

    PropertyDefinitionTemplate lastModifiedUserPropertyTemplate = manager.createPropertyDefinitionTemplate();
    lastModifiedUserPropertyTemplate.setMultiple(false);
    lastModifiedUserPropertyTemplate.setName("mycollab:lastModifiedUser");
    lastModifiedUserPropertyTemplate.setMandatory(true);
    lastModifiedUserPropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(lastModifiedUserPropertyTemplate);

    PropertyDefinitionTemplate mimeTypePropertyTemplate = manager
            .createPropertyDefinitionTemplate();
    mimeTypePropertyTemplate.setMultiple(false);
    mimeTypePropertyTemplate.setName("mycollab:mimeType");
    mimeTypePropertyTemplate.setMandatory(false);
    mimeTypePropertyTemplate.setRequiredType(PropertyType.STRING);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(
            mimeTypePropertyTemplate);

    PropertyDefinitionTemplate sizePropertyTemplate = manager.createPropertyDefinitionTemplate();
    sizePropertyTemplate.setMultiple(false);
    sizePropertyTemplate.setName("mycollab:size");
    sizePropertyTemplate.setMandatory(true);
    sizePropertyTemplate.setRequiredType(PropertyType.LONG);
    contentTypeTemplate.getPropertyDefinitionTemplates().add(sizePropertyTemplate);

    return contentTypeTemplate;
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:63,代码来源:ContentSessionFactory.java


示例13: createWikiPageType

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
private NodeTypeTemplate createWikiPageType(NodeTypeManager manager) throws RepositoryException {
    LOG.info("Register mycollab content type");
    NodeType hierachyNode = manager.getNodeType(NodeType.NT_HIERARCHY_NODE);
    // Create content node type
    NodeTypeTemplate pageTypeTemplate = manager.createNodeTypeTemplate(hierachyNode);

    pageTypeTemplate.setAbstract(false);
    pageTypeTemplate.setMixin(false);
    pageTypeTemplate.setName("wiki:page");
    pageTypeTemplate.setPrimaryItemName("page");
    pageTypeTemplate.setDeclaredSuperTypeNames(new String[]{NodeType.NT_HIERARCHY_NODE});
    pageTypeTemplate.setQueryable(true);
    pageTypeTemplate.setOrderableChildNodes(false);
    LOG.debug("PROPERTY {} {}",
            pageTypeTemplate.getDeclaredPropertyDefinitions().length,
            pageTypeTemplate.getDeclaredChildNodeDefinitions().length);

    PropertyDefinitionTemplate subjectPropertyTemplate = manager.createPropertyDefinitionTemplate();
    subjectPropertyTemplate.setMultiple(false);
    subjectPropertyTemplate.setName("wiki:subject");
    subjectPropertyTemplate.setMandatory(true);
    subjectPropertyTemplate.setRequiredType(PropertyType.STRING);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(subjectPropertyTemplate);

    PropertyDefinitionTemplate contentPropertyTemplate = manager.createPropertyDefinitionTemplate();
    contentPropertyTemplate.setMultiple(false);
    contentPropertyTemplate.setName("wiki:content");
    contentPropertyTemplate.setMandatory(true);
    contentPropertyTemplate.setRequiredType(PropertyType.STRING);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(contentPropertyTemplate);

    PropertyDefinitionTemplate lockPropertyTemplate = manager.createPropertyDefinitionTemplate();
    lockPropertyTemplate.setMultiple(false);
    lockPropertyTemplate.setName("wiki:isLock");
    lockPropertyTemplate.setMandatory(false);
    lockPropertyTemplate.setRequiredType(PropertyType.BOOLEAN);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(lockPropertyTemplate);

    PropertyDefinitionTemplate statusPropertyTemplate = manager.createPropertyDefinitionTemplate();
    statusPropertyTemplate.setMultiple(false);
    statusPropertyTemplate.setName("wiki:status");
    statusPropertyTemplate.setMandatory(true);
    statusPropertyTemplate.setRequiredType(PropertyType.STRING);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(statusPropertyTemplate);

    PropertyDefinitionTemplate categoryPropertyTemplate = manager.createPropertyDefinitionTemplate();
    categoryPropertyTemplate.setMultiple(false);
    categoryPropertyTemplate.setName("wiki:category");
    categoryPropertyTemplate.setMandatory(false);
    categoryPropertyTemplate.setRequiredType(PropertyType.STRING);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(categoryPropertyTemplate);

    PropertyDefinitionTemplate createdPropertyTemplate = manager.createPropertyDefinitionTemplate();
    createdPropertyTemplate.setMultiple(false);
    createdPropertyTemplate.setName("wiki:createdUser");
    createdPropertyTemplate.setMandatory(true);
    createdPropertyTemplate.setRequiredType(PropertyType.STRING);
    pageTypeTemplate.getPropertyDefinitionTemplates().add(createdPropertyTemplate);

    return pageTypeTemplate;
}
 
开发者ID:MyCollab,项目名称:mycollab,代码行数:62,代码来源:PageSessionFactory.java


示例14: createNodeTypes

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void createNodeTypes() throws RepositoryException {
   	Session session = SessionFactoryUtils.getSession(getTemplate().getSessionFactory(), false);
   	Workspace workspace = session.getWorkspace();
   	
   	LOG.info("Registering namespace 'next' -> http://nextreports.ro/jcr/2.0");
       NamespaceRegistry namespaceRegistry = workspace.getNamespaceRegistry();
       namespaceRegistry.registerNamespace("next", "http://nextreports.ro/jcr/2.0");

   	/*
       // check if the node type is registered already
	if (nodeTypeManager.hasNodeType(NEXT_REPORT_MIXIN)) {
		return;
	}
	*/

   	LOG.info("Creating node type mixin '" + StorageConstants.NEXT_REPORT_MIXIN + "'");
   	NodeTypeManagerImpl nodeTypeManager = (NodeTypeManagerImpl) workspace.getNodeTypeManager();
   	NodeTypeTemplate nodeTypeTemplate = nodeTypeManager.createNodeTypeTemplate();
   	nodeTypeTemplate.setName(StorageConstants.NEXT_REPORT_MIXIN);
   	nodeTypeTemplate.setMixin(true);
   	nodeTypeTemplate.setOrderableChildNodes(false);
   	nodeTypeTemplate.setPrimaryItemName("nt:unstructured");
   	nodeTypeTemplate.setDeclaredSuperTypeNames(new String[] { "mix:referenceable", "mix:versionable" });

   	/*
   	PropertyDefinitionTemplate propertyDefinitionTemplate = nodeTypeManager.createPropertyDefinitionTemplate();
   	propertyDefinitionTemplate.setName("*");
   	propertyDefinitionTemplate.setRequiredType(PropertyType.UNDEFINED);
   	propertyDefinitionTemplate.setAutoCreated(false);
   	propertyDefinitionTemplate.setMandatory(false);
   	propertyDefinitionTemplate.setOnParentVersion(OnParentVersionAction.COPY);
   	propertyDefinitionTemplate.setProtected(false);
   	propertyDefinitionTemplate.setMultiple(false);

   	nodeTypeTemplate.getPropertyDefinitionTemplates().add(propertyDefinitionTemplate);
   	*/

   	NodeDefinitionTemplate nodeDefinitionTemplate = nodeTypeManager.createNodeDefinitionTemplate();
   	nodeDefinitionTemplate.setName("runHistory");
   	nodeDefinitionTemplate.setDefaultPrimaryTypeName("nt:unstructured");
   	nodeDefinitionTemplate.setRequiredPrimaryTypeNames(new String[] { "nt:unstructured" });
   	nodeDefinitionTemplate.setAutoCreated(true);
   	nodeDefinitionTemplate.setMandatory(false);
   	nodeDefinitionTemplate.setOnParentVersion(OnParentVersionAction.IGNORE);
   	nodeDefinitionTemplate.setProtected(false);
   	nodeDefinitionTemplate.setSameNameSiblings(false);

   	nodeTypeTemplate.getNodeDefinitionTemplates().add(nodeDefinitionTemplate);

   	LOG.info("Registering node type mixin '" + StorageConstants.NEXT_REPORT_MIXIN + "'");
   	nodeTypeManager.registerNodeType(nodeTypeTemplate, true);

   	getTemplate().save();
}
 
开发者ID:nextreports,项目名称:nextreports-server,代码行数:56,代码来源:StorageUpdate0.java


示例15: createNodeTemplates

import javax.jcr.nodetype.NodeTypeTemplate; //导入依赖的package包/类
@SuppressWarnings("unchecked")
	private void createNodeTemplates() throws RepositoryException {
		Session session = SessionFactoryUtils.getSession(getTemplate().getSessionFactory(), false);
    	Workspace workspace = session.getWorkspace();
    	    	
    	NodeTypeManagerImpl nodeTypeManager = (NodeTypeManagerImpl) workspace.getNodeTypeManager();
//    	nodeTypeManager.unregisterNodeType(StorageConstants.NEXT_REPORT_MIXIN);
    	    	
    	NodeTypeTemplate nodeTypeTemplate = nodeTypeManager.createNodeTypeTemplate();
    	nodeTypeTemplate.setName(StorageConstants.NEXT_REPORT_MIXIN);
    	nodeTypeTemplate.setMixin(true);
    	nodeTypeTemplate.setOrderableChildNodes(false);
    	nodeTypeTemplate.setPrimaryItemName("nt:unstructured");
    	nodeTypeTemplate.setDeclaredSuperTypeNames(new String[] { "mix:referenceable", "mix:versionable" });   
    	
    	NodeDefinitionTemplate nodeDefinitionTemplate = nodeTypeManager.createNodeDefinitionTemplate();
    	nodeDefinitionTemplate.setName("runHistory");
    	nodeDefinitionTemplate.setDefaultPrimaryTypeName("nt:unstructured");
    	nodeDefinitionTemplate.setRequiredPrimaryTypeNames(new String[] { "nt:unstructured" });
    	nodeDefinitionTemplate.setAutoCreated(true);
    	nodeDefinitionTemplate.setMandatory(false);
    	nodeDefinitionTemplate.setOnParentVersion(OnParentVersionAction.IGNORE);
    	nodeDefinitionTemplate.setProtected(false);
    	nodeDefinitionTemplate.setSameNameSiblings(false);

    	nodeTypeTemplate.getNodeDefinitionTemplates().add(nodeDefinitionTemplate);
    	    	
    	NodeDefinitionTemplate nodeDefinitionTemplate2 = nodeTypeManager.createNodeDefinitionTemplate();
    	nodeDefinitionTemplate2.setName("templates");
    	nodeDefinitionTemplate2.setDefaultPrimaryTypeName("nt:unstructured");
    	nodeDefinitionTemplate2.setRequiredPrimaryTypeNames(new String[] { "nt:unstructured" });
    	nodeDefinitionTemplate2.setAutoCreated(true);
    	nodeDefinitionTemplate2.setMandatory(false);
    	nodeDefinitionTemplate2.setOnParentVersion(OnParentVersionAction.IGNORE);
    	nodeDefinitionTemplate2.setProtected(false);
    	nodeDefinitionTemplate2.setSameNameSiblings(false);
    	
    	nodeTypeTemplate.getNodeDefinitionTemplates().add(nodeDefinitionTemplate2);

    	LOG.info("Registering node type mixin '" + StorageConstants.NEXT_REPORT_MIXIN + "'");
    	nodeTypeManager.registerNodeType(nodeTypeTemplate, true);
    	
    	// add templates node to all existing reports
    	String statement = 
				"/jcr:root" + ISO9075.encodePath(StorageConstants.REPORTS_ROOT) + 
				"//*[@className='ro.nextreports.server.domain.Report']";
		  
		QueryResult queryResult = getTemplate().query(statement);
		NodeIterator nodes = queryResult.getNodes();
		
		LOG.info("Create templates nodes : Found " + nodes.getSize() + " report nodes");
		while (nodes.hasNext()) {			
			Node node = nodes.nextNode();
			node.addNode("templates");
		}					

    	getTemplate().save();
	}
 
开发者ID:nextreports,项目名称:nextreports-server,代码行数:59,代码来源:StorageUpdate13.java



注:本文中的javax.jcr.nodetype.NodeTypeTemplate类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java WatchFaceCompanion类代码示例发布时间:2022-05-22
下一篇:
Java MVerticalLayout类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap