You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by so...@apache.org on 2008/03/08 23:59:02 UTC

svn commit: r635107 [1/7] - in /lenya/branches/revolution/1.3.x: ./ src/cocoon/ src/java/org/apache/cocoon/components/source/ src/java/org/apache/lenya/ac/ src/java/org/apache/lenya/ac/cache/ src/java/org/apache/lenya/ac/file/ src/java/org/apache/lenya...

Author: solprovider
Date: Sat Mar  8 14:58:32 2008
New Revision: 635107

URL: http://svn.apache.org/viewvc?rev=635107&view=rev
Log:
Add "New Resource"; Indexer runs after saving resource.
Resources use type attribute; doctype is obsolete; automatically handled.
Restructured Modules to remove XML processing from Live.
See 13DONE.txt for full list.

Added:
    lenya/branches/revolution/1.3.x/13RESOURCE.txt
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/Location.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/ResourceException.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/CreateResourceTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/hierarchical/HierarchicalResource.java
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/file/live.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/lenya/sorry.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/link/a.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/link/broken.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/link/live.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/NOTES.txt
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/create.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/edit.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xhtml/resource.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/live-hierarchical.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/live.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/merge.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/page2xhtml.xsl
Removed:
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/index/
Modified:
    lenya/branches/revolution/1.3.x/13DONE.txt
    lenya/branches/revolution/1.3.x/13HELP.txt
    lenya/branches/revolution/1.3.x/13TODO.txt
    lenya/branches/revolution/1.3.x/13UPGRADE.txt
    lenya/branches/revolution/1.3.x/build.properties
    lenya/branches/revolution/1.3.x/src/cocoon/local.blocks.properties
    lenya/branches/revolution/1.3.x/src/java/org/apache/cocoon/components/source/SourceResolverAdapter.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/Item.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/SourceCacheImpl.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/URLKeyUtil.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileAccreditableManager.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FilePolicyManager.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRole.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRoleManager.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/impl/AbstractAccreditableManager.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/cocoon/PolicyHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/BulkCopyTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ChangeVisibilityTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyContentTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyPoliciesTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyResourcesTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeactivateResourcesTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteContentTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteLanguageNodeTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeletePoliciesTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteRCTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteSchedulerEntryTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DocumentCreatorTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InitRCTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertCopyNode.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertLabelTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveNode.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveSiteTreeNodeTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/RemoveLabelTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/RenameLabelTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ResourcePublisher.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/StaticHTMLExporter.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/authoring/DefaultLeafCreator.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/authoring/ParentChildCreatorInterface.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/AbstractAuthorizerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/AccessControlAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/DelegatingAuthenticatorAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/DelegatingAuthorizerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/DocumentIdExistsAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/FirstChildExistsAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/ForceCheckInAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/HTMLFormSaveAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/ParentChildCreatorAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutTestAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/ResourceExistsAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/RollbackAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/URIParametrizerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/UploadAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/WorkflowInvokerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/acting/XopusHandlerAction.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/DublinCoreModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ProxyUrlModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationContentDirModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationFallbackModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/PublicationModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceExistsModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/SitetreeModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/Usecase2ModuleModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/modules/input/WorkflowModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/components/source/impl/VirtualSourceFactory.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/flow/FlowHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/generation/SiteTreeGenerator.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/source/SourceUtil.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/DocumentIndexTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/IncludeTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/LinkRewritingTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/SimpleLinkRewritingTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/UsecaseMenuTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/transformation/WorkflowMenuTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/cocoon/workflow/WorkflowHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/ContentInputModule.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/ContentSourceFactory.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/Resource.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/ResourceTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/CreateRevisionTransformer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatContent.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatIndex.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatIndexer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatRelations.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatResource.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/FlatTranslation.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/flat/SitetreeGenerator.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/content/hierarchical/HierarchicalContent.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/modules/ModuleSet.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/modules/ModuleSourceFactory.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/DocumentHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/DocumentTypeBuilder.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/PageEnvelope.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/Publication.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/SiteTreeNodeImpl.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/file/FilePublication.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/xsp/DocumentLanguagesHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publication/xsp/DocumentReferencesHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publishing/DefaultFilePublisher.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/publishing/ResourceFilePublisher.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/task/AntTask.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/task/TaskParameters.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/task/TaskWrapper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/workflow/CMSHistory.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/workflow/RoleCondition.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/IndexFiles.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/index/AbstractIndexIteratorHandler.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/index/DocumentCreator.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/index/Index.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/index/IndexIteratorHandler.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/lucene/index/Indexer.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/net/ProxyConf.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/search/crawler/HTMLHandler.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/util/Globals.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/util/HTML.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/util/SSI.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/util/TidyCommandLine.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/workflow/impl/History.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/DOMWriter.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/DocumentHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/NamespaceHelper.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/XPath.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/parser/Parser.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/parser/XercesParser.java
    lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/xml/xpointer/XPointer.java
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/authoring/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/cache/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/edit/all.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/edit/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/file/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/file/resource.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/file/save.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/content3.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/index/live.xconf
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/flat/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/home/page2xhtml.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/homepage/page2xhtml.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/link/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/link/save.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/live/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/nav/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/navigation/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/module.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/new/resource.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xhtml/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/code.js
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/edit.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/module.xmap
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/save.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default12/content/authoring/index/index_en.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default12/content/live/index/index_en.xml
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default12/xslt/page2xhtml.xsl
    lenya/branches/revolution/1.3.x/src/webapp/lenya/pubs/default13/content/index/live.xconf
    lenya/branches/revolution/1.3.x/src/webapp/sitemap.xmap

Modified: lenya/branches/revolution/1.3.x/13DONE.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13DONE.txt?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/13DONE.txt (original)
+++ lenya/branches/revolution/1.3.x/13DONE.txt Sat Mar  8 14:58:32 2008
@@ -1,7 +1,33 @@
 This file contains completed entries from the TODO file with the most recent entries at the top.  Separate Commits with "---".
 ======
 
