Package org.apache.roller.model

Examples of org.apache.roller.model.BookmarkManager


        if (RollerSession.getRollerSession(request).isUserAuthorizedToAuthor(website))
        {
            try
            {
                BookmarkManager bmgr = roller.getBookmarkManager();
                BookmarksForm form = (BookmarksForm)actionForm;
   
                mLogger.debug("Moving folders and bookmarks to folder, id="
                    + form.getMoveToFolderId());
   
                // Move subfolders to new folder.
                String folders[] = form.getSelectedFolders();
                FolderData parent = bmgr.getFolder(form.getMoveToFolderId());
                if (null != folders)
                {
                    for (int i = 0; i < folders.length; i++)
                    {
                        FolderData fd = bmgr.getFolder(folders[i]);
   
                        // Don't move folder into itself.
                        if (    !fd.getId().equals(parent.getId())
                             && !parent.descendentOf(fd))
                        {
                            fd.setParent(parent);
                            bmgr.saveFolder(fd);
                        }
                        else
                        {
                            messages.add(null, new ActionMessage(
                                "bookmarksForm.warn.notMoving",fd.getName()));
                        }
                    }
                }
   
                // Move bookmarks.
                String bookmarks[] = form.getSelectedBookmarks();
                if (null != bookmarks)
                {
                    for (int j = 0; j < bookmarks.length; j++)
                    {
                        // maybe we should be using folder.addBookmark()?
                        BookmarkData bd = bmgr.getBookmark(bookmarks[j]);
                        bd.setFolder(parent);
                        bmgr.saveBookmark(bd);
                    }
                }
                RollerFactory.getRoller().flush();

                CacheManager.invalidate(website);
View Full Code Here


        {
            super("",  request, response, mapping);
           
            RollerRequest rreq = RollerRequest.getRollerRequest(request);
            RollerSession rollerSession = RollerSession.getRollerSession(request);
            BookmarkManager bmgr = RollerFactory.getRoller().getBookmarkManager();

            allFolders = new TreeSet(new FolderPathComparator());

            // Find folderid wherever it may be
            String folderId = (String)
                request.getAttribute(RollerRequest.FOLDERID_KEY);
            if (null == folderId)
            {
                folderId = request.getParameter(RollerRequest.FOLDERID_KEY);
            }
            if (null == folderId)
            {
                folderId = form.getFolderId();
            }

            if (null == folderId || folderId.equals("null"))
            {
                website = rreq.getWebsite();
                folder = bmgr.getRootFolder(website);
                folderId = folder.getId();
            }
            else
            {
                folder = bmgr.getFolder(folderId);
                website = folder.getWebsite();
            }
            form.setFolderId(folder.getId());

            if (null != folder.getParent())
            {
                folderPath = new LinkedList();
                folderPath.add(0, folder);
                FolderData parent = folder.getParent();
                while (parent != null)
                {
                    folderPath.add(0, parent);
                    parent = parent.getParent();
                }
                request.setAttribute(
                    RollerRequest.PARENTID_KEY, folder.getParent().getId());
            }

            // Build list of all folders, except for current one, sorted by path.
            Iterator iter = bmgr.getAllFolders(website).iterator();
            while (iter.hasNext())
            {
                FolderData fd = (FolderData) iter.next();
                if (!fd.getId().equals(folderId))
                {
View Full Code Here

    }
   
   
    public void testAddBookmarkToFolder() throws Exception {
       
        BookmarkManager bmgr = getRoller().getBookmarkManager();
        FolderData folder = null;
        BookmarkData bookmark1 = null, bookmark2 = null;
       
        FolderData root = bmgr.getRootFolder(testWeblog);
       
        folder = new FolderData();
        folder.setName("TestFolder1");
        folder.setDescription("created by testAddBookmarkToFolder()");
        folder.setWebsite(testWeblog);
        folder.setParent(root);
        bmgr.saveFolder(folder);
       
        // Add bookmark by adding to folder
        bookmark1 = new BookmarkData(
                folder,
                "TestBookmark1",
                "created by testAddBookmarkToFolder()",
                "http://www.example.com",
                "http://www.example.com/rss.xml",
                new Integer(1),
                new Integer(12),
                "test.jpg");
        folder.addBookmark(bookmark1);
       
        // Add another bookmark
        bookmark2 = new BookmarkData(
                folder,
                "TestBookmark2",
                "created by testAddBookmarkToFolder()",
                "http://www.example.com",
                "http://www.example.com/rss.xml",
                new Integer(1),
                new Integer(12),
                "test.jpf");
        folder.addBookmark(bookmark2);
       
        TestUtils.endSession(true);
       
        FolderData testFolder = null;
        BookmarkData bookmarkb = null, bookmarka = null;
       
        // See that two bookmarks were stored
        testFolder = bmgr.getFolder(folder.getId());
        assertEquals(2, testFolder.getBookmarks().size());
        bookmarka = (BookmarkData)testFolder.getBookmarks().iterator().next();
        bookmarkb = (BookmarkData)testFolder.getBookmarks().iterator().next();
        // Remove one bookmark
        testFolder.removeBookmark(bookmarka);
        bmgr.removeBookmark(bookmarka);
        TestUtils.endSession(true);
       
        // Folder should now contain one bookmark
        testFolder = bmgr.getFolder(folder.getId());
        assertEquals(1, testFolder.getBookmarks().size());
        TestUtils.endSession(true);
       
        // Remove folder
        testFolder = bmgr.getFolder(folder.getId());
        bmgr.removeFolder(testFolder);
        TestUtils.endSession(true);
       
        // Folder and one remaining bookmark should be gone
        assertNull( bmgr.getBookmark(bookmarkb.getId()) );
        assertNull( bmgr.getFolder(folder.getId()) );
    }
View Full Code Here

     *          f2/
     *             f3/
     */
    public void testMoveFolderContents() throws Exception {
       
        BookmarkManager bmgr = getRoller().getBookmarkManager();
       
        FolderData root = bmgr.getRootFolder(testWeblog);
       
        FolderData dest = new FolderData();
        dest.setName("dest");
        dest.setParent(root);
        dest.setWebsite(testWeblog);
        bmgr.saveFolder(dest);
       
        // create source folder f1
        FolderData f1 = new FolderData();
        f1.setName("f1");
        f1.setParent(root);
        f1.setWebsite(testWeblog);
        bmgr.saveFolder(f1);
       
        // create bookmark b1 inside source folder f1
        BookmarkData b1 = new BookmarkData(
                f1, "b1", "testbookmark",
                "http://example.com", "http://example.com/rss",
                new Integer(1), new Integer(1), "image.gif");
        f1.addBookmark(b1);
       
        // create folder f2 inside f1
        FolderData f2 = new FolderData();
        f2.setName("f2");
        f2.setParent(f1);
        f2.setWebsite(testWeblog);
        bmgr.saveFolder(f2);
       
        // create bookmark b2 inside folder f2
        BookmarkData b2 = new BookmarkData(
                f2, "b2", "testbookmark",
                "http://example.com", "http://example.com/rss",
                new Integer(1), new Integer(1), "image.gif");
        f2.addBookmark(b2);
       
        // create folder f3 inside folder f2
        FolderData f3 = new FolderData();
        f3.setName("f3");
        f3.setParent(f2);
        f3.setWebsite(testWeblog);
        bmgr.saveFolder(f3);
       
        // crete bookmark b3 inside folder f3
        BookmarkData b3 = new BookmarkData(
                f3, "b3", "testbookmark",
                "http://example.com", "http://example.com/rss",
                new Integer(1), new Integer(1), "image.gif");
        f3.addBookmark(b3);
       
        TestUtils.endSession(true);
       
        // test that parent cannot be moved into child
        boolean safe = false;
        try {
           
            // Move folder into one of it's children
            f1 = bmgr.getFolder(f1.getId());
            f3 = bmgr.getFolder(f3.getId());
            bmgr.moveFolderContents(f1, f3);
            //f3.save();
            //f1.save();
            TestUtils.endSession(true);
        } catch (RollerException e) {
            safe = true;
        }
        assertTrue(safe);
       
        // verify number of entries in each folder
        dest = bmgr.getFolder(dest.getId());
        f1 = bmgr.getFolder(f1.getId());
        assertEquals(0, dest.retrieveBookmarks(true).size());
        assertEquals(0, dest.retrieveBookmarks(false).size());
        assertEquals(1, f1.retrieveBookmarks(false).size());
       
        List f1list = f1.retrieveBookmarks(true);
        assertEquals(3, f1list.size());
       
        // move contents of source category c1 to destination catetory dest
        f1.moveContents(dest);
        bmgr.saveFolder(f1);
        bmgr.saveFolder(dest);
        TestUtils.endSession(true);
       
        // after move, verify number of entries in eacch folder
        dest = bmgr.getFolder(dest.getId());
        f1 = bmgr.getFolder(f1.getId());
        assertEquals(3, dest.retrieveBookmarks(true).size());
        assertEquals(3, dest.retrieveBookmarks(false).size());
        assertEquals(0, f1.retrieveBookmarks(true).size());
        assertEquals(0, f1.retrieveBookmarks(false).size());
    }
View Full Code Here

   
   
    /** Test bookmark folder paths. */
    public void testPaths() throws Exception {
       
        BookmarkManager bmgr = getRoller().getBookmarkManager();
       
        try {
            FolderData root = bmgr.getRootFolder(testWeblog);
           
            FolderData f1 = new FolderData();
            f1.setName("f1");
            f1.setParent(root);
            f1.setWebsite(testWeblog);
            bmgr.saveFolder(f1);
           
            FolderData f2 = new FolderData();
            f2.setName("f2");
            f2.setParent(f1);
            f2.setWebsite(testWeblog);
            bmgr.saveFolder(f2);
           
            FolderData f3 = new FolderData();
            f3.setName("f3");
            f3.setParent(f2);
            f3.setWebsite(testWeblog);
            bmgr.saveFolder(f3);
           
            TestUtils.endSession(true);
        } catch (RollerException e) {
            TestUtils.endSession(true);
            log.error(e);
        }
       
        try {
           
            assertEquals("f1",bmgr.getFolderByPath(testWeblog, null, "/f1").getName());
            assertEquals("f2",bmgr.getFolderByPath(testWeblog, null, "/f1/f2").getName());
            assertEquals("f3",bmgr.getFolderByPath(testWeblog, null, "/f1/f2/f3").getName());
           
            FolderData f3 = bmgr.getFolderByPath(testWeblog, null, "/f1/f2/f3");
            String pathString = bmgr.getPath(f3);
            String[] pathArray = Utilities.stringToStringArray(pathString,"/");
            assertEquals("f1", pathArray[0]);
            assertEquals("f2", pathArray[1]);
            assertEquals("f3", pathArray[2]);
           
View Full Code Here

    /** Ensure that duplicate folder name will throw RollerException */
    public void testUniquenessOfFolderNames() throws Exception {
       
        boolean exception = false;
        FolderData f3 = null;
        BookmarkManager bmgr = getRoller().getBookmarkManager();
        try {
            FolderData root = bmgr.getRootFolder(testWeblog);
           
            FolderData f1 = new FolderData();
            f1.setName("f1");
            f1.setParent(root);
            f1.setWebsite(testWeblog);
            bmgr.saveFolder(f1);
           
            // first child folder
            FolderData f2 = new FolderData();
            f2.setName("f2");
            f2.setParent(f1);
            f2.setWebsite(testWeblog);
            bmgr.saveFolder(f2);
           
            TestUtils.endSession(true);
           
            // child folder with same name as first
            f3 = new FolderData();
            f3.setName("f2");
            f3.setParent(f1);
            f3.setWebsite(testWeblog);
            bmgr.saveFolder(f3);
           
            TestUtils.endSession(true);
        } catch (RollerException e) {
            exception = true;
        }
View Full Code Here

        BookmarksPageModel pageModel = new BookmarksPageModel(
            request, response, mapping, (BookmarksForm)actionForm);
        WebsiteData website = pageModel.getFolder().getWebsite();
        if (RollerSession.getRollerSession(request).isUserAuthorizedToAuthor(website))
        {
            BookmarkManager bmgr = roller.getBookmarkManager();
            BookmarksForm form = (BookmarksForm)actionForm;

            mLogger.debug("Deleting folders and bookmarks.");

            String folders[] = form.getSelectedFolders();
            if (null != folders)
            {
                for (int i = 0; i < folders.length; i++)
                {
                    FolderData fd = bmgr.getFolder(folders[i]);
                    bmgr.removeFolder(fd); // removes child folders and bookmarks too
                }
            }
           
            BookmarkData bookmark = null;
            String bookmarks[] = form.getSelectedBookmarks();
            if (null != bookmarks)
            {
                for (int j = 0; j < bookmarks.length; j++)
                {
                    bookmark = bmgr.getBookmark(bookmarks[j]);
                    bmgr.removeBookmark(bookmark);
                }
            }
            RollerFactory.getRoller().flush();
               
            CacheManager.invalidate(website);
View Full Code Here

        if (RollerSession.getRollerSession(request).isUserAuthorizedToAuthor(website))
        {
            try
            {
                BookmarkManager bmgr = roller.getBookmarkManager();
                BookmarksForm form = (BookmarksForm)actionForm;
   
                mLogger.debug("Moving folders and bookmarks to folder, id="
                    + form.getMoveToFolderId());
   
                // Move subfolders to new folder.
                String folders[] = form.getSelectedFolders();
                FolderData parent = bmgr.getFolder(form.getMoveToFolderId());
                if (null != folders)
                {
                    for (int i = 0; i < folders.length; i++)
                    {
                        FolderData fd = bmgr.getFolder(folders[i]);
   
                        // Don't move folder into itself.
                        if (    !fd.getId().equals(parent.getId())
                             && !parent.descendentOf(fd))
                        {
                            fd.setParent(parent);
                            bmgr.saveFolder(fd);
                        }
                        else
                        {
                            messages.add(null, new ActionMessage(
                                "bookmarksForm.warn.notMoving",fd.getName()));
                        }
                    }
                }
   
                // Move bookmarks.
                String bookmarks[] = form.getSelectedBookmarks();
                if (null != bookmarks)
                {
                    for (int j = 0; j < bookmarks.length; j++)
                    {
                        // maybe we should be using folder.addBookmark()?
                        BookmarkData bd = bmgr.getBookmark(bookmarks[j]);
                        bd.setFolder(parent);
                        bmgr.saveBookmark(bd);
                    }
                }
                RollerFactory.getRoller().flush();

                CacheManager.invalidate(website);
View Full Code Here

   
   
    public String render(WeblogEntryData entry, String str) {
        String text = str;
        try {
            BookmarkManager bMgr = RollerFactory.getRoller().getBookmarkManager();
            FolderData rootFolder = bMgr.getRootFolder(entry.getWebsite());
            text = matchBookmarks(text, rootFolder);
            text = lookInFolders(text, rootFolder.getFolders());
        } catch (RollerException e) {
            // nothing much I can do, go with default "Weblog" value
            // could be RollerException or NullPointerException
View Full Code Here

        FolderFormEx theForm = (FolderFormEx)actionForm;
        ActionForward fwd = mapping.findForward("importBookmarks.page");
       
        RollerRequest rreq = RollerRequest.getRollerRequest(request);
        RollerSession rses = RollerSession.getRollerSession(request);       
        BookmarkManager bm = RollerFactory.getRoller().getBookmarkManager();
       
        BasePageModel pageModel = new BasePageModel(
            "bookmarksImport.title", request, response, mapping);
        request.setAttribute("model", pageModel);

        WebsiteData website = getWebsite(request);
        pageModel.setWebsite(website);
       
        // if user authorized and a file is being uploaded
        if (rses.isUserAuthorizedToAuthor(website) && theForm.getBookmarksFile() != null) {
           
            // this line is here for when the input page is upload-utf8.jsp,
            // it sets the correct character encoding for the response
            String encoding = request.getCharacterEncoding();
            if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8"))) {
                response.setContentType("text/html; charset=utf-8");
            }           
            boolean writeFile = false;
           
            //retrieve the file representation
            FormFile file = theForm.getBookmarksFile();
            String data = null;
            InputStream stream = null;
            try {
              
                //retrieve the file data
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                stream = file.getInputStream();
                if (!writeFile) {
                    //only write files out that are less than 1MB
                    if (file.getFileSize() < (4*1024000)) {
                       
                        byte[] buffer = new byte[8192];
                        int bytesRead = 0;
                        while ((bytesRead=stream.read(buffer,0,8192)) != -1) {
                            baos.write(buffer, 0, bytesRead);
                        }
                        data = new String(baos.toByteArray());
                       
                        SimpleDateFormat formatter =
                                new SimpleDateFormat("yyyyMMddHHmmss");
                        Date now = new Date();
                        String folderName = "imported-" + formatter.format(now);
                       
                        // Use Roller BookmarkManager to import bookmarks

                        bm.importBookmarks(website, folderName, data)
                        RollerFactory.getRoller().flush();
                        CacheManager.invalidate(website);
                       
                        ActionMessages messages = new ActionMessages();
                        messages.add(ActionMessages.GLOBAL_MESSAGE,
View Full Code Here

TOP

Related Classes of org.apache.roller.model.BookmarkManager

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.