Package com.dotmarketing.portlets.links.model

Examples of com.dotmarketing.portlets.links.model.Link


        return copyLink( currentLink, null, host );
    }

    private static Link copyLink ( Link currentLink, Folder parent, Host host ) throws DotDataException, DotStateException, DotSecurityException {

        Link newLink = new Link();
        newLink.copy( currentLink );

        //First lets verify if already exist
        Boolean exist;
        if ( parent != null ) {
            exist = existsLinkWithTitleInFolder( currentLink.getTitle(), parent );
        } else {
            exist = existsLinkWithTitleInFolder( currentLink.getTitle(), host );
        }

        if ( exist ) {
            newLink.setFriendlyName( currentLink.getFriendlyName() + " (COPY) " );
            newLink.setTitle( currentLink.getTitle() + " (COPY) " );
        } else {
            newLink.setFriendlyName( currentLink.getFriendlyName() );
            newLink.setTitle( currentLink.getTitle() );
        }
        newLink.setProtocal( currentLink.getProtocal() );
        newLink.setLinkCode( currentLink.getLinkCode() );
        newLink.setLinkType( currentLink.getLinkType() );

        //persists the webasset
        HibernateUtil.saveOrUpdate( newLink );

        //adding to the parent folder
        //parent.addChild(newLink);

        //creates new identifier for this webasset and persists it
        Identifier newIdent;
        if ( parent != null ) {
            newIdent = APILocator.getIdentifierAPI().createNew( newLink, parent );
        } else {
            newIdent = APILocator.getIdentifierAPI().createNew( newLink, host );
        }

        newLink.setIdentifier( newIdent.getId() );
        HibernateUtil.saveOrUpdate( newLink );

        APILocator.getVersionableAPI().setWorking( newLink );
        if ( currentLink.isLive() ) {
            APILocator.getVersionableAPI().setLive( newLink );
View Full Code Here


      Folder folder = APILocator.getFolderAPI().findParentFolder(link, user,false);
      CacheLocator.getNavToolCache().removeNav(folder.getHostId(), folder.getInode());
     
      Identifier ident = APILocator.getIdentifierAPI().find(link);

      Link newLinkVersion = new Link();
      newLinkVersion.copy(link);
      // sets filename for this new file
      newLinkVersion.setTitle(newName);
      newLinkVersion.setFriendlyName(newName);

      if(existsLinkWithTitleInFolder(newName, folder) || link.isLocked())
        return false;

      List<Versionable> versions = APILocator.getVersionableAPI().findAllVersions(ident);
     
     
      for (Versionable version : versions) {
            Link menuLink = (Link)version;
        // sets filename for this new file
            menuLink.setTitle(newName);
            menuLink.setFriendlyName(newName);

        if (menuLink.isLive()){
          LiveCache.removeAssetFromCache(menuLink);
          LiveCache.addToLiveAssetToCache(menuLink);
        }
        if (menuLink.isWorking()){
          WorkingCache.removeAssetFromCache(menuLink);
          WorkingCache.addToWorkingAssetToCache(menuLink);
        }
       
        HibernateUtil.saveOrUpdate(menuLink);
View Full Code Here

      }
      /************ Links *****************/
      HibernateUtil.getSession().clear();
      List<Link> links = getLinks(folder, user, respectFrontEndPermissions);
      for (Link linker : links) {
        Link link = (Link) linker;

          Identifier identifier = APILocator.getIdentifierAPI().find(link);
          if (!InodeUtils.isSet(identifier.getInode())) {
            Logger.warn(FolderFactory.class, "_deleteChildrenAssetsFromFolder: link inode = " + link.getInode()
                + " doesn't have a valid identifier associated.");
            continue;
          }

          papi.removePermissions(link);
View Full Code Here

              .equals(com.dotmarketing.util.Constants.PUBLISH)) {
            Logger.debug(this, "Calling Publish method");
            _publishWebAsset(req, res, config, form, user, WebKeys.LINK_FORM_EDIT);
          }
         
          Link link=(Link) req.getAttribute(WebKeys.LINK_EDIT);
          if(link.isLocked())
              APILocator.getVersionableAPI().setLocked(link, false, user);
         
          _sendToReferral(req, res, referer);
        }
View Full Code Here

    //setting parent folder path and inode on the form bean
    LinkForm lf = (LinkForm) form;
    lf.setParent(parentFolder.getInode());

    //This can't be done on the WebAsset so it needs to be done here.
    Link link = (Link) req.getAttribute(WebKeys.LINK_EDIT);
    link.setParent(parentFolder.getInode());
    if (InodeUtils.isSet(link.getInode())) {
      if (InodeUtils.isSet(link.getInternalLinkIdentifier())) {
        lf.setInternalLinkIdentifier(link.getInternalLinkIdentifier());
      }
    } else {
      lf.setLinkType (LinkType.INTERNAL);
      link.setLinkType (LinkType.INTERNAL.toString());
    }

  }