-
+---
+-- DONE 20080308
+1.2 Authoring: Uses {pub}/xslt/page2xhtml.xsl.  lenya-body aggregate returns xhtml:html/xhtml:body rather than expected xhtml:html/xhtml:div[@id='body'].  Added former match to page2xhtml.xsl.
+Indexer: creating or updating Resources runs Indexer. Added system so only one thread handles updates while other threads may request that the first thread run update again.
+Patched xhtml module.xmap during testing.
+Replace all ResourceExists Actions with the ResourceExists Selector in Modules.
+New Module requires and passes successful requests to Edit Module.
+-- DONE 20080225
+Fixed setting live revision when currently empty string.
+Migration: Changed doctype of homepage from "homepage" to "home".
+Changed "live" Index removing doctype.
+-- DONE 20080221
+Restructured Modules to remove XML processing from Live.  
+Added live.xmap.  Separates Module inheritance of display from other pipelines.
+Made File, Link, and XML work for create, edit, and display. 
+Fixed ContentSourceFactory to send SourceNotFoundException correctly.
+Fixed FlatResource to use ID.  Also removes extension.  Simplifies XMAPs as ContentSourceFactory and ContentInputModule can receive UNID, ID, or Structure/ID.
+-- DONE 20080219
+New File Resource did not allow new Revisions without uploads=true.  Changed default.
+Merge {module}/resource.xml with current revision to add fields (especially important for new Resources containing no fields.)
+flat.SitetreeGenerator used for "edit" Module must return all Resources diregarding language and including Resources without any languages.
+"edit" Module must use "type".  If "doctype" exists, convert to "/{type}/{doctype}".
+"flat" Module change from type and doctype to type="/{type}/{doctype}".
+DONE: Handled by parsing in FlatResource.  Type is now just the doctype.
+Alternate types? Should Resources remember type hierarchy?  Or is publication's responsibility?  "png" inherits from "image" inherits from "file".  Error if no "png" Module?
+IMPLEMENTATION: Resources only know "type".  Doctype is removed.  Type is the module for the Resource.  "Home" type's Resource Module is "/xml/xhtml/home" but the Resource type is "home".
+Create New Resource: Publication has Resource Types.  Use Generator. Choose Type.  Create required languages. Use Transformer. Pass to Edit Module. [Done except open in edit.]
 
 ---
 DONE 20080127: Fix Publication Module loading and inheritance.  Each Publication should build structure once per restart.  
@@ -21,3 +47,28 @@
 FIXED?: CreateRevisionTransformer: Set creator and when properly.
 DONE 20080120: Xinha adds extra fields. Dialog1 - Dialog6 fields added to new revisions.
 
+
+=== Older completed entries ===
+Admin screens: Revision chooser
+Show all revisions (*.xml from Translation directory, not including "translation.xml").  Sort by datetime.
+Mark the Live and Edit (last saved) revisions.
+"Publish" sets live revision.
+"Edit" opens specified revision.
+
+File Resource: Changing XML and Uploading are different operations.  How to handle? XML must change when file is uploaded (new creator, change time). XML can change without upload.  
+
+Resource: Add Language
+
+Admin screens: Document editor for rich text (XHTML) fields.  Integrate Kupu etc. for editing rich text field.  Use a transform to place into Revision XML, then call CreateRevisionTransformer.  [Completed replacing Kupu.]
+
+Admin screens: Document fields editor 
+Pull from Resource, Translation, and Meta
+Upload control if type="file".  How to save?
+
+CreateRevisionTransformer: Create new Resource if none specified or does not exist.  Allow a Title parameter, and default to "NEW " + datetime. [Moved to CreateResourceTransformer.]
+
+CreateRevisionTransformer:  TEST If request has file upload, save uploaded file with newrevision. Save upload Part.  Do not depend on field name.
+
+CreateRevisionTransformer: Add userid and datetime (and extension if fileupload) to root element of revisionUNID.xml
+
+CreateRevisionTransformer: Set "edit"=newRevision in Translation.xml [FlatContent.getNewFilename()]

Modified: lenya/branches/revolution/1.3.x/13HELP.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13HELP.txt?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/13HELP.txt (original)
+++ lenya/branches/revolution/1.3.x/13HELP.txt Sat Mar  8 14:58:32 2008
@@ -31,12 +31,15 @@
 content/resource/{unid}/{language}/{revision-number}.xml
 content/resource/{unid}/{language}/{revision-number}.{extension} - only if type="file"
 
+NOTE: resource.xml's root has a "unid" attribute solely for human convenience.  The directory name always has precedence.
+
 Resources are stored in the "resource" directory.
 Structures are currently stored in the "relation" directory to define relations between Resources.  They will become Resources soon.
-Indexes are used by the SitetreeGenerator, used for creating navigation elements.  Indexes can be flat or use a specific structure.
+Indexes are used by the SitetreeGenerator for creating navigation elements.  Indexes can be flat or use a specific structure.
 
 The migration routine creates content/relations.xml.  This file stores information for running the "flat" migration multiple times to remember the UNID assigned to each Resource.
 
+
 === File access ===
 The new Module protocol should be used for access to all files.
 
@@ -51,10 +54,10 @@
 Most XMAPs use the file: protocol.  When in a Module, file:myfile.ext and module:///myfile.ext would both return the file from the module's directory.  The difference is if the file is not in the module directory, the module: protocol will follow Module inheritance until it finds the file.
 
 Inheritance is by file.  Example:
-\build\lenya\webapp\lenya\modules\myModule\test1.xml
-\build\lenya\webapp\lenya\modules\myModule\test2.xml
-\build\lenya\webapp\lenya\pubs\mypub\modules\myModule\test2.xml
-\build\lenya\webapp\lenya\pubs\mypub\modules\myModule\test3.xml
+/build/lenya/webapp/lenya/modules/myModule/test1.xml
+/build/lenya/webapp/lenya/modules/myModule/test2.xml
+/build/lenya/webapp/lenya/pubs/mypub/modules/myModule/test2.xml
+/build/lenya/webapp/lenya/pubs/mypub/modules/myModule/test3.xml
 When in myModule (assuming no inheritance is specified):
 module:///test1.xml would inherit from the global Module.
 module:///test2.xml would use the local Module.  The global file is ignored.

Added: lenya/branches/revolution/1.3.x/13RESOURCE.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13RESOURCE.txt?rev=635107&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/13RESOURCE.txt (added)
+++ lenya/branches/revolution/1.3.x/13RESOURCE.txt Sat Mar  8 14:58:32 2008
@@ -0,0 +1,19 @@
+Resource Types are simply special Modules.
+
+The <module> element should contain attributes:
+id - the type or doctype.  Defaults to the directory name if missing.
+resource - the types for inheritance. Can be any other type.
+
+The main types are:
+"/xml" for XML Documents.
+"/file" for binary files.
+"/link" for links.
+"/text" in development for non-XML text files.
+
+XML Resource Types (inheriting from "/xml") will merge resource.xml when a Resource is edited, keeping existing values and adding new fields.  
+Text fields should be children of root or children of root/lenya:meta.
+Rich-text fields are defined as containing elements.  Example:
+   <body><br/></body>
+will display the Rich-text Editor.
+There currently may only be one Rich-text Field.  (This limit will be removed soon.)
+

