Package com.dotmarketing.portlets.contentlet.business

Examples of com.dotmarketing.portlets.contentlet.business.ContentletAPI


     */
    @Test
    public void removeContentFromIndexByStructureInode () throws Exception {

        ContentletIndexAPI indexAPI = APILocator.getContentletIndexAPI();
        ContentletAPI contentletAPI = APILocator.getContentletAPI();

        //Creating a test structure
        Structure testStructure = loadTestStructure();
        //Creating a test contentlet
        Contentlet testContentlet = loadTestContentlet( testStructure );

        try {
            //And add it to the index
            indexAPI.addContentToIndex( testContentlet );

            //We are just making time in order to let it apply the index
            contentletAPI.isInodeIndexed( testContentlet.getInode(), true );

            //Verify if it was added to the index
            String query = "+structureName:" + testStructure.getVelocityVarName() + " +deleted:false +live:true";
            List<Contentlet> result = contentletAPI.search( query, 0, -1, "modDate desc", user, true );

            //Validations
            assertNotNull( result );
            assertTrue( !result.isEmpty() );

            //Remove the contentlet from the index
            indexAPI.removeContentFromIndexByStructureInode( testStructure.getInode() );

            int x=0;
            do {
                Thread.sleep(200);
                //Verify if it was removed to the index
                result = contentletAPI.search( query, 0, -1, "modDate desc", user, true );
                x++;
            } while((result == null || result.isEmpty()) && x<100);

        } finally {
            APILocator.getContentletAPI().delete( testContentlet, user, false );
View Full Code Here


    public void testSearchIndexByDate () throws Exception {

      Folder testFolder = null;
      Structure testStructure = null;
      Contentlet testContent = null;
      ContentletAPI contentletAPI = APILocator.getContentletAPI();

      try {
        ContentletIndexAPI indexAPI = APILocator.getContentletIndexAPI();

        //Creating a test structure
        PermissionAPI permissionAPI = APILocator.getPermissionAPI();

        //Set up a test folder
        testFolder = APILocator.getFolderAPI().createFolders( "testSearchIndexByDateFolder", defaultHost, user, false );
        permissionAPI.permissionIndividually( permissionAPI.findParentPermissionable( testFolder ), testFolder, user, false );

        //Set up a test structure
        String structureName = "testSearchIndexByDateStructure";
        testStructure = new Structure();
        testStructure.setHost( defaultHost.getIdentifier() );
        testStructure.setFolder( testFolder.getInode() );
        testStructure.setName( structureName );
        testStructure.setStructureType( Structure.STRUCTURE_TYPE_CONTENT );
        testStructure.setOwner( user.getUserId() );
        testStructure.setVelocityVarName( structureName );
        StructureFactory.saveStructure( testStructure );
        StructureCache.addStructure( testStructure );
        //Adding test field

        Field field = new Field( "testSearchIndexByDateField", Field.FieldType.DATE_TIME,  Field.DataType.DATE, testStructure, true, true, true, 1, false, false, true );
        field.setVelocityVarName( "testSearchIndexByDateField" );
        field.setListed( true );
        FieldFactory.saveField( field );
        FieldsCache.addField( field );

        //Creating a test contentlet
        testContent = new Contentlet();
        testContent.setReviewInterval( "1m" );
        testContent.setStructureInode( testStructure.getInode() );
        testContent.setHost( defaultHost.getIdentifier() );
        testContent.setLanguageId(1);

        contentletAPI.setContentletProperty( testContent, field, "03/05/2014" );

        testContent = contentletAPI.checkin( testContent, null, permissionAPI.getPermissions( testStructure ), user, false );
        APILocator.getVersionableAPI().setLive(testContent);

      //And add it to the index
      indexAPI.addContentToIndex( testContent );

      //We are just making time in order to let it apply the index
      contentletAPI.isInodeIndexed( testContent.getInode(), true );

      //Verify if it was added to the index
      String query = "+structureName:" + testStructure.getVelocityVarName() + " +testSearchIndexByDateStructure.testSearchIndexByDateField:03/05/2014 +deleted:false +live:true";
      List<Contentlet> result = contentletAPI.search( query, 0, -1, "modDate desc", user, true );

      assertTrue(UtilMethods.isSet(result) && !result.isEmpty());

      } catch(Exception e) {
        Logger.error("Error executing testSearchIndexByDate", e.getMessage(), e);
View Full Code Here

        return resp.getHits();
    }

    public boolean wasContentRemoved ( String query ) {

        ContentletAPI contentletAPI = APILocator.getContentletAPI();

        boolean removed = false;
        int counter = 0;
        while ( counter < 300 ) {
            try {
                //Verify if it was removed to the index
                List<Contentlet> result = contentletAPI.search( query, 0, -1, "modDate desc", user, true );

                //Validations
                if ( result == null || result.isEmpty() ) {
                    return true;
                }
View Full Code Here

      clearReferencesCache(permissionable);

    permissionCache.remove(permissionable.getPermissionId());

    if(permissionable instanceof Structure) {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      contAPI.refresh((Structure)permissionable);
    } else if(permissionable instanceof Contentlet) {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      contAPI.refresh((Contentlet)permissionable);
    }
    //DOTCMS-4959
    if(permissionable instanceof Host) {
        if(((Host)permissionable).isSystemHost()){
            ContentletAPI contAPI = APILocator.getContentletAPI();
              contAPI.refresh(((Host)permissionable).getStructure());
              //http://jira.dotmarketing.net/browse/DOTCMS-5768
              permissionCache.clearCache();
        }
        else {
            // https://github.com/dotCMS/dotCMS/issues/2229
View Full Code Here

    }

    permissionCache.remove(permissionable.getPermissionId());

    if(permissionable instanceof Structure) {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      contAPI.refresh((Structure)permissionable);
    } else if(permissionable instanceof Contentlet) {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      ((Contentlet)permissionable).setLowIndexPriority(true);
      contAPI.refresh((Contentlet)permissionable);
    }

    return findPermissionByInodeAndRole(p.getInode(), p.getRoleId(), p.getType());
  }
View Full Code Here

    if (InodeUtils.isSet(permissionId) && asset instanceof Versionable) {
      CacheLocator.getIdentifierCache().removeFromCacheByVersionable((Versionable)asset);
    }

    if(asset instanceof Contentlet) {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      contAPI.refresh((Contentlet)asset);
    }

  }
View Full Code Here

      } else {
        permissionCache.clearCache();
      }

      if(isHost) {
        ContentletAPI contentAPI = APILocator.getContentletAPI();
        contentAPI.refreshContentUnderHost((Host)permissionable);
      }

      if(isStructure) {
        ContentletAPI contentAPI = APILocator.getContentletAPI();
        Structure st = StructureCache.getStructureByInode(permissionable.getPermissionId());
        if(st != null)
          contentAPI.refresh(st);
      }
      // http://jira.dotmarketing.net/browse/DOTCMS-6114
      if(isFolder) {
        ContentletAPI contAPI = APILocator.getContentletAPI();
        contAPI.refreshContentUnderFolder((Folder)permissionable);
      }
    }

  }
View Full Code Here

    // changes
    dc.setSQL(selectChildrenContentWithIndividualPermissionsByPathSQL);
    dc.addParam(host.getPermissionId());
    dc.addParam(isHost ? "%" : folderPath + "%");
    idsToUpdate = dc.loadResults();
    ContentletAPI contentAPI = APILocator.getContentletAPI();
    permission = 0;
    if (inheritablePermission != null) {
      permission = inheritablePermission.getPermission();
    }
    for (Map<String, String> idMap : idsToUpdate) {
      String id = idMap.get("id");

      //Search contentlets by identifier (all languages) and set permissions
      String luceneQuery = "+identifier:"+id+" +working:true";
      try {
        for(Permissionable childPermissionable: contentAPI.search(luceneQuery,1,0,null,systemUser, false)) {
          savePermission(new Permission(id, role.getId(), permission, true), childPermissionable);
          break;
        }
      } catch (DotSecurityException e) {
        Logger.error(PermissionBitFactoryImpl.class, e.getMessage(), e);
View Full Code Here

  }

  @SuppressWarnings("unchecked")
  @Override
  void resetChildrenPermissionReferences(Structure structure) throws DotDataException {
      ContentletAPI contAPI = APILocator.getContentletAPI();
      ContentletIndexAPI indexAPI=new ESContentletIndexAPI();

      DotConnect dc = new DotConnect();
    dc.setSQL(deleteContentReferencesByStructureSQL);
    dc.addParam(structure.getPermissionId());
    dc.loadResult();

    final int limit=500;
    int offset=0;
    List<Contentlet> contentlets;
    do {
      String query="structurename:"+structure.getVelocityVarName();
      try {
          contentlets=contAPI.search(query, limit, offset, "identifier", APILocator.getUserAPI().getSystemUser(), false);
            } catch (DotSecurityException e) {
                throw new RuntimeException(e);
            }

      BulkRequestBuilder bulk=new ESClient().getClient().prepareBulk();
View Full Code Here

  private void _deleteChildrenAssetsFromFolder(Folder folder, User user, boolean respectFrontEndPermissions) throws DotDataException,
      DotStateException, DotSecurityException {

    try {

      ContentletAPI capi = APILocator.getContentletAPI();

      /************ conList *****************/
      HibernateUtil.getSession().clear();
      List<Contentlet> conList = capi.findContentletsByFolder(folder, user, false);
      for (Contentlet c : conList) {
        capi.delete(c, user, false);
      }

      /************ htmlPages *****************/
      HibernateUtil.getSession().clear();
      List<HTMLPage> htmlPages = getHTMLPages(folder, user, respectFrontEndPermissions);
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.contentlet.business.ContentletAPI

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.