View Full Code Here

    HttpServletRequest httpReq = reqImpl.getHttpServletRequest();

    LinkForm linkForm = (LinkForm) form;
   
    //gets the new information for the link from the request object
    Link link = new Link();
    link.setTitle(((LinkForm) form).getTitle());   
    BeanUtils.copyProperties(link,form);
    req.setAttribute(WebKeys.LINK_FORM_EDIT,link);
   
    boolean previousShowMenu = link.isShowOnMenu();

    //gets the current link being edited from the request object
    Link currentLink = (Link) req.getAttribute(WebKeys.LINK_EDIT);
   
    //parent folder or inode for this file
    Folder parent = APILocator.getFolderAPI().find(req.getParameter("parent"), user, false);
    //http://jira.dotmarketing.net/browse/DOTCMS-5899
    if(UtilMethods.isSet(currentLink.getInode())){
      Identifier id = APILocator.getIdentifierAPI().find(currentLink);
      String URI = id.getURI();
      String uriPath = URI.substring(0,URI.lastIndexOf("/")+1);
      if(!uriPath.equals(APILocator.getIdentifierAPI().find(parent).getPath())){
        id.setURI(APILocator.getIdentifierAPI().find(parent).getPath()+currentLink.getProtocal() + currentLink.getUrl());
        APILocator.getIdentifierAPI().save(id);
      }
    }
   
    //Checking permissions
    _checkPermissions(currentLink, parent, user, httpReq);

    //gets user id from request for mod user
    String userId = user.getUserId();

    // take care of internal links
    if (InodeUtils.isSet(linkForm.getInternalLinkIdentifier())) {

      Identifier internalLinkIdentifier = identifierAPI.findFromInode(linkForm.getInternalLinkIdentifier());
      //link.setLinkType(LinkType.INTERNAL.toString());
      link.setInternalLinkIdentifier(internalLinkIdentifier.getInode());
      link.setProtocal("http://");

      StringBuffer myURL = new StringBuffer();
      if(InodeUtils.isSet(internalLinkIdentifier.getHostId())) {
        Host host = hostAPI.find(internalLinkIdentifier.getHostId(), user, false);
        myURL.append(host.getHostname());
      }
      myURL.append(internalLinkIdentifier.getURI());
      link.setUrl(myURL.toString());
     
    }
   
    if(link.getLinkType().equals(LinkType.CODE.toString()))
      link.setProtocal("");   

    Link workingLink = null;
    //it saves or updates the asset
    if (InodeUtils.isSet(currentLink.getInode())) {
      Identifier identifier = APILocator.getIdentifierAPI().find(currentLink);
      WebAssetFactory
      .createAsset(link, userId, parent, identifier, false);

      workingLink = (Link) WebAssetFactory.saveAsset(link, identifier);
      currentLink = link;
      link = workingLink;
      req.setAttribute(WebKeys.LINK_FORM_EDIT,link);
      if (!currentLink.getTarget().equals(link.getTarget())) {
        //create new identifier, with the URI
        APILocator.getIdentifierAPI().updateIdentifierURI(workingLink,(Folder) parent);
      }
    } else {
      WebAssetFactory.createAsset(link, userId, parent);
      req.setAttribute(WebKeys.LINK_EDIT, link);
      workingLink = link;
    }

    // Get parents of the old version so you can update the working
    // information to this new version.


    List<Object> parents = (List<Object>) InodeFactory.getParentsOfClass(currentLink, Category.class);
    parents.addAll(InodeFactory.getParentsOfClass(currentLink, Contentlet.class));


    List<Inode> children = (List<Inode>) InodeFactory.getChildrenClass(currentLink, Category.class);
    children.addAll(InodeFactory.getChildrenClass(currentLink, Contentlet.class));


    java.util.Iterator parentsIterator = parents.iterator();

    //update parents to new version delete old versions parents if not
    // live.
    while (parentsIterator.hasNext()) {
      Object obj = parentsIterator.next();
     
      if(obj instanceof Inode){
        Inode parentInode = (Inode) obj;
        parentInode.addChild(workingLink);

        //to keep relation types from parent only if it exists
        Tree tree = com.dotmarketing.factories.TreeFactory.getTree(
            parentInode, currentLink);
        if ((tree.getRelationType() != null)
            && (tree.getRelationType().length() != 0)) {
          Tree newTree = com.dotmarketing.factories.TreeFactory.getTree(
              parentInode, workingLink);
          newTree.setRelationType(tree.getRelationType());
          newTree.setTreeOrder(0);
          TreeFactory.saveTree(newTree);
        }
      }
   
     
      /*if(obj instanceof Identifier){
        Identifier parentIdentifier = (Identifier) obj;
        parentIdentifier.addChild(workingLink);

        //to keep relation types from parent only if it exists
        Tree tree = com.dotmarketing.factories.TreeFactory.getTree(
            parentIdentifier.getInode(), currentLink.getInode());
        if ((tree.getRelationType() != null)
            && (tree.getRelationType().length() != 0)) {
          Tree newTree = com.dotmarketing.factories.TreeFactory.getTree(
              parentIdentifier.getInode(), workingLink.getInode());
          newTree.setRelationType(tree.getRelationType());
          newTree.setTreeOrder(0);
          TreeFactory.saveTree(newTree);
        }
        //checks type of parent and deletes child if not live version.
        if (!currentLink.isLive()) {
          if (!(parentIdentifier instanceof Identifier)) {
            parentIdentifier.deleteChild(currentLink);
          }
        }
      }
          */


//      //Republishing parents working contentlets
//      if (parentInode instanceof Contentlet) {
//        Contentlet cont = (Contentlet) parentInode;
//
//        if (cont.isWorking()) {
//          //calls the asset factory edit
//          ContentletServices.writeContentletToFile(cont, true);
//          ContentletMapServices.writeContentletMapToFile(cont, true);
//        }
//      }

     
    }
    if (req.getParameter("popup") != null) {
      req.setAttribute("inode", String.valueOf(workingLink.getInode()));
    }

    //Refreshing the menues
    if (!(!previousShowMenu && !link.isShowOnMenu()))
    {
View Full Code Here

    //wraps request to get session object
    ActionRequestImpl reqImpl = (ActionRequestImpl) req;
    HttpServletRequest httpReq = reqImpl.getHttpServletRequest();

    //gets the current template being edited from the request object
    Link currentLink = (Link) req.getAttribute(WebKeys.LINK_EDIT);

    //gets folder parent
    String parentInode = req.getParameter("parent");
    Folder parent = null;
    if (parentInode != null && parentInode.length() != 0
View Full Code Here

  @SuppressWarnings("unchecked")
  public void _getVersionBackWebAsset(ActionRequest req, ActionResponse res,
      PortletConfig config, ActionForm form, User user) throws Exception {

    Link workingLink = (Link) super._getVersionBackWebAsset(req, res,
        config, form, user, Link.class, WebKeys.LINK_EDIT);
    Link linkVersion = (Link) req.getAttribute(WebKeys.LINK_EDIT);

    // Get parents of the old version so you can update the working
    // information to this new version.
    List<Inode> parents = (List<Inode>) InodeFactory.getParentsOfClass(linkVersion, Category.class);
    parents.addAll(InodeFactory.getParentsOfClass(linkVersion, Contentlet.class));


    java.util.Iterator parentsIterator = parents.iterator();

    //update parents to new version delete old versions parents if not
    // live.
    while (parentsIterator.hasNext()) {
      Object obj = parentsIterator.next();
        if(obj instanceof Inode){
        Inode parentInode = (Inode) obj;
        if(!InodeUtils.isSet(parentInode.getInode())){
        continue;
       }
       parentInode.addChild(workingLink);

       //to keep relation types from parent only if it exists
       Tree tree = com.dotmarketing.factories.TreeFactory.getTree(
          parentInode, linkVersion);
       if ((tree.getRelationType() != null)
          && (tree.getRelationType().length() != 0)) {
        Tree newTree = com.dotmarketing.factories.TreeFactory.getTree(
            parentInode, workingLink);
        newTree.setRelationType(tree.getRelationType());
        newTree.setTreeOrder(0);
        TreeFactory.saveTree(newTree);
       }

       // checks type of parent and deletes child if not live version.
       if (!linkVersion.isLive()) {
        if (parentInode instanceof Inode) {
          parentInode.deleteChild(linkVersion);
        }
       }
       }
View Full Code Here

    String[] publishInode = req.getParameterValues("publishInode");
    ActionRequestImpl reqImpl = (ActionRequestImpl)req;
   
    if (publishInode!=null) {
      for (int i=0;i<publishInode.length;i++) {
        Link link = (Link) InodeFactory.getInode(publishInode[i],Link.class);
   
        if (InodeUtils.isSet(link.getInode())) {
          //calls the asset factory edit
         
          try{
            PublishFactory.publishAsset(link,reqImpl.getHttpServletRequest());
            SessionMessages.add(req, "message", "message.link_list.published");
View Full Code Here

      if (cmd!=null && cmd.equals("editLink")) {

        Logger.debug(DirectorAction.class, "Director :: editLink");

        String popup = req.getParameter("popup");
        Link link = (Link) InodeFactory.getInode(req.getParameter("link"), Link.class);

        Identifier identifier = APILocator.getIdentifierAPI().find(link);
        //gets the current working asset
        WebAsset workingLink = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier,APILocator.getUserAPI().getSystemUser(),false);
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.links.model.Link

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.