Modified: lenya/branches/revolution/1.3.x/13TODO.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13TODO.txt?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/13TODO.txt (original)
+++ lenya/branches/revolution/1.3.x/13TODO.txt Sat Mar  8 14:58:32 2008
@@ -1,140 +1,120 @@
-DESIGN: Does Module differentiation by ContentType cause confusion with inheritance?  A module overriding one type will intercept calls to all types.
+=================================================
+==== Needed to be function complete with 1.2 ====
+=================================================
+---- Structure editor ----
+Admin screen: Structure editor
+Create new structure.  Copy existing.  Add Resources not in structure.  Move Resource to new parent or root.
+Careful: must keep Resource even if does not exist in current language.  Show greyed, but still allow move.
+
+---- Security -----
+Resource-level Security.
+Access Control List in Resource.xml
+"admin" Group bypasses security and is allowed to do anything.
+<acl><read default="yes"><person|group|role id="name" access="yes|no"></read><edit default="yes">same as read</edit></acl>
+Implement in SitetreeGenerator and ContentSourceFactory.
+"Not allowed" returns Sorry page (rather than error).
+"Does not exist" returns same Sorry page.
+Sorry: This resource is not available, either it does not exist or you do not have access to it.  (Link to Login page if not logged in.)
+DESIGN: How to handle inheritance?  Multiple parents?  Assume "live" structure?
 
-Create New Resource: Publication has Resource Types.  Use Generator. Choose Type.  Create required languages. Use Transformer. Pass to Edit Module.
 
-Edit-Save must clear Cache.
+=====================================
+==== Links - Editor and Handling ====
+=====================================
 
-Administration navigation - Create Resource, return from edit resource.
 Add "Choose Lenya doc link" dialog to Xinha.
 Add "Create file resource" to Xinha.
-Security.
-Link rewriting (CreateRevisionTransformer and HTMLSeriralizer)
-Structure editor.
-
-Replace all ResourceExists Actions with the ResourceExists Selector.
-Replace uses of post.xsp with RequestGenerator.
 
-Modules - Add Resource description distinguished from Module description.
+=== XML Serializer
+Automatically pass through i18n Transformer using current module and current language.
+Build catalog using Module Inheritance.  Cannot be file level inheritance; local overrides only local tags, and others are from ancestors.
 
+i18n Transformer must not remove i18n tags that are not in current catalog.  Unknown messages must wait for other Modules and HTMLSerializer.
 
-Xinha adds xmlns:xhtml="http://www.w3.org/1999/xhtml to some elements (P H1).
+=== HTML Serializer
+Add link rewriting.  
+Change <RESOURCE UNID="xxx"> to appropriate A tag.
+Change <RESOURCE UNID="xxx" TAG="img"> to appropriate IMG tag.
 
-==== ToDo List from 2006
-=== 1.2.x Conversion
-Session Module: login.xsp -> NullPointerException
+Automatically pass through i18n Transformer using current language.  Build catalog from current module (including inheritance), publication, and global.
+Replace unfound i18n tags with default.
 
 === CreateRevisionTransformer
-Create new Resource if none specified or does not exist.  Allow a Title parameter, and default to "NEW " + datetime.
+Replace all A and IMG tags with appropriate RESOURCE tags, creating new Resources as necessary.
 
-TEST If request has file upload, save uploaded file with newrevision.
-Save upload Part.  Do not depend on field name.
+==============================
+==== Other Critical Tasks ====
+==============================
 
-Add userid and datetime (and extension if fileupload) to root element of revisionUNID.xml
+BUG: Saving xhtml Resource did not change edit version as specified.  Selecting old version before new Revision.
+BUG: File Resource: Create Translation does not save upload.  Create Revision works.
+Edit File: Setting Default Language does not save.  (Fixed for XML earlier, probably also affects Links.)
+Edit Resource: Add description for Revisions, edited separately.  Add return to edit and live.  Add show version.
+Edit: Add return to live.
 
-Set "edit"=newRevision in Translation.xml [FlatContent.getNewFilename()]
 
-=== "flat" Module
-Use Content directory from publication.xconf
+Only explicitly included Modules should appear on New Resource list.  Inherited Modules should not appear.  Configure default pub to exclude "text" (until working), "xml", and "homepage".
 
-Rethink structures.  
-Need "live" or "homepage"?.  Rename livemenu to live?  What variations are useful?
-All = all relations, use for authoring
-Live = use for menus.  Do not include /index.
-StructureEditor should use "visible in menu" flag to build "live".  Checkboxes on Structure editor.
+Edit-Save must clear Cache. (Or "cache" Module must check if Resource is still valid.)
+
+New: ID Validation - No duplicates, periods, exclamation marks, or underscores.
 
+flat Module: content3.xsl sets doctype.  Need to use rules in {pub}/parameter-doctype.xmap
+Migration: Copy XSLTs to proper modules and patch as needed.
+Flat Module: Use Content directory from publication.xconf
 flat/clean: move pub to ../pubs12, then copy 
 content/index|relation|resource 
 modules
 config/???
 
+==============================
+==== Non-critical Updates ====
+==============================
+Add default option for Live Module to use old "xslt" directory when handling hierarchical content.
 
-=== Indexer
-Currently indexes everything in Flat Publications every time (and only when) Lenya1.3 starts.
+Modules are only added to Publications when server is started.  Should ModuleSourceFactory check for changes before erroring?
 
-Need sensible test to reindex after a Resource or Structure is changed.  Development must wait until Resource Editor is ready, since saving a Resource should trigger the Indexer.
+Modules - Add Resource description distinguished from Module description.
 
-=== ContentModule.java
-content:type|doctype|...:docid
-(Currently always returns "test".)
-Return specified variable from current Resource/Translation.
-Use FlatIndexPart for retrieval?
+DESIGN: Does Module differentiation by ContentType cause confusion with inheritance?  A module overriding one type will intercept calls to all types.
+Remove Module Types.  Let Module devs handle.
 
+Administration navigation - Create Resource, return from edit resource.
 
-=== XML Serializer
-Automatically pass through i18n Transformer using current module and current language.
-Build catalog using Module Inheritance.  Cannot be file level inheritance; local overrides only local tags, and others are from ancestors.
+Replace uses of post.xsp with RequestGenerator.
 
-i18n Transformer must not remove i18n tags that are not in current catalog.  Unknown messages must wait for other Modules and HTMLSerializer.
+Resource @defaultlanguage is used to return one Translation for all requests.  Does it work?
 
-=== HTML Serializer
-Add link rewriting.  
-Change <RESOURCE UNID="xxx"> to appropriate A tag.
-Change <RESOURCE UNID="xxx" TAG="img"> to appropriate IMG tag.
+Xinha adds xmlns:xhtml="http://www.w3.org/1999/xhtml to some elements (P H1).
 
