logo       

roller/src/org/roller/presentation ArchiveParser.java,NONE,1.1 ApplicationR: msg#00015

Subject: roller/src/org/roller/presentation ArchiveParser.java,NONE,1.1 ApplicationResources.properties,1.29,1.30
Update of /cvsroot/roller/roller/src/org/roller/presentation
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1941/src/org/roller/presentation

Modified Files:
        ApplicationResources.properties 
Added Files:
        ArchiveParser.java 
Log Message:
More wokr on Import/Export of Entries: not thoroughly tested!


--- NEW FILE: ArchiveParser.java ---
/*
 * Created on Apr 2, 2004
 */
package org.roller.presentation;

import de.nava.informa.core.CategoryIF;
import de.nava.informa.core.ChannelIF;
import de.nava.informa.core.ItemIF;
import de.nava.informa.core.ParseException;
import de.nava.informa.impl.basic.ChannelBuilder;
import de.nava.informa.parsers.RSSParser;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osjava.atom4j.pojo.Feed;
import org.roller.RollerException;
import org.roller.model.Roller;
import org.roller.pojos.CommentData;
import org.roller.pojos.WeblogCategoryData;
import org.roller.pojos.WeblogEntryData;
import org.roller.pojos.WebsiteData;
import org.roller.presentation.atom.AtomEntry;
import org.roller.presentation.atom.AtomFeedReader;
import org.roller.presentation.weblog.search.IndexManager;
import org.roller.presentation.weblog.search.operations.AddEntryOperation;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;

/**
 * @author lance.lavandowska
 */
public class ArchiveParser
{
    protected static Log mLogger = 
        LogFactory.getFactory().getInstance(ArchiveParser.class);
    
    private Roller roller;
    private WebsiteData website;
    private File archiveFile;
    
    /**
     * @param rreq
     * @param f
     */
    public ArchiveParser(Roller roller, WebsiteData website, File f)
    {
        this.roller = roller;
        this.website = website;
        archiveFile = f;
    }

    public String parse() throws RollerException
    {
        StringBuffer buf = new StringBuffer();
        
        // parse file and convert to WeblogEntryDatas
        ChannelIF channel = getInformaChannel();
        
        if (channel != null && channel.getItems()!= null)
        {
            importRSS(buf, channel);
        }
        else // try Atom feed
        {
            Feed atomFeed = getAtomFeed();
            if (atomFeed != null)
            {    
                importAtom(buf, atomFeed);
            }
        }
        return buf.toString();
    }

