Package org.infoglue.cms.entities.structure

Examples of org.infoglue.cms.entities.structure.SiteNodeVersion


          CacheController.clearCacheForGroup("latestSiteNodeVersionCache", "siteNode_" + siteNodeVersion.getValueObject().getSiteNodeId());
          CacheController.clearCacheForGroup("siteNodeCacheWithLatestVersion", "siteNode_" + siteNodeVersion.getValueObject().getSiteNodeId());
        }
        else
        {
          SiteNodeVersion siteNodeVersion = (SiteNodeVersion)object;
          Integer siteNodeId = siteNodeVersion.getValueObject().getSiteNodeId();
          if(siteNodeId == null)
            siteNodeId = siteNodeVersion.getOwningSiteNode().getId();
         
          CacheController.clearCacheForGroup("latestSiteNodeVersionCache", "siteNode_" + siteNodeId);
          CacheController.clearCacheForGroup("siteNodeCacheWithLatestVersion", "siteNode_" + siteNodeId);
        }
      }
View Full Code Here


 
  private static boolean getIsDeletable(SiteNode siteNode, InfoGluePrincipal infogluePrincipal, Database db) throws SystemException, Exception
  {
    boolean isDeletable = true;
   
    SiteNodeVersion latestSiteNodeVersion = SiteNodeVersionController.getController().getLatestActiveSiteNodeVersionReadOnly(db, siteNode.getId());
    if(latestSiteNodeVersion != null && latestSiteNodeVersion.getIsProtected().equals(SiteNodeVersionVO.YES))
    {
      boolean hasAccess = AccessRightController.getController().getIsPrincipalAuthorized(db, infogluePrincipal, "SiteNodeVersion.DeleteSiteNode", "" + latestSiteNodeVersion.getId());
      if(!hasAccess)
        return false;
    }
   
        Collection siteNodeVersions = siteNode.getSiteNodeVersions();
      if(siteNodeVersions != null)
      {
          Iterator versionIterator = siteNodeVersions.iterator();
      while (versionIterator.hasNext())
          {
            SiteNodeVersion siteNodeVersion = (SiteNodeVersion)versionIterator.next();
            if(siteNodeVersion.getStateId().intValue() == SiteNodeVersionVO.PUBLISHED_STATE.intValue() && siteNodeVersion.getIsActive().booleanValue() == true)
            {
              logger.warn("The siteNode had a published version so we cannot delete it..");
          isDeletable = false;
              break;
            }
View Full Code Here

      //siteNode = (SiteNode) createEntity(siteNode, db);
      db.create((SiteNode)siteNode);
   
      //No siteNode is an island (humhum) so we also have to create an siteNodeVersion for it.
      SiteNodeVersion siteNodeVersion = SiteNodeVersionController.createInitialSiteNodeVersion(db, siteNode, infoGluePrincipal);
   
      List siteNodeVersions = new ArrayList();
      siteNodeVersions.add(siteNodeVersion);
      siteNode.setSiteNodeVersions(siteNodeVersions);
    }
View Full Code Here

    QueryResults results = oql.execute(Database.READONLY);
    t.printElapsedTime("Executed query.....");
    while (results.hasMore())
    {
      SiteNodeVersion siteNodeVersion = (SiteNodeVersion)results.next();
      childrenVOList.add(siteNodeVersion.getValueObject());
   
      String key = "" + siteNodeVersion.getValueObject().getSiteNodeId();
      String groupKey1 = CacheController.getPooledString(4, siteNodeVersion.getId());
      String groupKey2 = CacheController.getPooledString(3, siteNodeVersion.getValueObject().getSiteNodeId());

      CacheController.cacheObjectInAdvancedCache("latestSiteNodeVersionCache", key, siteNodeVersion.getValueObject(), new String[]{groupKey1.toString(), groupKey2.toString()}, true);
    }
   
    results.close();
    oql.close();
View Full Code Here

      oql.bind(30);
     
      QueryResults results = oql.execute(Database.READONLY);
      while(results.hasMore())
            {
        SiteNodeVersion siteNodeVersion = (SiteNodeVersion)results.next();
        SiteNodeVO siteNodeVO = getSiteNodeVOWithId(siteNodeVersion.getValueObject().getSiteNodeId(), db);
        siteNodeVOList.add(siteNodeVO);
            }
           
      results.close();
      oql.close();
View Full Code Here

      Iterator<SiteNodeVO> childrenVOListIterator = childrenVOList.iterator();
      int index = 0;
      while(childrenVOListIterator.hasNext())
      {
        SiteNodeVO childSiteNodeVO = childrenVOListIterator.next();
        SiteNodeVersion latestChildSiteNodeVersion = SiteNodeVersionController.getController().getLatestActiveSiteNodeVersion(db, childSiteNodeVO.getId());
        logger.info("latestChildSiteNodeVersion.getSortOrder():" + latestChildSiteNodeVersion.getSortOrder() + "=" + index);
        if(latestChildSiteNodeVersion.getSortOrder() != index)
        {
          latestChildSiteNodeVersion = SiteNodeStateController.getController().updateStateId(latestChildSiteNodeVersion, SiteNodeVersionVO.WORKING_STATE, "Changed sortOrder", infoGluePrincipal, db);
 
          //Integer currentSortOrder = latestChildSiteNodeVersion.getSortOrder();
          //logger.info("currentSortOrder:" + currentSortOrder + " on " + childSiteNodeVO.getName());
          //if(currentSortOrder != 100)
          //{
          logger.info("Setting sort order to:" + index + " on " + latestChildSiteNodeVersion.getId());
          latestChildSiteNodeVersion.setSortOrder(index);
         
          if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
          {
            ContentVersionVO cvVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(childSiteNodeVO.getMetaInfoContentId(), sortLanguageId, db)
            if(cvVO != null)
              ContentVersionController.getContentVersionController().updateAttributeValue(cvVO.getContentVersionId(), "SortOrder", "" + index, infoGluePrincipal, db, true);
          }
          //}
        }
        index++;
      }
           
            commitTransaction(db);
        }
        catch(Exception e)
        {
            logger.error("An error occurred so we should not complete the transaction:" + e, e);
            rollbackTransaction(db);
            throw new SystemException(e.getMessage());
        }
       
      db = CastorDatabaseService.getDatabase();

        ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer();

        beginTransaction(db);

        try
        {
            if(beforeSiteNodeId == null && direction == null)
            {
              logger.warn("You must specify the either new location with beforeSiteNodeId or sortDirection");
              throw new ConstraintException("SiteNode.parentSiteNodeId", "3403"); //TODO
            }
           
            //logger.info("siteNodeId:" + siteNodeId);
            //logger.info("beforeSiteNodeId:" + beforeSiteNodeId);
            //logger.info("direction:" + direction);
           
            if(beforeSiteNodeId != null)
            {
              Integer oldSortOrder = 0;
              Integer newSortOrder = 0;

                SiteNodeVO siteNodeVO = getSiteNodeVOWithId(siteNodeId, db);
              SiteNodeVO beforeSiteNodeVO = getSiteNodeVOWithId(beforeSiteNodeId, db);
              if(beforeSiteNodeVO.getParentSiteNodeId().intValue() != siteNodeVO.getParentSiteNodeId().intValue())
              {
                logger.info("Was new parent - let's fix that as well");
              }
              else
              {
                logger.info("Parent was the same...");

                List<SiteNodeVO> newChildSiteNodeList = new ArrayList<SiteNodeVO>();
                 
                int insertPosition = 0;
                List<SiteNodeVO> childrenVOList = SiteNodeController.getController().getChildSiteNodeVOList(siteNodeVO.getParentSiteNodeId(), false, db, sortLanguageId);
            Iterator<SiteNodeVO> childrenVOListIterator = childrenVOList.iterator();
            while(childrenVOListIterator.hasNext())
            {
              SiteNodeVO childSiteNodeVO = childrenVOListIterator.next();
              if(childSiteNodeVO.getSiteNodeId().equals(beforeSiteNodeId))
              {
                insertPosition = newChildSiteNodeList.size();
              }

              if(!childSiteNodeVO.getSiteNodeId().equals(siteNodeId))
              {
                newChildSiteNodeList.add(childSiteNodeVO);
              }
            }

            newChildSiteNodeList.add(insertPosition, siteNodeVO);
           
            Iterator<SiteNodeVO> newChildSiteNodeListIterator = newChildSiteNodeList.iterator();
            int i=0;
            int highestSortOrder = 0;
            while(newChildSiteNodeListIterator.hasNext())
            {
              logger.info("i:" + i);
              logger.info("highestSortOrder:" + highestSortOrder);
              SiteNodeVO orderedSiteNodeVO = newChildSiteNodeListIterator.next();
             
              List events = new ArrayList();
              SiteNodeVersionVO siteNodeVersionVO = SiteNodeVersionController.getController().getLatestSiteNodeVersionVO(db, orderedSiteNodeVO.getId());
              Integer localizedSortOrder = 100;
              if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
            {
                ContentVersionVO cvVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(orderedSiteNodeVO.getMetaInfoContentId(), sortLanguageId, db)
                if(cvVO != null)
                {
                  String localizedSortOrderString = ContentVersionController.getContentVersionController().getAttributeValue(cvVO.getId(), "SortOrder", false);
                  if(localizedSortOrderString != null && !localizedSortOrderString.equals(""))
                    localizedSortOrder = new Integer(localizedSortOrderString);
                }
              }
             
              //if(siteNodeVersionVO.getSortOrder() < highestSortOrder || localizedSortOrder < highestSortOrder)
              if(siteNodeVersionVO.getSortOrder() < highestSortOrder || localizedSortOrder < highestSortOrder || i != localizedSortOrder)
                {
                if(!siteNodeVersionVO.getStateId().equals(SiteNodeVersionVO.WORKING_STATE))
                { 
                  siteNodeVersionVO = SiteNodeStateController.getController().changeState(siteNodeVersionVO.getId(), SiteNodeVersionVO.WORKING_STATE, "Changed sortOrder", false, infoGluePrincipal, siteNodeVersionVO.getSiteNodeId(), events);
                }
                siteNodeVersionVO.setSortOrder(i);
               
                if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
                {
                  ContentVersionVO cvVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(orderedSiteNodeVO.getMetaInfoContentId(), sortLanguageId, db)
                  if(cvVO != null)
                    ContentVersionController.getContentVersionController().updateAttributeValue(cvVO.getContentVersionId(), "SortOrder", "" + i, infoGluePrincipal, db, true);
                }

                SiteNodeVersionController.getController().update(siteNodeVersionVO);
              }
              else
                logger.info("No action - sort order was ok");
              /*
              if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
            {
                if(localizedSortOrder < 100 && localizedSortOrder > highestSortOrder)
                  highestSortOrder = localizedSortOrder;
             
                if(highestSortOrder > i)
                  i = highestSortOrder;
              }
              else
              {
                highestSortOrder = siteNodeVersionVO.getSortOrder();
                  if(highestSortOrder > i)
                  i = highestSortOrder;
              }
              */
              i++;
            }
              }
            }
            else if(direction.equalsIgnoreCase("up") || direction.equalsIgnoreCase("down"))
            {
              Integer oldSortOrder = 0;
              Integer newSortOrder = 0;
              SiteNodeVO siteNodeVO = getSiteNodeVOWithId(siteNodeId, db);

                SiteNodeVersion latestSiteNodeVersion = SiteNodeVersionController.getController().getLatestActiveSiteNodeVersion(db, siteNodeId);
              if(latestSiteNodeVersion != null)
        {
          oldSortOrder = latestSiteNodeVersion.getSortOrder();
          if(direction.equalsIgnoreCase("up"))
            newSortOrder = oldSortOrder - 1;
          else if(direction.equalsIgnoreCase("down"))
            newSortOrder = oldSortOrder + 1;
        }
       
              logger.info("OldSortOrder:" + oldSortOrder);
        List<SiteNodeVO> childrenVOList = SiteNodeController.getController().getChildSiteNodeVOList(siteNodeVO.getParentSiteNodeId(), false, db, sortLanguageId);
        Iterator<SiteNodeVO> childrenVOListIterator = childrenVOList.iterator();
        while(childrenVOListIterator.hasNext())
        {
          SiteNodeVO childSiteNodeVO = childrenVOListIterator.next();
          logger.info("childSiteNodeVO:" + childSiteNodeVO.getId() + ":" + childSiteNodeVO.getSortOrder());
          SiteNodeVersion latestChildSiteNodeVersion = SiteNodeVersionController.getController().getLatestActiveSiteNodeVersion(db, childSiteNodeVO.getId());
          //logger.info("latestChildSiteNodeVersion:" + latestChildSiteNodeVersion.getId());
          Integer currentSortOrder = latestChildSiteNodeVersion.getSortOrder();
          logger.info("currentSortOrder:" + currentSortOrder);
          if(currentSortOrder.equals(oldSortOrder))
          {
            latestChildSiteNodeVersion = SiteNodeStateController.getController().updateStateId(latestChildSiteNodeVersion, SiteNodeVersionVO.WORKING_STATE, "Changed sortOrder", infoGluePrincipal, db);
            latestChildSiteNodeVersion.setSortOrder(newSortOrder);
            //logger.info("Changed sort order on:" + latestChildSiteNodeVersion.getId() + " into " + newSortOrder);

            if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
            {
              ContentVersionVO cvVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(childSiteNodeVO.getMetaInfoContentId(), sortLanguageId, db)
              if(cvVO != null)
                ContentVersionController.getContentVersionController().updateAttributeValue(cvVO.getContentVersionId(), "SortOrder", "" + newSortOrder, infoGluePrincipal, db, true);
            }
          }
          else if(currentSortOrder.equals(newSortOrder))
          {
            latestChildSiteNodeVersion = SiteNodeStateController.getController().updateStateId(latestChildSiteNodeVersion, SiteNodeVersionVO.WORKING_STATE, "Changed sortOrder", infoGluePrincipal, db);
            latestChildSiteNodeVersion.setSortOrder(oldSortOrder);
            //logger.info("Changed sort order on:" + latestChildSiteNodeVersion.getId() + " into " + oldSortOrder);

            if(CmsPropertyHandler.getAllowLocalizedSortAndVisibilityProperties())
            {
              ContentVersionVO cvVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(childSiteNodeVO.getMetaInfoContentId(), sortLanguageId, db)
View Full Code Here

        beginTransaction(db);

        try
        {
            SiteNodeVersion latestSiteNodeVersion = SiteNodeVersionController.getController().getLatestActiveSiteNodeVersion(db, siteNodeId);
            //logger.info("latestSiteNodeVersion:" + latestSiteNodeVersion);
            if(latestSiteNodeVersion != null)
      {
            latestSiteNodeVersion = SiteNodeStateController.getController().updateStateId(latestSiteNodeVersion, SiteNodeVersionVO.WORKING_STATE, "Changed hidden", infoGluePrincipal, db);
            if(latestSiteNodeVersion.getIsHidden())
              latestSiteNodeVersion.setIsHidden(false);
            else
              latestSiteNodeVersion.setIsHidden(true);
      }
     
            ceb.throwIfNotEmpty();
           
            commitTransaction(db);
View Full Code Here

    logger.info("new allSiteNodeVersionMap:" + allSiteNodeVersionMap.size());
    logger.info("Getting versions for " + siteNodeVersions + ":" + originalSiteNodeId);
   
    if(onlyLatestVersions.equalsIgnoreCase("true"))
    {
      SiteNodeVersion lastSiteNodeVersion = null;
      if(siteNodeVersions != null)
      {
        for(SiteNodeVersion siteNodeVersion : siteNodeVersions)
        {
          if(siteNodeVersion.getIsActive().booleanValue())
View Full Code Here

    public SiteNodeVersionVO viewSiteNodeVersion(Integer siteNodeVersionId) throws ConstraintException, SystemException
    {
        Database db = CastorDatabaseService.getDatabase();
        ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer();

        SiteNodeVersion siteNodeVersion = null;

        beginTransaction(db);

        try
        {
            siteNodeVersion = SiteNodeVersionController.getController().getSiteNodeVersionWithId(siteNodeVersionId, db);
       
            //If any of the validations or setMethods reported an error, we throw them up now before create.
            ceb.throwIfNotEmpty();
           
            commitTransaction(db);
        }
        catch(ConstraintException ce)
        {
            logger.warn("An error occurred so we should not complete the transaction:" + ce, ce);
            rollbackTransaction(db);
            throw ce;
        }
        catch(Exception e)
        {
            logger.error("An error occurred so we should not complete the transaction:" + e, e);
            rollbackTransaction(db);
            throw new SystemException(e.getMessage());
        }

        return siteNodeVersion.getValueObject();
    }       
View Full Code Here

    public SiteNodeVersionVO updateSiteNodeVersion(Integer siteNodeVersionId, SiteNodeVersionVO siteNodeVersionVO) throws ConstraintException, SystemException
    {
        Database db = CastorDatabaseService.getDatabase();
        ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer();

        SiteNodeVersion siteNodeVersion = null;

        beginTransaction(db);

        try
        {
            //add validation here if needed
            siteNodeVersion = SiteNodeVersionController.getController().getSiteNodeVersionWithId(siteNodeVersionId, db);
            siteNodeVersion.setValueObject(siteNodeVersionVO);

            //If any of the validations or setMethods reported an error, we throw them up now before create.
            ceb.throwIfNotEmpty();
           
            commitTransaction(db);
        }
        catch(ConstraintException ce)
        {
            logger.warn("An error occurred so we should not complete the transaction:" + ce, ce);
            rollbackTransaction(db);
            throw ce;
        }
        catch(Exception e)
        {
            logger.error("An error occurred so we should not complete the transaction:" + e, e);
            rollbackTransaction(db);
            throw new SystemException(e.getMessage());
        }


        return siteNodeVersion.getValueObject();
    }       
View Full Code Here

TOP

Related Classes of org.infoglue.cms.entities.structure.SiteNodeVersion

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.