-Automatically pass through i18n Transformer using current language.  Build catalog from current module (including inheritance), publication, and global.
-Replace unfound i18n tags with default.
+Check synchronization of HashMaps.
 
-=== CreateRevisionTransformer
-Replace all A and IMG tags with appropriate RESOURCE tags, creating new Resources as necessary.
+=============================
+==== ToDo List from 2006 ====
+=============================
+
+=== 1.2.x Conversion
+Session Module: login.xsp -> NullPointerException
+
+
+Rethink structures.  
+Need "live" or "homepage"?.  Rename livemenu to live?  What variations are useful?
+All = all relations, use for authoring
+Live = use for menus.  Do not include /index.
+StructureEditor should use "visible in menu" flag to build "live".  Checkboxes on Structure editor.
 
 === Admin Screens
 Admin screen: Navigation between User/Group maintenance and Site maintenance.
 
-Admin screen: Structure editor
-Move structures to Resources so editing uses revision control.
-Create new structure.  Copy existing.  Add Resources not in structure.  Move Resource to new parent or root.
-Careful: must keep Resource even if does not exist in current language.  Show greyed, but still allow move.
-
 Admin screen: Language chooser
 Since all code is based on current language, may need method to have Admin menus in different language than Resource displayed.  Probably add langauge as parameter:
 http:server/pub/admin/en/docid_xx.html
 
-Admin screens: Revision chooser
-Show all revisions (*.xml from Translation directory, not including "translation.xml").  Sort by datetime.
-Mark the Live and Edit (last saved) revisions.
-"Publish" sets live revision.
-"Edit" opens specified revision.
-Use slider at top.  Start at "edit" revision.  WYSIWYG RichText fields (must open in XHTML editor to edit).
-
-Admin screens: Document fields editor 
-Pull from Resource, Translation, and Meta
-Update structures if "id" has changed.
-Upload control if type="file".  How to save?
-
-Admin screens: Document editor for rich text (XHTML) fields.  Integrate Kupu etc. for editing rich text field.  Use a transform to place into Revision XML, then call CreateRevisionTransformer.
-
-Create Resource
-Add Language
-
-Resource @defaultlanguage used to return one Translation for all requests.  Does it work?
-
-=== PageEnvelope
-Smart attempts to find document.
-/publication/module + 
-/structure/path/page.html
-/path/page.html  (Assume module is structure, then assume "live")
-/parameters/structure/path/page.html
-/parameters/path/page.html
-Also check if last element is a UNID.
-
-
 === File Resource
-Changing XML and Uploading are different operations.  How to handle?
-XML must change when file is uploaded (new creator, change time)
-XML can change without upload.  
 New XML should reference old file?  Need another file to register all uses of revision binary
 Or make copy? (waste space, but safer when deleting revisions)
 
-
-
-=== Modules
-ContentModule.java "content:" Variables: type, doctype, extension.
-
-Each type and most subtypes (doctype, extension) has own Module, defines read format (div=body), fields for editing (Title is assumed), workflow, search fields (title, blurb, body)
-
-
 === Search
-Wait until doctype Modules.
 Doctype Configuration should define Body.
 Title is assumed from Revision Title?  Or allow override?
 Multiple Languages?  Or separate indexes for each language?
@@ -143,22 +123,34 @@
 
 
 =======================
-====    Security   ====
+====  Enhancements ====
 =======================
-Resource-level Security.
-Access Control List in Resource.xml
-"admin" Group bypasses security and is allowed to do anything.
-<acl><read default="yes"><person|group|role id="name" access="yes|no"></read><edit default="yes">same as read</edit></acl>
-Implement in SitetreeGenerator and ContentSourceFactory.
-"Not allowed" returns Sorry page (rather than error).
-"Does not exist" returns same Sorry page.
-Sorry: This resource is not available, either it does not exist or you do not have access to it.  (Link to Login page if not logged in.)
+[This section lists new abilities not required to complete 1.2 functionality.]
 
-DESIGN: How to handle inheritance?  Multiple parents?  Assume "live" structure?
+Optimize Indexer.  Only run for language changed.
+
+Move structures to Resources so editing uses revision control.
+
+cocoon: protocol does not follow Module inheritance for missing files. Example: /pub/home/parameters should use /pub/xhtml/parameters if modules/home/module.xmap is missing.  Needing module.xmap defeats purpose of inheritance.  (module: protocol follows inheritance so resource-exists works as test for Module.)
+
+Identifier must not contain period, underscore, or exclamation mark.  Allow spaces? Caps?
+Default publication includes an ID with an underscore.  Remove during migration?  
+Current code allows for underscores in ID as long as portion after underscore is not two characters.
+
+New Translation: Warn if no language chosen but other fields changed for new translation.
+
+Check {pub} directory for publication.xml.
+Module to clean migrated publications: copy content, modules, security. For content, fix type and remove doctype. Move publication.xml to {pub}.
+
+Admin screens: Resource - Update structures if "id" has changed.
+
+Design resources: Module protocol can check datastore for design elements such as XSLT and CSS.  This is the reason for named resources; use UNID = publication + module + filepath.  Also useful for structures.
+
+
+Move CreateResourceTransformer and CreateRevisionTransformer to content package with implementation code in content.flat.
+
+Admin: Revision History -- Use slider at top.  Start at "edit" revision.  WYSIWYG RichText fields (must open in XHTML editor to edit).
 
-=======================
-====  Enhancements ====
-=======================
 publication:name - should return name, currently stored in publication.xml.  Why?  Move to publication.xconf?  Must be available from Publication.java and PublicationModule.java
 
 

Modified: lenya/branches/revolution/1.3.x/13UPGRADE.txt
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/13UPGRADE.txt?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/13UPGRADE.txt (original)
+++ lenya/branches/revolution/1.3.x/13UPGRADE.txt Sat Mar  8 14:58:32 2008
@@ -17,6 +17,8 @@
 
 
 === Converting data to flat datastore
+WARNING: The module sets the all documents to type "xhtml" except the homepage is set to type "home".  This is handled in content3.xsl and should be changed if your publication has other doctypes.
+
 Open the URL:
 http://{yourServer}/{yourPublication}/flat/migrate
 

Modified: lenya/branches/revolution/1.3.x/build.properties
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/build.properties?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/build.properties (original)
+++ lenya/branches/revolution/1.3.x/build.properties Sat Mar  8 14:58:32 2008
@@ -108,7 +108,7 @@
 # If you leave this set to false, asset and image upload will not work.
 # It is disabled by default for security reasons
 