    /**
     * @return
     * @throws FileNotFoundException
     * @throws IOException
     */
    private Feed getAtomFeed()
    {
        try
        {
            FileInputStream fis = new FileInputStream(archiveFile);
            AtomFeedReader reader = new AtomFeedReader(fis);
            reader.parse();
            fis.close();
            return reader.getFeed();
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * @param channel
     * @return
     */
    private ChannelIF getInformaChannel()
    {
        ChannelIF channel = null;
        try
        {
            channel = RSSParser.parse(new ChannelBuilder(), archiveFile);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }
        return channel;
    }

    /**
     * 
     */
    private void importAtom(StringBuffer buf, Feed atomFeed) throws 
RollerException
    {
        // setup data objects
        Timestamp current = new Timestamp( System.currentTimeMillis());
        WeblogCategoryData defaultCategory = website.getDefaultCategory();
        WeblogCategoryData rootCategory = roller.getWeblogManager()
            .getRootWeblogCategory(website);

        IndexManager indexManager =
            RollerContext.getRollerContext(
                RollerContext.getServletContext()).getIndexManager();
        AtomEntry atomEntry;
        WeblogEntryData entry;
        HashMap entryMap = new HashMap(); // map of Roller entries
        WeblogCategoryData category;
        HashMap categoryMap = new HashMap();
        categoryMap.put("defaultCategory", defaultCategory);
        Iterator it = atomFeed.getEntries().iterator();
        String title;
        while( it.hasNext() )
        {
            // create new Entry from AtomEntry
            atomEntry = (AtomEntry)it.next();
            
            // test to see if this Entry is a Comment (it's
            // parent should already exist).
            /* Added by Roller's AtomEntry */
            if (atomEntry.getAnnotation() != null)
            {
                createComment(atomEntry, entryMap);
                continue;
            }
            
            entry = 
roller.getWeblogManager().retrieveWeblogEntry(atomEntry.getId());
            if (entry == null)
            {
                category = null;
                /* Atom doesn't currently have a Category definition.
                 Added by Roller's AtomEntry */
                // return WeblogCategoryData for getCategories
                if (atomEntry.getCategories() != null)
                {
                    Iterator cIt = atomEntry.getCategories().iterator();
                    if (cIt.hasNext()) 
                    {
                        String catPath = (String)cIt.next();
                        category = locateCategory(website, 
                            rootCategory, catPath, categoryMap);
                    }
                }
                if (category == null) category = defaultCategory;
                
                title = atomEntry.getTitle().getText();
                entry = new WeblogEntryData(
                    atomEntry.getId(), category, website, 
                    title, (String)null, 
                    atomEntry.getSummary().getText(), (String)null, 
                    new Timestamp(atomEntry.getIssued().getTime()),
                    new Timestamp(atomEntry.getModified().getTime()), 
                    Boolean.TRUE);
                entry.save();
                
                // store entry in local cache for Comments' to lookup
                entryMap.put(entry.getId(), entry);
                
                buf.append(title).append(" imported.<br />");
            
                // index the new Entry
                AddEntryOperation addEntry = new AddEntryOperation(entry);
                indexManager.scheduleIndexOperation(addEntry);
            }
            else
            {
                buf.append("An Entry already exists for id: " + 
atomEntry.getId() + ".<br />");
            }
        }
        roller.commit();
    }

    /**
     * @param atomEntry
     * @param entryMap
     */
    private void createComment(AtomEntry atomEntry, HashMap entryMap) throws 
RollerException
    {
        // first try to get the Entry from local cache
        CommentData comment = 
roller.getWeblogManager().retrieveComment(atomEntry.getId());
        if (comment == null)
        {    
            String entryId = atomEntry.getAnnotation();
            WeblogEntryData entry = (WeblogEntryData) entryMap.get(entryId);
            if (entry == null)
            {
                // now try getting it from database
                entry = roller.getWeblogManager().retrieveWeblogEntry(entryId);
            }
            if (entry != null)
            {    
                comment = new CommentData(
                    atomEntry.getId(), 
                    entry, 
                    atomEntry.getTitle().getText(), 
                    atomEntry.getAuthor().getEmail(), 
                    atomEntry.getAuthor().getUrl(), 
                    atomEntry.getContent().getText(), 
                    new Timestamp(atomEntry.getIssued().getTime()), 
                    Boolean.FALSE);
                comment.save();
            }
            else
            {
                mLogger.warn("Unable to find parent WeblogEntry for id: " + 
entryId +
                             ".\n\tComment not created: " + 
atomEntry.getTitle().getText());
            }
        }
        else
        {
            mLogger.info("A Comment already exists for id: " + 
atomEntry.getId());
        }
    }

    /**
     * @param rreq
     * @param buf
     * @param channel
     * @throws RollerException
     */
    private void importRSS(StringBuffer buf, ChannelIF channel) throws 
RollerException
    {
        // setup data objects
        Timestamp current = new Timestamp( System.currentTimeMillis());
        WeblogCategoryData defaultCategory = website.getDefaultCategory();
        WeblogCategoryData rootCategory = roller.getWeblogManager()
            .getRootWeblogCategory(website);

        IndexManager indexManager =
            RollerContext.getRollerContext(
                RollerContext.getServletContext()).getIndexManager();

        ItemIF item;
        WeblogEntryData entry = null;
        WeblogCategoryData category;
        HashMap categoryMap = new HashMap();
        categoryMap.put("defaultCategory", defaultCategory);
        Iterator it = channel.getItems().iterator();
        while (it.hasNext())
        {
            item = (ItemIF)it.next();
            
            if (!item.getGuid().isPermaLink())
            {
                entry = 
roller.getWeblogManager().retrieveWeblogEntry(item.getGuid().getLocation());
            }
            
            if (entry == null)
            {    
                category = null;
                // return WeblogCategoryData for getCategories
                if (item.getCategories() != null)
                {
                    Iterator cIt = item.getCategories().iterator();
                    if (cIt.hasNext()) 
                    {
                        // see if we've already created a category for this 
String
                        CategoryIF catIF = (CategoryIF)cIt.next();
                        category = locateCategory(website, 
                            rootCategory, catIF.getTitle(), categoryMap);
                    }
                }
                if (category == null) category = defaultCategory;
                
                // make sure there is an item date
                if (item.getDate() == null)
                {
                    item.setDate(new Date(current.getTime()));
                }
                
                entry = new WeblogEntryData(
                    (String)null, category, website, 
                    item.getTitle(), (String)null, 
                    item.getDescription(), (String)null, 
                    new Timestamp(item.getDate().getTime()),
                    new Timestamp(item.getDate().getTime()), 
                    Boolean.TRUE);
                entry.save();
                buf.append(item.getTitle()).append(" imported.<br />");
                
                // index the new Entry
                AddEntryOperation addEntry = new AddEntryOperation(entry);
                indexManager.scheduleIndexOperation(addEntry);
            }
            else
            {
                buf.append("An Entry already exists for id: " + entry.getId() + 
".<br />");
            }
        }
        roller.commit();
    }

    /**
     * Iterate over Item's Categories, if any, using the first one.  
     * Try to match against any we've already pulled.  
     * If none found locally, check against the database.  
     * If we still don't find a match, create one and store it locally.
     * If there are no Item Categories, use defaultCategory
     * 
     * @param mapping
     * @param actionForm
     * @param request
     * @param response
     * @return
     * @throws IOException
     * @throws ServletException
     */
    private WeblogCategoryData locateCategory(
                                  WebsiteData website, 
                                  WeblogCategoryData rootCategory, 
                                  String catName, HashMap categoryMap) 
    throws RollerException
    {
        WeblogCategoryData category = 
(WeblogCategoryData)categoryMap.get(catName);
        if (category == null) // not in local map
        {
            // look for it in database
            category = roller.getWeblogManager()
                .getWeblogCategoryByPath(website, category, catName);

            if (category == null) // not in database
            {    
                // create a new one
                category = new WeblogCategoryData(null, 
                    website, rootCategory, 
                    catName, catName, null);
                category.save();
            }
            categoryMap.put(catName, category);
        }
        
        return category;
    }
}

Index: ApplicationResources.properties
===================================================================
RCS file: 
/cvsroot/roller/roller/src/org/roller/presentation/ApplicationResources.properties,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** ApplicationResources.properties     21 Mar 2004 04:33:56 -0000      1.29
--- ApplicationResources.properties     5 Apr 2004 11:43:31 -0000       1.30
***************
*** 1,390 ****
! 
! #------------------------------------------------------------ Struts Validator
! 
! errors.header=<div class="error"><ul>
! errors.footer=</ul></div>
! 
! errors.required={0} is required.
! errors.minlength={0} can not be less than {1} characters.
! errors.maxlength={0} can not be greater than {1} characters.
! errors.invalid={0} is invalid.
! errors.byte={0} must be a byte.
! errors.short={0} must be a short.
! errors.integer={0} must be an integer.
! errors.long={0} must be a long.
! errors.float={0} must be a float.
! errors.double={0} must be a double.
! errors.date={0} is not a date.
! errors.range={0} is not in the range {1} through {2}.
! errors.creditcard={0} is an invalid credit card number.
! errors.email={0} may only include letters, numbers, and spaces.
! errors.noslashes={0} may not include '/' slash characters.
! 
! # ----------------------------------------------------------------- error.jsp
! 
! errorPage.title=Unexpected Exception
! errorPage.message=Roller has encountered and logged an unexpected exception.
! errorPage.reason=Reason
! errorPage.noException=No stack trace.
! 
! # ------------------------------------------------- Success Messages in 
Actions
! pageCache.flushed=Page cache has been successfully flushed.
! 
! # ---------------------------------------------------------- BookmarkForm.jsp
! 
! bookmarkForm.addBookmark=Add a New Bookmark
! bookmarkForm.cancel=Cancel
! bookmarkForm.correctBookmark=Correct Bookmark Edits
! bookmarkForm.description=Description
! bookmarkForm.editBookmark=Edit Bookmark
! bookmarkForm.folder=Bookmark Folder
! bookmarkForm.image=Image URL
! bookmarkForm.name=Name
! bookmarkForm.priority=Sort Priority
! bookmarkForm.rssUrl=Newsfeed URL
! bookmarkForm.save=Save
! bookmarkForm.url=Bookmark URL
! bookmarkForm.weight=Display Weight
! 
! # --------------------------------------------------------- BookmarksForm.jsp
! 
! bookmarksForm.addBookmark=Add Bookmark
! bookmarksForm.addFolder=Add Folder
! bookmarksForm.checkAll=Select All
! bookmarksForm.checkNone=Select None
! bookmarksForm.delete=Delete selected
! bookmarksForm.description=Description
! bookmarksForm.edit=Edit
! bookmarksForm.edit.tip=Click to edit this folder or bookmark
! bookmarksForm.folder=Folder
! bookmarksForm.move=Move selected
! bookmarksForm.name=Name
! bookmarksForm.path=Path
! bookmarksForm.root=root
! bookmarksForm.visitLink=Visit
! bookmarksForm.visitLink.tip=Click to visit this site
! 
! # ------------------------------------------------------ Bookmarks import.jsp
! 
! bookmarksImport.title=Import OPML Bookmarks
! bookmarksImport.prompt=Import your OPML format bookmarks or newreader 
subscription file:
! 
! # ---------------------------------------------------------- CategoryForm.jsp
! 
! categoryForm.name=Name
! categoryForm.description=Description
! categoryForm.image=image
! categoryForm.save=Save
! categoryForm.cancel=Cancel
! categoryForm.editCategory=Edit Category
! categoryForm.addCategory=Add Category
! categoryForm.editCategory=Edit Category
! categoryForm.correctCategory=Correct Category
! 
! # ---------------------------------------------------------- 
CategoriesForm.jsp
! 
! categoriesForm.name=Name
! categoriesForm.description=Description
! categoriesForm.edit=Edit
! categoriesForm.root=root
! categoriesForm.addCategory=Add Category
! categoriesForm.checkAll=Check All
! categoriesForm.checkNone=Check None
! categoriesForm.delete=Delete
! categoriesForm.move=Move
! categoriesForm.path=Path
! categoriesForm.parent=Category
! categoriesForm.remove=Remove
! 
! # ------------------------------------------------------- CategoryDeleteOK.jsp
! 
! categoryDeleteOK.removeCategory=Remove Weblog Category
! categoryDeleteOK.warningCatInUse=WARNING: This category is in use!
! categoryDeleteOK.youMustMoveEntries=You must move the weblog entries in the 
category to another category, use the combo-box to select which category should 
receive the entries.</p>
! categoryDeleteOK.moveToWhere=Move the contents to another category:
! categoryDeleteOK.noEntriesInCat=There are no weblog entries in this category, 
OK to delete.
! categoryDeleteOK.areYouSure=Are you sure you want to delete this weblog 
category?
! 
! # --------------------------------------------------------- Configuration
! 
! configForm.title=Roller Configuration
! 
! configForm.siteSettings=Site Settings
! configForm.siteName=Site Name (for main RSS feed)
! configForm.siteDescription=Site Description (for main RSS feed)
! configForm.siteAdminEmail=Site Administrator's email address
! configForm.absoluteUrl=Absolute URL to site (if required)
! configForm.enableLinkback=Enable Linkback extraction?
! configForm.searchIndexDir=Search Index Directory<br />(use ${user.home} for 
system property)
! 
! configForm.userSettings=User Settings
! configForm.allowNewUsers=Allow New Users?
! configForm.adminUsers=Admin Users
! configForm.encryptPasswords=Encrypt Passwords?
! configForm.algorithm=Encryption Algorithm
! configForm.newUserThemes=New User Themes
! configForm.editorPages=Editor Pages
! configForm.autoformatComments=Autoformat Comments?
! configForm.escapeCommentHtml=Escape Comment HTML?
! configForm.emailComments=E-Mail Comments?
! 
! configForm.fileUploadSettings=File Upload Settings
! configForm.enableFileUploads=Enable File Uploads?
! configForm.allowedExtensions=Allowed Extensions
! configForm.forbiddenExtensions=Forbidden Extensions
! configForm.maxFileSize=Max File Size (MB)
! configForm.maxDirSize=Max Directory Size (MB)
! configForm.uploadDir=Upload Directory
! configForm.uploadPath=Upload Path
! 
! configForm.rssAggregatorSettings=RSS Aggregator Settings
! configForm.enableRssAggregator=Enable RSS Aggregator?
! configForm.cacheIncomingRss=Cache Incoming RSS Newsfeeds?
! configForm.rssNewsfeedCacheTime=RSS Newsfeed Cache Time
! 
! configForm.debuggingSettings=Debugging Settings
! configForm.enableMemoryDebugging=Enable Memory Debugging?
! 
! configForm.save=Save
! configForm.rebuildIndex=Rebuild Search Index (All Users)
! 
! #---------------------------------------------------------- Error messages 
! 
! error.add.blogcat=Error adding Weblog Category
! error.add.blogentry=Error adding Weblog Entry 
! error.add.bookmark=Error adding Bookmark
! error.add.folder=Error adding Folder 
! error.add.newsfeed=Error adding Newsfeed 
! error.add.user.userNameInUse=Username already in use.
! error.add.user.missingUserName=You must specify a username.
! error.add.user.badUserName=Invalid user name (must be alpha-numerics only).
! error.add.user.missingPassword=You must specify a password.
! error.add.user.missingEmailAddress=You must specify a valid email address.
! 
! error.edit.blogcat=Error displaying Edit Weblog Category page
! error.edit.blogentry=Error displaying Weblog Edit page  
! error.edit.bookmark=Error displaying Edit Bookmark page
! error.edit.comment=Error displaying Comment page {0}
! error.edit.folder=Error displaying Edit Bookmark Folder page
! error.edit.newsfeed=Error displaying Edit Newsfeed page 
! 
! error.editall.blogcat=Error displaying Edit Weblog Categories page
! error.editall.folder=Error displaying Edit Bookmarks page 
! 
! error.upload.dirmax=You cannot exceed the maximum directory size
! error.upload.disabled=File Upload has been disabled
! error.upload.file=Unable to write file
! error.upload.filemax=File larger than maximum allowed
! 
! error.general=ERROR: Unexpected Exception [{0}] has been logged.
! 
! error.importing.bookmarks=Error importing bookmarks
! 
! error.move.bookmarks=Error removing Bookmarks
! 
! error.password.mismatch=Wrong username and password combination
! 
! error.preview.comment=Error getting Comment preview {0}
! 
! error.remove.blogcat=Error removing Weblog Category
! error.remove.blogentry=Error removing Weblog Entry
! error.remove.bookmark=Error removing Bookmark
! error.remove.bookmarks=Error removing Bookmarks
! error.remove.folder=Error removing Bookmark Folder 
! error.remove.newsfeed=Error removing Newsfeed 
! 
! error.removeok.blogcat=Error displaying Remove Weblog Category page  
! error.removeok.blogentry=Error displaying Remove Weblog Entry page  
! error.removeok.bookmark=Error displaying Remove Bookmark page 
! error.removeok.folder=Error displaying Remove Bookmark Folder page 
! error.removeok.newsfeed=Error displaying Remove Newsfeed page 
! 
! error.update.blogcat=Error updating Weblog Category
! error.update.blogentry=Error updating Weblog Entry
! error.update.bookmark=Error updating Bookmark
! error.update.comment=Error saving Comment {0}
! error.update.folder=Error updating Bookmark Folder
! error.update.newsfeed=Error updating Newsfeed 
! error.update.rollerConfig=Error updating RollerConfig
! 
! error.bake.weblog=Error baking your Weblog
! 
! error.trackback=Error sending trackback. Possible cause: incorrect trackback 
URL. {0}
! 
! errorPage.title=Unexpected Exception
! errorPage.message=Roller has encountered and logged an unexpected exception.
! errorPage.reason=Reason
! 
! # ------------------------------------------------------------ Footer
! 
! footer.reportIssue=Report an Issue
! footer.userGuide=User Guide
! footer.macros=Macros
! footer.mailingLists=Mailing Lists
! 
! # ------------------------------------------------------------ Login
! 
! loginPage.userName=Username
! loginPage.password=Password
! loginPage.rememberMe=Remember Me
! 
! # ------------------------------------------------------------ Main page
! 
! mainPage.recentEntries=Recent Weblog Entries
! mainPage.category=Category
! mainPage.read=Read
! mainPage.hotWeblogs=Hot Weblogs
! mainPage.hits=hits
! mainPage.link=Link
! mainPage.rss.tip=Combined RSS feed for site.
! 
! # ------------------------------------------------------------ Page management
! 
! pagesForm.title=Page Templates
! pagesForm.name=Name
! pagesForm.link=Link
! pagesForm.description=Description
! pagesForm.edit=Edit
! pagesForm.remove=Remove
! pagesForm.hiddenNote=NOTE: Pages with names that start with '_' are hidden. 
They will not be shown in the navigation bar.
! pagesForm.addNewPage=Add a new page
! pagesForm.=Name
! pagesForm.add=Add
! pagesForm.emptyPage=Empty page...
! 
! # ------------------------------------------------------------ Page edit
! 
! pageForm.editPage=Edit Page
! pageForm.name=Name
! pageForm.link=Link
! pageForm.description=Description
! pageForm.template=Template
! pageForm.save=Save
! 
! 
! # ------------------------------------------------------------ FolderForm.jsp
! 
! folderForm.name=Name
! folderForm.save=Save
! folderForm.cancel=Cancel
! folderForm.description=Description
! folderForm.addFolder=Add New Bookmark Folder
! folderForm.editFolder=Edit Bookmark Folder
! folderForm.correctFolder=Correct Bookmark Folder edits
! 
! folderForm.save.exception=ERROR saving folder, perhaps name is not unique? 
The error message is: {0}
! 
! # ------------------------------------------------------------- referers.jsp
! 
! referers.todaysReferers=Today's Referer Rankings
! referers.url=Refering URL
! referers.hits=Day Hits
! referers.deleteSelected=Delete Selected
! 
! referers.hitCounters=Hit Counters
! referers.reset=Reset Hit Count
! 
! # ------------------------------------------------------------- Theme
! 
! themeEditor.title=Change your Weblog Template
! themeEditor.selectTheme=Select A Theme
! themeEditor.preview=Preview
! themeEditor.save=Save
! themeEditor.cancel=Cancel
! 
! # ------------------------------------------------------------- Uploads
! 
! uploadFiles.title=File Uploads
! uploadFiles.manageFiles=Manage Uploaded Files
! uploadFiles.uploadDisabled=Upload has been disabled.
! uploadFiles.exceededQuota=You have exceeded your file upload quota.
! uploadFiles.upload=Upload
! uploadFiles.quotaNote=You may upload files smaller than {0} MB in size, up to 
a total of {1} MB for all files.
! uploadFiles.uploadPrompt=Select a file for upload:
! uploadFiles.noFiles=No files found.
! 
! uploadFiles.button.delete=Delete Selected
! 
! # ------------------------------------------------------------- User admin
! 
! userAdmin.title=User Administration
! userAdmin.editUser=Edit User
! userAdmin.userSettings=User Settings
! userAdmin.delete=Delete
! userAdmin.warning=NOTE: This operation cannot be undone !!
! userAdmin.enabled=Enabled
! userAdmin.name=Name
! userAdmin.password=Password
! userAdmin.email=Email
! userAdmin.rebuildIndex=Rebuild User's Search Index
! userAdmin.edit=Edit
! userAdmin.save=Save
! userAdmin.cookieLogin=You cannot passwords when logging in with the 
<strong>Remember Me</strong> feature.  Please logout and log back in to change 
passwords.
! 
! # ------------------------------------------------------------- User settings
! 
! userSettings.userSettings=User Settings
! userSettings.username=Username
! userSettings.name=Full Name
! userSettings.password=Password
! userSettings.email=Email
! userSettings.locale=Locale
! userSettings.timezone=Timezone
! userSettings.save=Save
! userSettings.cookieLogin=You cannot passwords when logging in with the 
<strong>Remember Me</strong> feature.  Please logout and log back in to change 
passwords.
! 
! # ------------------------------------------------------------- Weblog edit
! 
! weblogEdit.editWeblog=Edit Weblog
! weblogEdit.title=Title
! weblogEdit.link=Link (optional)
! weblogEdit.category=Category
! weblogEdit.ping=Ping Weblogs.com
! weblogEdit.pubTime=Pub&nbsp;Time&nbsp;
! weblogEdit.autoformat=Autoformat
! weblogEdit.post=Post to Weblog
! weblogEdit.save=Save as Draft
! weblogEdit.check=Spell Check
! weblogEdit.recentEntries=Recent Weblog Entries
! weblogEdit.entryCol=Weblog Entries
! weblogEdit.actionCol=Actions
! weblogEdit.link=Link
! weblogEdit.remove=Remove
! weblogEdit.edit=Edit
! weblogEdit.comments=Comments
! weblogEdit.trackback=Trackback
! weblogEdit.calendarTitle=Weblog Entry Archive
! weblogEdit.date=Date
! weblogEdit.hours=Hours
! weblogEdit.minutes=Minutes
! weblogEdit.seconds=Seconds
! 
! # ------------------------------------------------------------- Website 
! 
! websiteSettings.title=Website Settings
! websiteSettings.websiteTitle=Title
! websiteSettings.websiteDescription=Description
! websiteSettings.templateSettings=Template Settings
! websiteSettings.homePage=Page to be used as the homepage
! websiteSettings.editor=Weblog editor page to be used
! websiteSettings.categories=Categories
! websiteSettings.defaultCategory=Default root category of weblog.
! websiteSettings.formatting=Formatting
! websiteSettings.allowComments=Allow Comments for your weblog?
! websiteSettings.autoformat=Autoformat new entries?
! websiteSettings.bloggerApi=Blogger API
! websiteSettings.enableBloggerApi=Enable Blogger API for your weblog?
! websiteSettings.bloggerApiCategory=Category for posts received via Blogger 
API 
! websiteSettings.spamPrevention=Spam Prevention
! websiteSettings.ignoreUrls=Ignore referering URLs that<br />contain any of 
these<br />(comma separated) words
! 
! websiteSettings.button.update=Update Website Settings
! websiteSettings.button.rebuildIndex=Rebuild Search Index
! 
! 
! 
! 
! 
! 
! 
! 
--- 1,391 ----
! 
! #------------------------------------------------------------ Struts Validator
! 
! errors.header=<div class="error"><ul>
! errors.footer=</ul></div>
! 
! errors.required={0} is required.
! errors.minlength={0} can not be less than {1} characters.
! errors.maxlength={0} can not be greater than {1} characters.
! errors.invalid={0} is invalid.
! errors.byte={0} must be a byte.
! errors.short={0} must be a short.
! errors.integer={0} must be an integer.
! errors.long={0} must be a long.
! errors.float={0} must be a float.
! errors.double={0} must be a double.
! errors.date={0} is not a date.
! errors.range={0} is not in the range {1} through {2}.
! errors.creditcard={0} is an invalid credit card number.
! errors.email={0} may only include letters, numbers, and spaces.
! errors.noslashes={0} may not include '/' slash characters.
! 
! # ----------------------------------------------------------------- error.jsp
! 
! errorPage.title=Unexpected Exception
! errorPage.message=Roller has encountered and logged an unexpected exception.
! errorPage.reason=Reason
! errorPage.noException=No stack trace.
! 
! # ------------------------------------------------- Success Messages in 
Actions
! pageCache.flushed=Page cache has been successfully flushed.
! 
! # ---------------------------------------------------------- BookmarkForm.jsp
! 
! bookmarkForm.addBookmark=Add a New Bookmark
! bookmarkForm.cancel=Cancel
! bookmarkForm.correctBookmark=Correct Bookmark Edits
! bookmarkForm.description=Description
! bookmarkForm.editBookmark=Edit Bookmark
! bookmarkForm.folder=Bookmark Folder
! bookmarkForm.image=Image URL
! bookmarkForm.name=Name
! bookmarkForm.priority=Sort Priority
! bookmarkForm.rssUrl=Newsfeed URL
! bookmarkForm.save=Save
! bookmarkForm.url=Bookmark URL
! bookmarkForm.weight=Display Weight
! 
! # --------------------------------------------------------- BookmarksForm.jsp
! 
! bookmarksForm.addBookmark=Add Bookmark
! bookmarksForm.addFolder=Add Folder
! bookmarksForm.checkAll=Select All
! bookmarksForm.checkNone=Select None
! bookmarksForm.delete=Delete selected
! bookmarksForm.description=Description
! bookmarksForm.edit=Edit
! bookmarksForm.edit.tip=Click to edit this folder or bookmark
! bookmarksForm.folder=Folder
! bookmarksForm.move=Move selected
! bookmarksForm.name=Name
! bookmarksForm.path=Path
! bookmarksForm.root=root
! bookmarksForm.visitLink=Visit
! bookmarksForm.visitLink.tip=Click to visit this site
! 
! # ------------------------------------------------------ Bookmarks import.jsp
! 
! bookmarksImport.title=Import OPML Bookmarks
! bookmarksImport.prompt=Import your OPML format bookmarks or newreader 
subscription file:
! 
! # ---------------------------------------------------------- CategoryForm.jsp
! 
! categoryForm.name=Name
! categoryForm.description=Description
! categoryForm.image=image
! categoryForm.save=Save
! categoryForm.cancel=Cancel
! categoryForm.editCategory=Edit Category
! categoryForm.addCategory=Add Category
! categoryForm.editCategory=Edit Category
! categoryForm.correctCategory=Correct Category
! 
! # ---------------------------------------------------------- 
CategoriesForm.jsp
! 
! categoriesForm.name=Name
! categoriesForm.description=Description
! categoriesForm.edit=Edit
! categoriesForm.root=root
! categoriesForm.addCategory=Add Category
! categoriesForm.checkAll=Check All
! categoriesForm.checkNone=Check None
! categoriesForm.delete=Delete
! categoriesForm.move=Move
! categoriesForm.path=Path
! categoriesForm.parent=Category
! categoriesForm.remove=Remove
! 
! # ------------------------------------------------------- CategoryDeleteOK.jsp
! 
! categoryDeleteOK.removeCategory=Remove Weblog Category
! categoryDeleteOK.warningCatInUse=WARNING: This category is in use!
! categoryDeleteOK.youMustMoveEntries=You must move the weblog entries in the 
category to another category, use the combo-box to select which category should 
receive the entries.</p>
! categoryDeleteOK.moveToWhere=Move the contents to another category:
! categoryDeleteOK.noEntriesInCat=There are no weblog entries in this category, 
OK to delete.
! categoryDeleteOK.areYouSure=Are you sure you want to delete this weblog 
category?
! 
! # --------------------------------------------------------- Configuration
! 
! configForm.title=Roller Configuration
! 
! configForm.siteSettings=Site Settings
! configForm.siteName=Site Name (for main RSS feed)
! configForm.siteDescription=Site Description (for main RSS feed)
! configForm.siteAdminEmail=Site Administrator's email address
! configForm.absoluteUrl=Absolute URL to site (if required)
! configForm.enableLinkback=Enable Linkback extraction?
! configForm.searchIndexDir=Search Index Directory<br />(use ${user.home} for 
system property)
! 
! configForm.userSettings=User Settings
! configForm.allowNewUsers=Allow New Users?
! configForm.adminUsers=Admin Users
! configForm.encryptPasswords=Encrypt Passwords?
! configForm.algorithm=Encryption Algorithm
! configForm.newUserThemes=New User Themes
! configForm.editorPages=Editor Pages
! configForm.autoformatComments=Autoformat Comments?
! configForm.escapeCommentHtml=Escape Comment HTML?
! configForm.emailComments=E-Mail Comments?
! 
! configForm.fileUploadSettings=File Upload Settings
! configForm.enableFileUploads=Enable File Uploads?
! configForm.allowedExtensions=Allowed Extensions
! configForm.forbiddenExtensions=Forbidden Extensions
! configForm.maxFileSize=Max File Size (MB)
! configForm.maxDirSize=Max Directory Size (MB)
! configForm.uploadDir=Upload Directory
! configForm.uploadPath=Upload Path
! 
! configForm.rssAggregatorSettings=RSS Aggregator Settings
! configForm.enableRssAggregator=Enable RSS Aggregator?
! configForm.cacheIncomingRss=Cache Incoming RSS Newsfeeds?
! configForm.rssNewsfeedCacheTime=RSS Newsfeed Cache Time
! 
! configForm.debuggingSettings=Debugging Settings
! configForm.enableMemoryDebugging=Enable Memory Debugging?
! 
! configForm.save=Save
! configForm.rebuildIndex=Rebuild Search Index (All Users)
! 
! #---------------------------------------------------------- Error messages 
! 
! error.add.blogcat=Error adding Weblog Category
! error.add.blogentry=Error adding Weblog Entry 
! error.add.bookmark=Error adding Bookmark
! error.add.folder=Error adding Folder 
! error.add.newsfeed=Error adding Newsfeed 
! error.add.user.userNameInUse=Username already in use.
! error.add.user.missingUserName=You must specify a username.
! error.add.user.badUserName=Invalid user name (must be alpha-numerics only).
! error.add.user.missingPassword=You must specify a password.
! error.add.user.missingEmailAddress=You must specify a valid email address.
! 
! error.edit.blogcat=Error displaying Edit Weblog Category page
! error.edit.blogentry=Error displaying Weblog Edit page  
! error.edit.bookmark=Error displaying Edit Bookmark page
! error.edit.comment=Error displaying Comment page {0}
! error.edit.folder=Error displaying Edit Bookmark Folder page
! error.edit.newsfeed=Error displaying Edit Newsfeed page 
! 
! error.editall.blogcat=Error displaying Edit Weblog Categories page
! error.editall.folder=Error displaying Edit Bookmarks page 
! 
! error.upload.dirmax=You cannot exceed the maximum directory size
! error.upload.disabled=File Upload has been disabled
! error.upload.file=Unable to write file
! error.upload.filemax=File larger than maximum allowed
! 
! error.general=ERROR: Unexpected Exception [{0}] has been logged.
! 
! error.importing.bookmarks=Error importing bookmarks
! error.importing.entries=Unable to parse entries out of selected file
! 
! error.move.bookmarks=Error removing Bookmarks
! 
! error.password.mismatch=Wrong username and password combination
! 
! error.preview.comment=Error getting Comment preview {0}
! 
! error.remove.blogcat=Error removing Weblog Category
! error.remove.blogentry=Error removing Weblog Entry
! error.remove.bookmark=Error removing Bookmark
! error.remove.bookmarks=Error removing Bookmarks
! error.remove.folder=Error removing Bookmark Folder 
! error.remove.newsfeed=Error removing Newsfeed 
! 
! error.removeok.blogcat=Error displaying Remove Weblog Category page  
! error.removeok.blogentry=Error displaying Remove Weblog Entry page  
! error.removeok.bookmark=Error displaying Remove Bookmark page 
! error.removeok.folder=Error displaying Remove Bookmark Folder page 
! error.removeok.newsfeed=Error displaying Remove Newsfeed page 
! 
! error.update.blogcat=Error updating Weblog Category
! error.update.blogentry=Error updating Weblog Entry
! error.update.bookmark=Error updating Bookmark
! error.update.comment=Error saving Comment {0}
! error.update.folder=Error updating Bookmark Folder
! error.update.newsfeed=Error updating Newsfeed 
! error.update.rollerConfig=Error updating RollerConfig
! 
! error.bake.weblog=Error baking your Weblog
! 
! error.trackback=Error sending trackback. Possible cause: incorrect trackback 
URL. {0}
! 
! errorPage.title=Unexpected Exception
! errorPage.message=Roller has encountered and logged an unexpected exception.
! errorPage.reason=Reason
! 
! # ------------------------------------------------------------ Footer
! 
! footer.reportIssue=Report an Issue
! footer.userGuide=User Guide
! footer.macros=Macros
! footer.mailingLists=Mailing Lists
! 
! # ------------------------------------------------------------ Login
! 
! loginPage.userName=Username
! loginPage.password=Password
! loginPage.rememberMe=Remember Me
! 
! # ------------------------------------------------------------ Main page
! 
! mainPage.recentEntries=Recent Weblog Entries
! mainPage.category=Category
! mainPage.read=Read
! mainPage.hotWeblogs=Hot Weblogs
! mainPage.hits=hits
! mainPage.link=Link
! mainPage.rss.tip=Combined RSS feed for site.
! 
! # ------------------------------------------------------------ Page management
! 
! pagesForm.title=Page Templates
! pagesForm.name=Name
! pagesForm.link=Link
! pagesForm.description=Description
! pagesForm.edit=Edit
! pagesForm.remove=Remove
! pagesForm.hiddenNote=NOTE: Pages with names that start with '_' are hidden. 
They will not be shown in the navigation bar.
! pagesForm.addNewPage=Add a new page
! pagesForm.=Name
! pagesForm.add=Add
! pagesForm.emptyPage=Empty page...
! 
! # ------------------------------------------------------------ Page edit
! 
! pageForm.editPage=Edit Page
! pageForm.name=Name
! pageForm.link=Link
! pageForm.description=Description
! pageForm.template=Template
! pageForm.save=Save
! 
! 
! # ------------------------------------------------------------ FolderForm.jsp
! 
! folderForm.name=Name
! folderForm.save=Save
! folderForm.cancel=Cancel
! folderForm.description=Description
! folderForm.addFolder=Add New Bookmark Folder
! folderForm.editFolder=Edit Bookmark Folder
! folderForm.correctFolder=Correct Bookmark Folder edits
! 
! folderForm.save.exception=ERROR saving folder, perhaps name is not unique? 
The error message is: {0}
! 
! # ------------------------------------------------------------- referers.jsp
! 
! referers.todaysReferers=Today's Referer Rankings
! referers.url=Refering URL
! referers.hits=Day Hits
! referers.deleteSelected=Delete Selected
! 
! referers.hitCounters=Hit Counters
! referers.reset=Reset Hit Count
! 
! # ------------------------------------------------------------- Theme
! 
! themeEditor.title=Change your Weblog Template
! themeEditor.selectTheme=Select A Theme
! themeEditor.preview=Preview
! themeEditor.save=Save
! themeEditor.cancel=Cancel
! 
! # ------------------------------------------------------------- Uploads
! 
! uploadFiles.title=File Uploads
! uploadFiles.manageFiles=Manage Uploaded Files
! uploadFiles.uploadDisabled=Upload has been disabled.
! uploadFiles.exceededQuota=You have exceeded your file upload quota.
! uploadFiles.upload=Upload
! uploadFiles.quotaNote=You may upload files smaller than {0} MB in size, up to 
a total of {1} MB for all files.
! uploadFiles.uploadPrompt=Select a file for upload:
! uploadFiles.noFiles=No files found.
! 
! uploadFiles.button.delete=Delete Selected
! 
! # ------------------------------------------------------------- User admin
! 
! userAdmin.title=User Administration
! userAdmin.editUser=Edit User
! userAdmin.userSettings=User Settings
! userAdmin.delete=Delete
! userAdmin.warning=NOTE: This operation cannot be undone !!
! userAdmin.enabled=Enabled
! userAdmin.name=Name
! userAdmin.password=Password
! userAdmin.email=Email
! userAdmin.rebuildIndex=Rebuild User's Search Index
! userAdmin.edit=Edit
! userAdmin.save=Save
! userAdmin.cookieLogin=You cannot passwords when logging in with the 
<strong>Remember Me</strong> feature.  Please logout and log back in to change 
passwords.
! 
! # ------------------------------------------------------------- User settings
! 
! userSettings.userSettings=User Settings
! userSettings.username=Username
! userSettings.name=Full Name
! userSettings.password=Password
! userSettings.email=Email
! userSettings.locale=Locale
! userSettings.timezone=Timezone
! userSettings.save=Save
! userSettings.cookieLogin=You cannot passwords when logging in with the 
<strong>Remember Me</strong> feature.  Please logout and log back in to change 
passwords.
! 
! # ------------------------------------------------------------- Weblog edit
! 
! weblogEdit.editWeblog=Edit Weblog
! weblogEdit.title=Title
! weblogEdit.link=Link (optional)
! weblogEdit.category=Category
! weblogEdit.ping=Ping Weblogs.com
! weblogEdit.pubTime=Pub&nbsp;Time&nbsp;
! weblogEdit.autoformat=Autoformat
! weblogEdit.post=Post to Weblog
! weblogEdit.save=Save as Draft
! weblogEdit.check=Spell Check
! weblogEdit.recentEntries=Recent Weblog Entries
! weblogEdit.entryCol=Weblog Entries
! weblogEdit.actionCol=Actions
! weblogEdit.link=Link
! weblogEdit.remove=Remove
! weblogEdit.edit=Edit
! weblogEdit.comments=Comments
! weblogEdit.trackback=Trackback
! weblogEdit.calendarTitle=Weblog Entry Archive
! weblogEdit.date=Date
! weblogEdit.hours=Hours
! weblogEdit.minutes=Minutes
! weblogEdit.seconds=Seconds
! 
! # ------------------------------------------------------------- Website 
! 
! websiteSettings.title=Website Settings
! websiteSettings.websiteTitle=Title
! websiteSettings.websiteDescription=Description
! websiteSettings.templateSettings=Template Settings
! websiteSettings.homePage=Page to be used as the homepage
! websiteSettings.editor=Weblog editor page to be used
! websiteSettings.categories=Categories
! websiteSettings.defaultCategory=Default root category of weblog.
! websiteSettings.formatting=Formatting
! websiteSettings.allowComments=Allow Comments for your weblog?
! websiteSettings.autoformat=Autoformat new entries?
! websiteSettings.bloggerApi=Blogger API
! websiteSettings.enableBloggerApi=Enable Blogger API for your weblog?
! websiteSettings.bloggerApiCategory=Category for posts received via Blogger 
API 
! websiteSettings.spamPrevention=Spam Prevention
! websiteSettings.ignoreUrls=Ignore referering URLs that<br />contain any of 
these<br />(comma separated) words
! 
! websiteSettings.button.update=Update Website Settings
! websiteSettings.button.rebuildIndex=Rebuild Search Index
! 
! 
! 
! 
! 
! 
! 
! 



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
web.pylons.gene...    hurd.l4/2002-10...    kernel.commits....    user-groups.lin...    yellowdog.gener...    java.drools.use...    security.openva...    package-managem...    linux.debian.us...    qnx.openqnx.dev...    genealogy.gramp...    file-systems.if...    voip.wengophone...    tex.context/200...    ietf.smime/2003...    audio.csound.de...    culture.region....    xfree86.devel/2...    mobile.kannel.u...    distributed.con...    education.engli...    org.user-groups...    bug-tracking.gn...    recreation.bicy...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe