You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by fe...@apache.org on 2008/03/19 12:56:33 UTC

svn commit: r638802 - in /directory/apacheds/branches/bigbang: core/src/main/java/org/apache/directory/server/core/authz/support/ core/src/main/java/org/apache/directory/server/core/changelog/ core/src/main/java/org/apache/directory/server/core/partiti...

Author: felixk
Date: Wed Mar 19 04:56:18 2008
New Revision: 638802

URL: http://svn.apache.org/viewvc?rev=638802&view=rev
Log:
Fix javadoc generation.
We can either package.html or package-info.java (it's a bug from suns javadoc tool)

Added:
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java   (with props)
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java   (with props)
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java   (with props)
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java   (with props)
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java   (with props)
    directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java   (with props)
Removed:
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package.html
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package.html
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/package.html
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package.html
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package.html
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package.html
    directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package.html

Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,32 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <p>
+ * ACDF (Access Control Decision Function) and its support classes.
+ * </p>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.core.authz.support;

Propchange: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/authz/support/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,56 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <h1>Ideas</h1>
+ * <p>
+ * Use AdminModel to control what goes into the changelog ?  Or use admin model to identify 
+ * scopes/concerns which are put into different channels in the changelog?  Cool idea perhaps,
+ * perhaps not.  To some degree the DN does the scope thingy for us.  There really is no point
+ * to having an additional scope parameter.
+ * </p><p>
+ * Perhaps we can also inject a new revisions (multi-valued) operational attribute into 
+ * entries to track the revisions of changes in the changeLog to that entry.  This can
+ * be used to ask the server for a log of changes that have been performed on a specific 
+ * entry.  Whoa that's really hot for auditing!
+ * </p><p>
+ * We could try to do the same thing (meaning having a tags operational attribute) with revisions.
+ * However this is pointless since the tag revision would already be in the revisions attribute.  Also
+ * a tag would select entries dynamically: all entries with revisions below the tag revision would be
+ * selected in the tag.  This leads to a neat idea: you can easily regenerate not only the revision 
+ * history of an entry, you can do it for an entire subtree, and furthermore you might even be able
+ * to conduct search operations based on a tag and the state of the server in the past.  This would be
+ * pretty wild.
+ * </p><p>
+ * Another neat thing that could be done is to request an attribute by revision using the protocol 
+ * based tagging mechanism in LDAP.  For example we have language based tags like cn;lang-en so why
+ * not have version based tags like cn;revision-23.  When requested in this mannar the server can 
+ * reconstruct the state of the attribute at a specific revision and return it to the user.  This is
+ * an incredible capability when storing the configurations of systems in LDAP.  Being able to rollback
+ * to a previous configuration or just inquire about a previous state is a powerful feature to have.
+ * </p>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.core.changelog;

Propchange: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <p>
+ * Set of classes and interfaces for a special data tree structure used to quickly
+ * find partitions corresponding to an entry by DN.  The data structure contains
+ * branch nodes which store other nodes as well as leaf nodes which referrence 
+ * partitions whose suffix is the path from the root of the tree down to the node.
+ * Each node contains an RDN used for it's position.
+ * </p>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.core.partition.tree;

Propchange: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/tree/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,39 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <p>
+ * Platform independent server side Preferences implementation based on ApacheDS.
+ * The data is backed by the directory using a specific LDAP schema to map
+ * preferences to the LDAP/X.500 namespace.  To make sure you're preferences are
+ * using the right preferences factory implementation please check to see the
+ * following property is set to our implementation:
+ * </p>
+ * <p>
+ * java.util.prefs.PreferencesFactory=org.apache.ldap.server.prefs.ServerPreferencesFactory
+ * <p>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.core.prefs;

Propchange: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/prefs/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,56 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <p>
+ * Contains interfaces for schema object registry services and simple POJO
+ * implementations of these services.  Other helper interfaces and classes are
+ * included for handling monitoring of these services.
+ * </p>
+ * <p>
+ * These services and their POJO implementations are purposefully kept really
+ * simple here for a reason.  When one looks at these interfaces they stop and
+ * think why even bother having them when you can just use a map of objects
+ * somewhere.  These simple services can and will get more complex as other
+ * facilities come into play namely the object builders that populate these
+ * registries.  There might also be caching going on as well as disk based
+ * store access.  Finally dependencies become an issue and sometime bootstrap
+ * instances of these components are required by the system.  So these simple
+ * watered down interfaces and their POJO's have been pruned from previously
+ * complex environment specific versions of them.
+ * </p>
+ * <p>
+ * Some key points to apply to services and their POJO impls in this package:
+ * <ul>
+ * <li>registries only register and allow for lookups: its that simple!</li>
+ * <li>don't worry if they change over time</li>
+ * <li>don't worry about how they get populated</li>
+ * <li>don't worry who or what does the populating</li>
+ * <li>don't worry about where the information comes from</li>
+ * </ul>
+ * </p>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.core.schema;

Propchange: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/schema/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java?rev=638802&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java (added)
+++ directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java Wed Mar 19 04:56:18 2008
@@ -0,0 +1,122 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+
+/**
+ * <pre>
+ * <p>
+ * Contains interfaces and classes used for bootstrap schema object loading and
+ * configuration.
+ * </p>
+ * <p>
+ * Briefly, before delving into the reasons behind our choices, we would like to
+ * summarize what is here.  First off each schema entity of significance whether
+ * defined by the protocol or not is introduced into the system using a bootstrap
+ * configuration set class.  This is a class that implements a specific interface
+ * for creating all the needed schema objects to establish a baseline within the
+ * system.  All such schema objects generated will be owned by the directory
+ * administrator.  Furthermore these objects are temporary and can be overridden
+ * in the solid state using altered versions that are authoritative definitions
+ * within the system backend.
+ * </p>
+ * <p>
+ * Just what does all this mean?  Hard coded schema objects in Java classes
+ * which implement a configuration set interface can be loaded into the system
+ * and used while bootstrapping it.  If this is the first time bootstrapping,
+ * meaning these objects are NOT found within the system backend, they will
+ * be persisted into the system backend at the very end of the bootstrap stage so
+ * they can be resolved in the solid state.  Changes to these objects via LDAP
+ * within the system backend by the admin persist across bootstrap sessions.  They
+ * persist because the bootstrap object is never stored in the system backend
+ * if a record for that object already exists.
+ * </p>
+ * <p>
+ * Why are we storing a configuration directly in Java code?  First off the
+ * likelihood of altering schema object fields to bootstrap the system is highly
+ * unlikely.  Secondly most of these objects are published static entities and
+ * changing them would have serious repercussions.  Hence its highly unlikely
+ * that these objects will change and there is no need to get complex to try
+ * to have an external representation for these schema objects.  The
+ * representation of these objects as entries and attributes within the directory
+ * is enough of an external representation.  Schema manipulation tools already
+ * exist for making changes so why have another additional
+ * mechanism/representation as well.
+ * </p>
+ * <hr>
+ * <h3>Notes:</h3>
+ * <ul>
+ * <li>
+ * Baseline schema configuration sets are loaded first.
+ * </li>
+ * <li>
+ * Within a logical schema (e.g. krb5-kdc) the ConfigurationSets of that
+ * schema will be loaded in an order consistent with datatype dependencies.
+ * For example a ConfigurationSet (CS) for SyntaxCheckers will be loaded
+ * before the one for Syntaxes within the same schema.  This is because
+ * Syntaxes depend upon SyntaxCheckers and the proper SyntaxChecker must be
+ * resolvable via the SyntaxChecker registry.
+ * </li>
+ * <li>
+ * A CS shall contain schema objects associated with a specific owner, and a
+ * specific logical schema.  The set of CS schema objects may depend on
+ * Schema objects within other logic schemas, hence other CS objects.  These
+ * dependencies on other logical schemas are exposed by the CS interface.
+ * </li>
+ * <li>
+ * Other user defined CS classes can be loaded by the system as well.  The
+ * system can search on the classpath for classes implementing the CS
+ * interface.  It would then need to analyze dependencies to determine which
+ * schema object sets to process/load first.  This is the most rudimentary
+ * of mechanisms for users to introduce new schema objects into the system.
+ * The other means is during the solid state through LDAP itself.  Changes
+ * can be made along with new schema object introductions via schemaSubentry
+ * changes in the usual LDAP manager where schema objects are attributes in
+ * a massive entry.  Another means is through the alteration of easier to
+ * manage entries for schema objects through the system namespace.  Changes
+ * to either schemaSubEntry attributes or system namespace schema entries both
+ * mirror one another.  A change to one propagates to the other: the same
+ * entity is being manipulated through two different views.  One is a heck of
+ * a lot more manageable.
+ * </li>
+ * <li>
+ * We can add a resolver interface so a resolver can be registered after
+ * bootstrapping with a registry.  In the case of a registry miss we ask the
+ * resolver for the object.  If it cannot find it then well we're out of luck.
+ * Once the resolver is set for solid state operation, registry misses make
+ * the resolver go to disk on the system backend for authoritative copies.
+ * </li>
+ * <li>
+ * The resolver concept mentioned above can itself be another registry.  It's
+ * just a secondary disk registry used when the first misses disk.  So hence
+ * other registries should be able to be registerable with others to allow for
+ * registry delegation like the way classloaders delegate.  This way there is
+ * no need to replace bootstrap registries.  Once they have enough info to
+ * enable disk access, they can tap secondary schema information on disk to
+ * override the bootstrap objects first of all.  Secondly in the solid state
+ * schema objects can be brought into memory from disk.
+ * </li>
+ * </ul>
+ * </hr>
+ * </pre>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+
+package org.apache.directory.server.schema.bootstrap;

Propchange: directory/apacheds/branches/bigbang/schema-extras/src/main/java/org/apache/directory/server/schema/bootstrap/package-info.java
------------------------------------------------------------------------------
    svn:eol-style = native