-enable.uploads=false
+enable.uploads=true
 
 #------------------------------------------------------------------------------------
 # Anteater and Webtest home directories

Modified: lenya/branches/revolution/1.3.x/src/cocoon/local.blocks.properties
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/cocoon/local.blocks.properties?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/cocoon/local.blocks.properties (original)
+++ lenya/branches/revolution/1.3.x/src/cocoon/local.blocks.properties Sat Mar  8 14:58:32 2008
@@ -129,7 +129,7 @@
 include.block.apples=false
 #-----[dependency]: "asciiart" is needed by "mail".
 include.block.asciiart=false
-include.block.axis=false
+include.block.axis=true
 #-----[dependency]: "cron" is needed by "jms", "portal".
 include.block.cron=true
 #include.block.deli=false

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/cocoon/components/source/SourceResolverAdapter.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/cocoon/components/source/SourceResolverAdapter.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/cocoon/components/source/SourceResolverAdapter.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/cocoon/components/source/SourceResolverAdapter.java Sat Mar  8 14:58:32 2008
@@ -19,7 +19,6 @@
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.util.Map;
-
 import org.apache.cocoon.ProcessingException;
 import org.apache.cocoon.environment.Source;
 import org.apache.cocoon.environment.SourceResolver;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/Item.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/Item.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/Item.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/Item.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.ac;
 
 import java.io.File;
-
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/SourceCacheImpl.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/SourceCacheImpl.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/SourceCacheImpl.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/SourceCacheImpl.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
-
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.service.ServiceException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/URLKeyUtil.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/URLKeyUtil.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/URLKeyUtil.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/cache/URLKeyUtil.java Sat Mar  8 14:58:32 2008
@@ -19,7 +19,6 @@
 
 import java.io.IOException;
 import java.net.MalformedURLException;
-
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
 

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileAccreditableManager.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileAccreditableManager.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileAccreditableManager.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileAccreditableManager.java Sat Mar  8 14:58:32 2008
@@ -22,15 +22,16 @@
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
+import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.parameters.ParameterException;
 import org.apache.avalon.framework.parameters.Parameterizable;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
+import org.apache.cocoon.util.NetUtils;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.lenya.ac.AccessControlException;
@@ -40,7 +41,6 @@
 import org.apache.lenya.ac.UserManager;
 import org.apache.lenya.ac.UserType;
 import org.apache.lenya.ac.impl.AbstractAccreditableManager;
-import org.apache.cocoon.util.NetUtils;
 
 /**
  * File-based accreditable manager.

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FilePolicyManager.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FilePolicyManager.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FilePolicyManager.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FilePolicyManager.java Sat Mar  8 14:58:32 2008
@@ -26,7 +26,6 @@
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.List;
-
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.parameters.ParameterException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRole.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRole.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRole.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRole.java Sat Mar  8 14:58:32 2008
@@ -18,7 +18,6 @@
 package org.apache.lenya.ac.file;
 
 import java.io.File;
-
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.configuration.DefaultConfiguration;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRoleManager.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRoleManager.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRoleManager.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/file/FileRoleManager.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
-
 import org.apache.lenya.ac.AccessControlException;
 import org.apache.lenya.ac.Item;
 import org.apache.lenya.ac.Role;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/impl/AbstractAccreditableManager.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/impl/AbstractAccreditableManager.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/impl/AbstractAccreditableManager.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/ac/impl/AbstractAccreditableManager.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.lenya.ac.AccessControlException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.cms.ac;
 
 import java.io.File;
-
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/cocoon/PolicyHelper.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/cocoon/PolicyHelper.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/cocoon/PolicyHelper.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/cocoon/PolicyHelper.java Sat Mar  8 14:58:32 2008
@@ -16,7 +16,6 @@
  */
 /* $Id$  */
 package org.apache.lenya.cms.ac.cocoon;
-
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -40,292 +39,286 @@
 import org.apache.lenya.ac.impl.InheritingPolicyManager;
 import org.apache.lenya.cms.publication.PageEnvelope;
 import org.apache.lenya.cms.publication.PageEnvelopeException;
-import org.apache.lenya.cms.publication.PageEnvelopeFactory;
-
 /**
  * Helper class for the policy GUI.
  */
 public class PolicyHelper {
-    /**
-     * Ctor.
-     */
-    public PolicyHelper() {
-    }
-    private DefaultAccessController accessController;
-    private ComponentSelector selector;
-    private AccessControllerResolver resolver;
-    private InheritingPolicyManager policyManager;
-    private ComponentManager manager;
-    private String url;
-    /**
-     * Initializes this helper.
-     * 
-     * @param objectModel
-     *            The Cocoon object model.
-     * @param manager
-     *            The component manager.
-     * @param area
-     *            The selected area.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public void setup(Map objectModel, ComponentManager manager, String area) throws ProcessingException {
-        this.manager = manager;
-        accessController = null;
-        selector = null;
-        resolver = null;
-        policyManager = null;
-        url = computeUrl(objectModel, area);
-        try {
-            selector = (ComponentSelector) manager.lookup(AccessControllerResolver.ROLE + "Selector");
-            resolver = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
-            accessController = (DefaultAccessController) resolver.resolveAccessController(url);
-            policyManager = (InheritingPolicyManager) accessController.getPolicyManager();
-        } catch (Exception e) {
-            throw new ProcessingException("Obtaining credentials failed: ", e);
-        }
-    }
-    /**
-     * Releases all obtained components.
-     */
-    public void tearDown() {
-        if (selector != null) {
-            if (resolver != null) {
-                if (accessController != null) {
-                    resolver.release(accessController);
-                }
-                selector.release(resolver);
+   /**
+    * Ctor.
+    */
+   public PolicyHelper() {
+   }
+   private DefaultAccessController accessController;
+   private ComponentSelector selector;
+   private AccessControllerResolver resolver;
+   private InheritingPolicyManager policyManager;
+   private ComponentManager manager;
+   private String url;
+   /**
+    * Initializes this helper.
+    * 
+    * @param objectModel
+    *           The Cocoon object model.
+    * @param manager
+    *           The component manager.
+    * @param area
+    *           The selected area.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public void setup(Map objectModel, ComponentManager manager, String area) throws ProcessingException {
+      this.manager = manager;
+      accessController = null;
+      selector = null;
+      resolver = null;
+      policyManager = null;
+      url = computeUrl(objectModel, area);
+      try{
+         selector = (ComponentSelector) manager.lookup(AccessControllerResolver.ROLE + "Selector");
+         resolver = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
+         accessController = (DefaultAccessController) resolver.resolveAccessController(url);
+         policyManager = (InheritingPolicyManager) accessController.getPolicyManager();
+      }catch(Exception e){
+         throw new ProcessingException("Obtaining credentials failed: ", e);
+      }
+   }
+   /**
+    * Releases all obtained components.
+    */
+   public void tearDown() {
+      if(selector != null){
+         if(resolver != null){
+            if(accessController != null){
+               resolver.release(accessController);
             }
-            manager.release(selector);
-        }
-    }
-    /**
-     * Returns the URI credential wrappers for the request of this object model.
-     * 
-     * @return An array of CredentialWrappers.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public CredentialWrapper[] getURICredentials() throws ProcessingException {
-        return getCredentials(true);
-    }
-    /**
-     * Returns the credential wrappers for the parent URI of the URL belonging
-     * to the request of this object model.
-     * 
-     * @return An array of CredentialWrappers.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public CredentialWrapper[] getParentCredentials() throws ProcessingException {
-        return getCredentials(false);
-    }
-    /**
-     * Returns the credentials of the policy of the selected URL.
-     * 
-     * @param urlOnly
-     *            If true, the URL policy credentials are returned. If false,
-     *            the credentials of all ancestor policies are returned.
-     * @return An array of CredentialWrappers.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public CredentialWrapper[] getCredentials(boolean urlOnly) throws ProcessingException {
-        List credentials = new ArrayList();
-        DefaultPolicy policies[] = getPolicies(urlOnly);
-        List policyCredentials = new ArrayList();
-        for (int i = 0; i < policies.length; i++) {
-            Credential[] creds = policies[i].getCredentials();
-            for (int j = 0; j < creds.length; j++) {
-                policyCredentials.add(creds[j]);
-            }
-        }
-        for (Iterator i = policyCredentials.iterator(); i.hasNext();) {
-            Credential credential = (Credential) i.next();
-            Accreditable accreditable = credential.getAccreditable();
-            Role[] roles = credential.getRoles();
-            for (int j = 0; j < roles.length; j++) {
-                credentials.add(new CredentialWrapper(accreditable, roles[j]));
-            }
-        }
-        return (CredentialWrapper[]) credentials.toArray(new CredentialWrapper[credentials.size()]);
-    }
-    /**
-     * Computes the webapp URL belonging to an object model with respect to the
-     * selected area.
-     * 
-     * @param objectModel
-     *            The Cocoon object model.
-     * @param area
-     *            The selected area.
-     * @return A string.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    private static String computeUrl(Map objectModel, String area) throws ProcessingException {
-        PageEnvelope envelope;
-        try {
-            envelope = PageEnvelopeFactory.getInstance().getPageEnvelope(objectModel);
-        } catch (PageEnvelopeException e) {
-            throw new ProcessingException(e);
-        }
-        String url = "/" + envelope.getPublication().getId() + "/" + area + envelope.getDocument().getId();
-        return url;
-    }
-    /**
-     * Returns the policies for a certain URL.
-     * 
-     * @param onlyUrl
-     *            If true, only the URL policies are returned. Otherwise, all
-     *            ancestor policies are returned.
-     * @return An array of DefaultPolicy objects.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    protected DefaultPolicy[] getPolicies(boolean onlyUrl) throws ProcessingException {
-        DefaultPolicy[] policies;
-        try {
-            if (onlyUrl) {
-                policies = new DefaultPolicy[1];
-                AccreditableManager manager = accessController.getAccreditableManager();
-                policies[0] = policyManager.buildSubtreePolicy(manager, url);
-            } else {
-                String ancestorUrl = "";
-                String currentUrl = url;
-                if (currentUrl.endsWith("/")) {
-                    currentUrl = currentUrl.substring(0, currentUrl.length() - 1);
-                }
-                int lastSlashIndex = currentUrl.lastIndexOf("/");
-                if (lastSlashIndex != -1) {
-                    ancestorUrl = currentUrl.substring(0, lastSlashIndex);
-                }
-                policies = policyManager.getPolicies(accessController.getAccreditableManager(), ancestorUrl);
-            }
-        } catch (AccessControlException e) {
-            throw new ProcessingException(e);
-        }
-        return policies;
-    }
-    public static final String ADD = "add";
-    public static final String DELETE = "delete";
-    /**
-     * Changes a credential by adding or deleting an item for a role.
-     * 
-     * @param item
-     *            The item to add or delete.
-     * @param role
-     *            The role.
-     * @param operation
-     *            The operation, either {@link #ADD} or {@link #DELETE}.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public void manipulateCredential(Item item, Role role, String operation) throws ProcessingException {
-        try {
-            DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
-            Accreditable accreditable = (Accreditable) item;
-            if (operation.equals(ADD)) {
-                policy.addRole(accreditable, role);
-            } else if (operation.equals(DELETE)) {
-                policy.removeRole(accreditable, role);
-            }
-            policyManager.saveSubtreePolicy(url, policy);
-        } catch (Exception e) {
-            throw new ProcessingException("Manipulating credential failed: ", e);
-        }
-    }
-    /**
-     * Returns if one of the ancestors of this URL is SSL protected.
-     * 
-     * @return A boolean value.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public boolean isAncestorSSLProtected() throws ProcessingException {
-        boolean ssl;
-        try {
+            selector.release(resolver);
+         }
+         manager.release(selector);
+      }
+   }
+   /**
+    * Returns the URI credential wrappers for the request of this object model.
+    * 
+    * @return An array of CredentialWrappers.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public CredentialWrapper[] getURICredentials() throws ProcessingException {
+      return getCredentials(true);
+   }
+   /**
+    * Returns the credential wrappers for the parent URI of the URL belonging to the request of this object model.
+    * 
+    * @return An array of CredentialWrappers.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public CredentialWrapper[] getParentCredentials() throws ProcessingException {
+      return getCredentials(false);
+   }
+   /**
+    * Returns the credentials of the policy of the selected URL.
+    * 
+    * @param urlOnly
+    *           If true, the URL policy credentials are returned. If false, the credentials of all ancestor policies are returned.
+    * @return An array of CredentialWrappers.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public CredentialWrapper[] getCredentials(boolean urlOnly) throws ProcessingException {
+      List credentials = new ArrayList();
+      DefaultPolicy policies[] = getPolicies(urlOnly);
+      List policyCredentials = new ArrayList();
+      for(int i = 0; i < policies.length; i++){
+         Credential[] creds = policies[i].getCredentials();
+         for(int j = 0; j < creds.length; j++){
+            policyCredentials.add(creds[j]);
+         }
+      }
+      for(Iterator i = policyCredentials.iterator(); i.hasNext();){
+         Credential credential = (Credential) i.next();
+         Accreditable accreditable = credential.getAccreditable();
+         Role[] roles = credential.getRoles();
+         for(int j = 0; j < roles.length; j++){
+            credentials.add(new CredentialWrapper(accreditable, roles[j]));
+         }
+      }
+      return (CredentialWrapper[]) credentials.toArray(new CredentialWrapper[credentials.size()]);
+   }
+   /**
+    * Computes the webapp URL belonging to an object model with respect to the selected area.
+    * 
+    * @param objectModel
+    *           The Cocoon object model.
+    * @param area
+    *           The selected area.
+    * @return A string.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   private static String computeUrl(Map objectModel, String area) throws ProcessingException {
+      PageEnvelope envelope;
+      try{
+         envelope = PageEnvelope.getCurrent();
+      }catch(PageEnvelopeException e){
+         throw new ProcessingException(e);
+      }
+      String url = "/" + envelope.getPublication().getId() + "/" + area + envelope.getDocument().getId();
+      return url;
+   }
+   /**
+    * Returns the policies for a certain URL.
+    * 
+    * @param onlyUrl
+    *           If true, only the URL policies are returned. Otherwise, all ancestor policies are returned.
+    * @return An array of DefaultPolicy objects.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   protected DefaultPolicy[] getPolicies(boolean onlyUrl) throws ProcessingException {
+      DefaultPolicy[] policies;
+      try{
+         if(onlyUrl){
+            policies = new DefaultPolicy[1];
+            AccreditableManager manager = accessController.getAccreditableManager();
+            policies[0] = policyManager.buildSubtreePolicy(manager, url);
+         }else{
             String ancestorUrl = "";
-            int lastSlashIndex = url.lastIndexOf("/");
-            if (lastSlashIndex != -1) {
-                ancestorUrl = url.substring(0, lastSlashIndex);
+            String currentUrl = url;
+            if(currentUrl.endsWith("/")){
+               currentUrl = currentUrl.substring(0, currentUrl.length() - 1);
+            }
+            int lastSlashIndex = currentUrl.lastIndexOf("/");
+            if(lastSlashIndex != -1){
+               ancestorUrl = currentUrl.substring(0, lastSlashIndex);
             }
-            Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(), ancestorUrl);
-            ssl = policy.isSSLProtected();
-        } catch (AccessControlException e) {
-            throw new ProcessingException("Resolving policy failed: ", e);
-        }
-        return ssl;
-    }
-    /**
-     * Returns if this URL is SSL protected.
-     * 
-     * @return A boolean value.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public boolean isUrlSSLProtected() throws ProcessingException {
-        boolean ssl;
-        try {
-            DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
-            ssl = policy.isSSLProtected();
-        } catch (AccessControlException e) {
-            throw new ProcessingException("Resolving policy failed: ", e);
-        }
-        return ssl;
-    }
-    /**
-     * Sets if this URL is SSL protected.
-     * 
-     * @param ssl
-     *            A boolean value.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public void setUrlSSLProtected(boolean ssl) throws ProcessingException {
-        try {
-            DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
-            policy.setSSL(ssl);
-            policyManager.saveSubtreePolicy(url, policy);
-        } catch (AccessControlException e) {
-            throw new ProcessingException("Resolving policy failed: ", e);
-        }
-    }
-    /**
-     * Returns the users with a certain role on the current URL.
-     * 
-     * @param roleId
-     *            The role ID.
-     * @return An array of users.
-     * @throws ProcessingException
-     *             when something went wrong.
-     */
-    public User[] getUsersWithRole(String roleId) throws ProcessingException {
-        List users = new ArrayList();
-        try {
-            Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(), getUrl());
-            UserManager userManager = accessController.getAccreditableManager().getUserManager();
-            User[] userArray = userManager.getUsers();
-            for (int i = 0; i < userArray.length; i++) {
-                Identity identity = new Identity();
-                identity.addIdentifiable(userArray[i]);
-                Role[] roles = policy.getRoles(identity);
-                for (int roleIndex = 0; roleIndex < roles.length; roleIndex++) {
-                    if (roles[roleIndex].getId().equals(roleId)) {
-                        users.add(userArray[i]);
-                    }
-                }
+            policies = policyManager.getPolicies(accessController.getAccreditableManager(), ancestorUrl);
+         }
+      }catch(AccessControlException e){
+         throw new ProcessingException(e);
+      }
+      return policies;
+   }
+   public static final String ADD = "add";
+   public static final String DELETE = "delete";
+   /**
+    * Changes a credential by adding or deleting an item for a role.
+    * 
+    * @param item
+    *           The item to add or delete.
+    * @param role
+    *           The role.
+    * @param operation
+    *           The operation, either {@link #ADD} or {@link #DELETE}.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public void manipulateCredential(Item item, Role role, String operation) throws ProcessingException {
+      try{
+         DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
+         Accreditable accreditable = (Accreditable) item;
+         if(operation.equals(ADD)){
+            policy.addRole(accreditable, role);
+         }else if(operation.equals(DELETE)){
+            policy.removeRole(accreditable, role);
+         }
+         policyManager.saveSubtreePolicy(url, policy);
+      }catch(Exception e){
+         throw new ProcessingException("Manipulating credential failed: ", e);
+      }
+   }
+   /**
+    * Returns if one of the ancestors of this URL is SSL protected.
+    * 
+    * @return A boolean value.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public boolean isAncestorSSLProtected() throws ProcessingException {
+      boolean ssl;
+      try{
+         String ancestorUrl = "";
+         int lastSlashIndex = url.lastIndexOf("/");
+         if(lastSlashIndex != -1){
+            ancestorUrl = url.substring(0, lastSlashIndex);
+         }
+         Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(), ancestorUrl);
+         ssl = policy.isSSLProtected();
+      }catch(AccessControlException e){
+         throw new ProcessingException("Resolving policy failed: ", e);
+      }
+      return ssl;
+   }
+   /**
+    * Returns if this URL is SSL protected.
+    * 
+    * @return A boolean value.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public boolean isUrlSSLProtected() throws ProcessingException {
+      boolean ssl;
+      try{
+         DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
+         ssl = policy.isSSLProtected();
+      }catch(AccessControlException e){
+         throw new ProcessingException("Resolving policy failed: ", e);
+      }
+      return ssl;
+   }
+   /**
+    * Sets if this URL is SSL protected.
+    * 
+    * @param ssl
+    *           A boolean value.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public void setUrlSSLProtected(boolean ssl) throws ProcessingException {
+      try{
+         DefaultPolicy policy = policyManager.buildSubtreePolicy(accessController.getAccreditableManager(), url);
+         policy.setSSL(ssl);
+         policyManager.saveSubtreePolicy(url, policy);
+      }catch(AccessControlException e){
+         throw new ProcessingException("Resolving policy failed: ", e);
+      }
+   }
+   /**
+    * Returns the users with a certain role on the current URL.
+    * 
+    * @param roleId
+    *           The role ID.
+    * @return An array of users.
+    * @throws ProcessingException
+    *            when something went wrong.
+    */
+   public User[] getUsersWithRole(String roleId) throws ProcessingException {
+      List users = new ArrayList();
+      try{
+         Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(), getUrl());
+         UserManager userManager = accessController.getAccreditableManager().getUserManager();
+         User[] userArray = userManager.getUsers();
+         for(int i = 0; i < userArray.length; i++){
+            Identity identity = new Identity();
+            identity.addIdentifiable(userArray[i]);
+            Role[] roles = policy.getRoles(identity);
+            for(int roleIndex = 0; roleIndex < roles.length; roleIndex++){
+               if(roles[roleIndex].getId().equals(roleId)){
+                  users.add(userArray[i]);
+               }
             }
-        } catch (AccessControlException e) {
-            throw new ProcessingException(e);
-        }
-        return (User[]) users.toArray(new User[users.size()]);
-    }
-    /**
-     * Returns the URL.
-     * 
-     * @return A string.
-     */
-    public String getUrl() {
-        return url;
-    }
+         }
+      }catch(AccessControlException e){
+         throw new ProcessingException(e);
+      }
+      return (User[]) users.toArray(new User[users.size()]);
+   }
+   /**
+    * Returns the URL.
+    * 
+    * @return A string.
+    */
+   public String getUrl() {
+      return url;
+   }
 }

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizer.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizer.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizer.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ac/usecase/UsecaseAuthorizer.java Sat Mar  8 14:58:32 2008
@@ -19,7 +19,6 @@
 
 import java.util.Arrays;
 import java.util.List;
-
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.parameters.ParameterException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/BulkCopyTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/BulkCopyTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/BulkCopyTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/BulkCopyTask.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.util.List;
 import java.util.StringTokenizer;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.taskdefs.Copy;
 import org.apache.tools.ant.types.FileSet;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ChangeVisibilityTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ChangeVisibilityTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ChangeVisibilityTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/ChangeVisibilityTask.java Sat Mar  8 14:58:32 2008
@@ -19,8 +19,8 @@
 
 package org.apache.lenya.cms.ant;
 
-import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.DocumentException;
+import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;
 import org.apache.lenya.cms.publication.SiteTreeNode;
 import org.apache.lenya.cms.publication.SiteTreeNodeImpl;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyContentTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyContentTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyContentTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyContentTask.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;
 import org.apache.lenya.cms.publication.DocumentBuilder;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java Sat Mar  8 14:58:32 2008
@@ -26,7 +26,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.StringTokenizer;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyPoliciesTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyPoliciesTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyPoliciesTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyPoliciesTask.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.io.FileFilter;
 import java.io.IOException;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.SiteTreeNode;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyResourcesTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyResourcesTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyResourcesTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyResourcesTask.java Sat Mar  8 14:58:32 2008
@@ -24,7 +24,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/CopyTask.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.io.FilenameFilter;
 import java.util.StringTokenizer;
-
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Task;
 import org.apache.tools.ant.types.Path;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeactivateResourcesTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeactivateResourcesTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeactivateResourcesTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeactivateResourcesTask.java Sat Mar  8 14:58:32 2008
@@ -20,14 +20,13 @@
 package org.apache.lenya.cms.ant;
 
 import java.io.File;
-
-import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;
 import org.apache.lenya.cms.publication.DocumentBuilder;
 import org.apache.lenya.cms.publication.Label;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.ResourcesManager;
+import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;
 import org.apache.lenya.cms.publication.SiteTreeNode;
 import org.apache.tools.ant.BuildException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteContentTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteContentTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteContentTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteContentTask.java Sat Mar  8 14:58:32 2008
@@ -21,7 +21,6 @@
 
 import java.io.File;
 import java.io.IOException;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteLanguageNodeTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteLanguageNodeTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteLanguageNodeTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteLanguageNodeTask.java Sat Mar  8 14:58:32 2008
@@ -19,8 +19,8 @@
 
 package org.apache.lenya.cms.ant;
 
-import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.Label;
+import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;
 import org.apache.lenya.cms.publication.SiteTreeNode;
 import org.apache.tools.ant.BuildException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeletePoliciesTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeletePoliciesTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeletePoliciesTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeletePoliciesTask.java Sat Mar  8 14:58:32 2008
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.io.FileFilter;
 import java.io.IOException;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.SiteTree;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteRCTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteRCTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteRCTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteRCTask.java Sat Mar  8 14:58:32 2008
@@ -21,7 +21,6 @@
 
 import java.io.File;
 import java.io.IOException;
-
 import org.apache.commons.io.FileUtils;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.SiteTree;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteSchedulerEntryTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteSchedulerEntryTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteSchedulerEntryTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DeleteSchedulerEntryTask.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.cms.ant;
 
 import java.io.File;
-
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuilder;
 import org.apache.lenya.cms.publication.DocumentException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DocumentCreatorTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DocumentCreatorTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DocumentCreatorTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/DocumentCreatorTask.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.cms.ant;
 
 import java.io.File;
-
 import org.apache.lenya.cms.authoring.CreatorException;
 import org.apache.lenya.cms.authoring.DocumentCreator;
 import org.apache.tools.ant.BuildException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InitRCTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InitRCTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InitRCTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InitRCTask.java Sat Mar  8 14:58:32 2008
@@ -21,7 +21,6 @@
 
 import java.io.File;
 import java.io.IOException;
-
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuilder;
 import org.apache.lenya.cms.publication.Label;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertCopyNode.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertCopyNode.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertCopyNode.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertCopyNode.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.cms.ant;
 
 import java.util.StringTokenizer;
-
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertLabelTask.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertLabelTask.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertLabelTask.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/InsertLabelTask.java Sat Mar  8 14:58:32 2008
@@ -19,8 +19,8 @@
 
 package org.apache.lenya.cms.ant;
 
-import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.Label;
+import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;
 import org.apache.tools.ant.BuildException;
 

Modified: lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveNode.java
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveNode.java?rev=635107&r1=635106&r2=635107&view=diff
==============================================================================
--- lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveNode.java (original)
+++ lenya/branches/revolution/1.3.x/src/java/org/apache/lenya/cms/ant/MoveNode.java Sat Mar  8 14:58:32 2008
@@ -20,7 +20,6 @@
 package org.apache.lenya.cms.ant;
 
 import java.util.StringTokenizer;
-
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.SiteTree;
 import org.apache.lenya.cms.publication.SiteTreeException;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org