You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by jo...@apache.org on 2008/07/27 23:13:03 UTC

svn commit: r680187 [1/6] - in /labs/jaxmas/trunk/JaxMas: ./ .settings/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/labs/ src/main/java/org/apache/labs/jaxmas/ src/main/java/org/apache/labs/jaxmas...

Author: jochen
Date: Sun Jul 27 14:13:00 2008
New Revision: 680187

URL: http://svn.apache.org/viewvc?rev=680187&view=rev
Log:
Initial import.

Added:
    labs/jaxmas/trunk/JaxMas/.classpath
    labs/jaxmas/trunk/JaxMas/.project
    labs/jaxmas/trunk/JaxMas/.settings/
    labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.core.prefs
    labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.ui.prefs
    labs/jaxmas/trunk/JaxMas/pom.xml
    labs/jaxmas/trunk/JaxMas/src/
    labs/jaxmas/trunk/JaxMas/src/main/
    labs/jaxmas/trunk/JaxMas/src/main/java/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/ConnectionFactoryImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AbstractROAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AssociationAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AuditableEventAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationSchemeAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ConceptAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalIdentifierAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalLinkAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExtrinsicObjectAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/OrganizationAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessors.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryEntryAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryPackageAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceBindingAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/SpecificationLinkAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/UserAccessor.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/AssociationImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/AuditableEventImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/BulkResponseImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/BusinessLifeCycleManagerImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/BusinessQueryManagerImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/CapabilityProfileImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ClassificationImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ClassificationSchemeImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ConceptChildrenController.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ConceptImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ConnectionImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/DeclarativeQueryManagerImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/EmailAddressImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExternalIdentifierImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExternalLinkImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtrinsicObjectImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/KeyImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/LifeCycleManagerImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/LocalizedStringImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/NLSStrings.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/NLSStrings.properties
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/OrganizationImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/OwnedRegistryObject.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/PersonNameImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/PostalAddressImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/QueryManagerImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ROState.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/RegistryEntryImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/RegistryObjectImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/RegistryPackageImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/RegistryServiceImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ServiceBindingImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ServiceImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/SlotImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/SpecificationLinkImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/TelephoneNumberImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/UserImpl.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/schema/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/schema/DbInitializer.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/schema/SchemaUpdater.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/schema/SchemaUpdater1.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/schema/schema-update.1.sql
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AssociationSourcePredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AssociationTargetPredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AssociationTypePredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/ConnUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/DbDriver.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/DerbyDbDriver.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/HsqlDbDriver.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/KeyPredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/NamePredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/ObjConnUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/ObjQueryUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/ObjStmtUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/OwnerPredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/Predicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/QueryUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/RegistryObjectLoader.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/RegistryObjectTypePredicate.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/Sql.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/StmtUser.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Calendars.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/DefaultLogger.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/DefaultLoggerFactory.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Locales.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Log4jLogger.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Log4jLoggerFactory.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Logger.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/LoggerFactory.java
    labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/util/Strings.java
    labs/jaxmas/trunk/JaxMas/src/test/
    labs/jaxmas/trunk/JaxMas/src/test/java/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/AbstractInitializedJaxMasTestCase.java
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/AbstractJaxMasTestCase.java
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/DbInitializationTest.java
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/JaxmasRegistryTestCase.properties
    labs/jaxmas/trunk/JaxMas/src/test/java/org/apache/labs/jaxmas/registry/TaxonomiesTestCase.java
Modified:
    labs/jaxmas/trunk/JaxMas/   (props changed)

Propchange: labs/jaxmas/trunk/JaxMas/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jul 27 14:13:00 2008
@@ -0,0 +1 @@
+target

Added: labs/jaxmas/trunk/JaxMas/.classpath
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/.classpath?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/.classpath (added)
+++ labs/jaxmas/trunk/JaxMas/.classpath Sun Jul 27 14:13:00 2008
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: labs/jaxmas/trunk/JaxMas/.project
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/.project?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/.project (added)
+++ labs/jaxmas/trunk/JaxMas/.project Sun Jul 27 14:13:00 2008
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JaxMas</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+	</natures>
+</projectDescription>

Added: labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.core.prefs?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.core.prefs (added)
+++ labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.core.prefs Sun Jul 27 14:13:00 2008
@@ -0,0 +1,76 @@
+#Sun Dec 09 20:11:58 GMT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=p
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6

Added: labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.ui.prefs
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.ui.prefs?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.ui.prefs (added)
+++ labs/jaxmas/trunk/JaxMas/.settings/org.eclipse.jdt.ui.prefs Sun Jul 27 14:13:00 2008
@@ -0,0 +1,6 @@
+#Sun Dec 09 20:11:58 GMT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.overrideannotation=true

Added: labs/jaxmas/trunk/JaxMas/pom.xml
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/pom.xml?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/pom.xml (added)
+++ labs/jaxmas/trunk/JaxMas/pom.xml Sun Jul 27 14:13:00 2008
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.labs.jaxmas</groupId>
+  <artifactId>jaxmas-registry</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <name>JaxMas</name>
+  <description>
+    Poor mans JAXR implementation for unit testing of applications based on JAXR.
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jaxr_1.0_spec</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.15</version>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.mail</groupId>
+          <artifactId>mail</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.sun.jdmk</groupId>
+          <artifactId>jmxtools</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>com.sun.jmx</groupId>
+          <artifactId>jmxri</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>javax.jms</groupId>
+          <artifactId>jms</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.4</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>hsqldb</groupId>
+      <artifactId>hsqldb</artifactId>
+      <version>1.8.0.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.derby</groupId>
+      <artifactId>derby</artifactId>
+      <version>10.3.2.1</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/java</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>src/test/java</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <systemProperties>
+            <property>
+              <name>derby.stream.error.file</name>
+              <value>${project.build.directory}/derby.log</value>
+            </property>
+          </systemProperties>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/ConnectionFactoryImpl.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/ConnectionFactoryImpl.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/ConnectionFactoryImpl.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/ConnectionFactoryImpl.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,134 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry;
+
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.xml.registry.Connection;
+import javax.xml.registry.ConnectionFactory;
+import javax.xml.registry.FederatedConnection;
+import javax.xml.registry.JAXRException;
+
+import org.apache.labs.jaxmas.registry.infomodel.ConnectionImpl;
+import org.apache.labs.jaxmas.registry.infomodel.NLSStrings;
+import org.apache.labs.jaxmas.registry.util.Locales;
+import org.apache.labs.jaxmas.registry.util.Strings;
+
+
+/**
+ * Implementation of the {@link ConnectionFactory}.
+ */
+public class ConnectionFactoryImpl extends ConnectionFactory {
+	/**
+	 * The property for setting a locale.
+	 */
+	public static final String PROPERTY_LOCALE = ConnectionFactoryImpl.class.getName() + ".LOCALE"; //$NON-NLS-1$
+	/**
+	 * The property for specifying a database driver.
+	 */
+	public static final String PROPERTY_DRIVER = ConnectionFactoryImpl.class.getName() + ".DRIVER"; //$NON-NLS-1$
+	/**
+	 * The property for specifying a JDBC URL.
+	 */
+	public static final String PROPERTY_URL = ConnectionFactoryImpl.class.getName() + ".URL"; //$NON-NLS-1$
+	/**
+	 * The property for specifying a database user.
+	 */
+	public static final String PROPERTY_USER = ConnectionFactoryImpl.class.getName() + ".USER"; //$NON-NLS-1$
+	/**
+	 * The property for specifying a database password.
+	 */
+	public static final String PROPERTY_PASSWORD = ConnectionFactoryImpl.class.getName() + ".PASSWORD"; //$NON-NLS-1$
+
+	private Properties properties;
+
+	private Locale getLocale() {
+		final String localeProperty = getProperty(PROPERTY_LOCALE);
+		if (localeProperty != null) {
+			return Locales.getLocale(localeProperty);
+		}
+		return Locale.getDefault();
+	}
+
+	private String getProperty(String pProperty) {
+		return properties == null ? null : (String) properties.get(pProperty);
+	}
+
+	private String requireProperty(String pProperty, NLSStrings pBundle) throws JAXRException {
+		final String s = getProperty(pProperty);
+		if (s == null) {
+			throw new JAXRException(pBundle.format(NLSStrings.PROPERTY_NOT_SET, pProperty));
+		}
+		return s;
+	}
+
+	@Override
+	public Connection createConnection() throws JAXRException {
+		final NLSStrings bundle = getBundle();
+		final String driver = getProperty(PROPERTY_DRIVER);
+		if (!Strings.isEmpty(driver)) {
+			try {
+				Class.forName(driver);
+			} catch (ClassNotFoundException e) {
+				throw new JAXRException(e);
+			}
+		}
+		final String url = requireProperty(PROPERTY_URL, bundle);
+		final String user = getProperty(PROPERTY_USER);
+		final java.sql.Connection conn;
+        try {
+            if (user == null) {
+				conn = DriverManager.getConnection(url);
+            } else {
+                final String password = requireProperty(PROPERTY_PASSWORD, bundle);
+                conn = DriverManager.getConnection(url, user, password);
+            }
+            return new ConnectionImpl(conn, bundle);
+        } catch (SQLException e) {
+			throw new JAXRException(e);
+		}
+	}
+
+	private NLSStrings getBundle() {
+		final Locale locale = getLocale();
+		final NLSStrings bundle = new NLSStrings(locale);
+		return bundle;
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public FederatedConnection createFederatedConnection(Collection pConnections) throws JAXRException {
+		final NLSStrings bundle = getBundle();
+		throw new JAXRException(bundle.get(NLSStrings.OPERATION_NOT_IMPLEMENTED));
+	}
+
+	@Override
+	public Properties getProperties() throws JAXRException {
+		return properties;
+	}
+
+	@Override
+	public void setProperties(Properties pProperties) throws JAXRException {
+		properties = pProperties;
+	}
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AbstractROAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AbstractROAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AbstractROAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AbstractROAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,115 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.util.Map;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.RegistryObject;
+import javax.xml.registry.infomodel.Slot;
+
+import org.apache.labs.jaxmas.registry.infomodel.ROState;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryObjectImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.DbDriver;
+
+
+
+/**
+ * Base class for registry loaders.
+ */
+public abstract class AbstractROAccessor<RO extends RegistryObject> implements ROAccessor<RO> {
+    /**
+     * Creates a new registry object instance. The new instance has state
+     * {@link ROState#created}, if the key is null. Otherwise, the instance
+     * has state {@link ROState#referenced}.
+     */
+    protected abstract RO newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException;
+
+	/**
+	 * Returns the database driver.
+	 */
+	protected DbDriver getDbDriver(RegistryService pRegistryService) {
+		return ((RegistryServiceImpl) pRegistryService).getDbDriver();
+	}
+
+	public Key newKey(RegistryService pRegistryService) throws JAXRException {
+		final long id = getDbDriver(pRegistryService).newId("keys"); //$NON-NLS-1$
+		final String s = String.valueOf(id);
+		final String key = "00000000000000000000000000000000".substring(s.length()) + s; //$NON-NLS-1$
+		return pRegistryService.getBusinessLifeCycleManager().createKey(key);
+	}
+
+	/**
+	 * Creates a new instance.
+	 */
+	public RO create(RegistryService pRegistryService) throws JAXRException {
+	    final RO ro = newInstance((RegistryServiceImpl) pRegistryService, null);
+	    ro.setKey(newKey(pRegistryService));
+	    return ro;
+	}
+
+    public RO create(RegistryService pRegistryService, Key pKey) throws JAXRException {
+        return newInstance((RegistryServiceImpl) pRegistryService, pKey);
+    }
+
+	@Override
+	public Map<String, Slot> getSlots(RegistryService pRegistryService, RO pRegistryObject) throws JAXRException {
+		return getDbDriver(pRegistryService).getSlots(pRegistryObject);
+	}
+	
+	@Override
+	public void save(RegistryService pRegistryService, RegistryObject pObject) throws JAXRException {
+		final RegistryObjectImpl<?> ro = (RegistryObjectImpl<?>) pObject;
+		switch (ro.getState()) {
+		    case created:
+	            getDbDriver(pRegistryService).insert(pObject, getRegistryObjectType());
+	            break;
+		    case loaded:
+		    case referenced:
+		        getDbDriver(pRegistryService).update(pObject);
+		        break;
+		    case deleted:
+		        throw new IllegalStateException("Unable to save a deleted object."); //$NON-NLS-1$
+		}
+        ro.setState(ROState.loaded);
+	}
+
+    @Override
+    public void remove(RegistryService pRegistryService, RO pRegistryObject)
+            throws JAXRException {
+        /* We try to delete the registry object first, so that we get exceptions
+         * caused by an ON DELETE RESTRICT as soon as possible.
+         */
+        final DbDriver dbDriver = getDbDriver(pRegistryService);
+        dbDriver.deleteRegistryObject(pRegistryObject.getKey());
+
+        /*
+         * Finally, lets delete the registry objects slots.
+         */
+        dbDriver.deleteSlots(pRegistryObject);
+    }
+
+    @Override
+    public void load(RegistryServiceImpl pRegistryService, RegistryObject pRegistryObject) throws JAXRException {
+        getRegistryObjectLoader().load(pRegistryService, pRegistryObject);
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AssociationAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AssociationAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AssociationAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AssociationAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Association;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.AssociationImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for associations.
+ */
+public class AssociationAccessor extends AbstractROAccessor<Association> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.ASSOCIATION, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final AssociationAccessor theInstance = new AssociationAccessor();
+
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private AssociationAccessor() {
+        // Does nothing.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static AssociationAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.ASSOCIATION.ordinal();
+    }
+
+    @Override
+    public Association newInstance(RegistryServiceImpl pRegistryService, Key pKey)
+            throws JAXRException {
+        return new AssociationImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AuditableEventAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AuditableEventAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AuditableEventAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/AuditableEventAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.AuditableEvent;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.AuditableEventImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for auditable events.
+ */
+public class AuditableEventAccessor extends AbstractROAccessor<AuditableEvent> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.AUDITABLE_EVENT, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final AuditableEventAccessor theInstance = new AuditableEventAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private AuditableEventAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static AuditableEventAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected AuditableEvent newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new AuditableEventImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.AUDITABLE_EVENT.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,87 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.Classification;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.RegistryObject;
+
+import org.apache.labs.jaxmas.registry.infomodel.ClassificationImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for classification.
+ */
+public class ClassificationAccessor extends AbstractROAccessor<Classification> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.CLASSIFICATION, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ClassificationAccessor theInstance = new ClassificationAccessor();
+
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private ClassificationAccessor() {
+        // Does nothing.
+    }
+
+    @Override
+    public void save(RegistryService pRegistryService, RegistryObject pObject)
+            throws JAXRException {
+        super.save(pRegistryService, pObject);
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ClassificationAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.CLASSIFICATION.ordinal();
+    }
+
+    @Override
+    protected Classification newInstance(RegistryServiceImpl pRegistryService,
+            Key pKey) throws JAXRException {
+        return new ClassificationImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationSchemeAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationSchemeAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationSchemeAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ClassificationSchemeAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,125 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.xml.registry.BusinessQueryManager;
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.ClassificationScheme;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.ClassificationSchemeImpl;
+import org.apache.labs.jaxmas.registry.infomodel.NLSStrings;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.NamePredicate;
+import org.apache.labs.jaxmas.registry.sql.Predicate;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for classification schemes.
+ */
+public class ClassificationSchemeAccessor extends AbstractROAccessor<ClassificationScheme> {
+	private static final ClassificationSchemeAccessor theInstance = new ClassificationSchemeAccessor();
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.CLASSIFICATION_SCHEME, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+	/**
+	 * Private constructor, to ensure singleton pattern.
+	 */
+	private ClassificationSchemeAccessor() {
+		// Does nothing
+	}
+
+	/**
+	 * Returns the singleton instance.
+	 */
+	public static ClassificationSchemeAccessor getInstance() {
+		return theInstance;
+	}
+
+	@Override
+	public int getRegistryObjectType() {
+		return ROAccessors.ObjectTypes.CLASSIFICATION_SCHEME.ordinal();
+	}
+
+	@SuppressWarnings("unchecked")
+    private static Collection<String> asStringCollection(Collection<?> pCollection) {
+	    return (Collection<String>) pCollection;
+	}
+
+	@SuppressWarnings("unchecked")
+	private static List<ClassificationScheme> asClassificationSchemeList(List<?> pList) {
+        return (List<ClassificationScheme>) pList;
+    }
+
+	/**
+	 * Implementation of {@link BusinessQueryManager#findClassificationSchemes(Collection, Collection, Collection, Collection)}.
+	 */
+	public List<ClassificationScheme> findClassificationSchemes(
+			final RegistryService pRegistryService, Collection<?> pFindQualifiers,
+			Collection<?> pNamePatterns, Collection<?> pClassifications,
+			Collection<?> pExternalLinks) throws JAXRException {
+	    final List<Predicate> predicates = new ArrayList<Predicate>();
+	    if (pFindQualifiers != null  &&  !pFindQualifiers.isEmpty()) {
+			throw new JAXRException(RegistryServiceImpl.getNLSStrings(pRegistryService).format(NLSStrings.UNSUPPORTED_PARAMETER, "pFindQualifiers")); //$NON-NLS-1$
+		}
+		if (pNamePatterns != null  &&  !pNamePatterns.isEmpty()) {
+		    predicates.add(new NamePredicate(asStringCollection(pNamePatterns)));
+		}
+		if (pClassifications != null  &&  !pClassifications.isEmpty()) {
+			throw new JAXRException(RegistryServiceImpl.getNLSStrings(pRegistryService).format(NLSStrings.UNSUPPORTED_PARAMETER, "pClassifications")); //$NON-NLS-1$
+		}
+		if (pExternalLinks != null  &&  !pExternalLinks.isEmpty()) {
+			throw new JAXRException(RegistryServiceImpl.getNLSStrings(pRegistryService).format(NLSStrings.UNSUPPORTED_PARAMETER, "pExternalLinks")); //$NON-NLS-1$
+		}
+		return asClassificationSchemeList(rol.getResultList(pRegistryService, predicates));
+	}
+
+    @Override
+    public void remove(RegistryService pRegistryService,
+            ClassificationScheme pRegistryObject) throws JAXRException {
+        super.remove(pRegistryService, pRegistryObject);
+    }
+
+    @Override
+    protected ClassificationScheme newInstance(RegistryServiceImpl pRegistryService, Key pKey)
+            throws JAXRException {
+        return new ClassificationSchemeImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ConceptAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ConceptAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ConceptAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ConceptAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,78 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Concept;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.ConceptImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for concepts.
+ */
+public class ConceptAccessor extends AbstractROAccessor<Concept> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.CONCEPT, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ConceptAccessor theInstance = new ConceptAccessor();
+
+    /**
+     * Private accessor, to implement singleton pattern.
+     */
+    private ConceptAccessor() {
+        // Nothing to do
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ConceptAccessor getInstance() {
+        return theInstance;
+    }
+
+	@Override
+	public int getRegistryObjectType() {
+		return ROAccessors.ObjectTypes.CONCEPT.ordinal();
+	}
+
+    @Override
+    protected Concept newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new ConceptImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalIdentifierAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalIdentifierAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalIdentifierAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalIdentifierAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.ExternalIdentifier;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.ExternalIdentifierImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for external links.
+ */
+public class ExternalIdentifierAccessor extends AbstractROAccessor<ExternalIdentifier> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.EXTERNAL_IDENTIFIER, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ExternalIdentifierAccessor theInstance = new ExternalIdentifierAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private ExternalIdentifierAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ExternalIdentifierAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected ExternalIdentifier newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new ExternalIdentifierImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.EXTERNAL_IDENTIFIER.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalLinkAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalLinkAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalLinkAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExternalLinkAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.ExternalLink;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.ExternalLinkImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for external links.
+ */
+public class ExternalLinkAccessor extends AbstractROAccessor<ExternalLink> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.EXTERNAL_LINK, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ExternalLinkAccessor theInstance = new ExternalLinkAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private ExternalLinkAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ExternalLinkAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected ExternalLink newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new ExternalLinkImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.EXTERNAL_LINK.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExtrinsicObjectAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExtrinsicObjectAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExtrinsicObjectAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ExtrinsicObjectAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.ExtrinsicObject;
+
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.infomodel.ExtrinsicObjectImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for auditable events.
+ */
+public class ExtrinsicObjectAccessor extends AbstractROAccessor<ExtrinsicObject> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.EXTRINSIC_OBJECT, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ExtrinsicObjectAccessor theInstance = new ExtrinsicObjectAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private ExtrinsicObjectAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ExtrinsicObjectAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected ExtrinsicObject newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new ExtrinsicObjectImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.EXTRINSIC_OBJECT.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/OrganizationAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/OrganizationAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/OrganizationAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/OrganizationAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,78 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.Organization;
+
+import org.apache.labs.jaxmas.registry.infomodel.OrganizationImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for instances of {@link Organization}.
+ */
+public class OrganizationAccessor extends AbstractROAccessor<Organization> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.ORGANIZATION, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final OrganizationAccessor theInstance = new OrganizationAccessor();
+
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private OrganizationAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static OrganizationAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected Organization newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new OrganizationImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.ORGANIZATION.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,88 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.util.Map;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.RegistryObject;
+import javax.xml.registry.infomodel.Slot;
+
+import org.apache.labs.jaxmas.registry.infomodel.ROState;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * A loader for registry objects is used to load a particular
+ * registry objects data from the registry.
+ */
+public interface ROAccessor<RO extends RegistryObject> {
+    /**
+	 * Returns the registry objects type.
+	 */
+	int getRegistryObjectType();
+
+	/**
+	 * Creates a new instance with the given key. The instance has the state
+	 * {@link ROState#loaded}.
+	 */
+	RO create(RegistryService pRegistryService, Key pKey) throws JAXRException;
+	
+	/**
+	 * Creates a new instance with a new, unique key. The instance has the state
+     * {@link ROState#created}.
+	 */
+	RO create(RegistryService pRegistryService) throws JAXRException;
+
+	/**
+	 * Loads the given objects slots.
+	 */
+	Map<String, Slot> getSlots(RegistryService pRegistryService, RO pRegistryObject) throws JAXRException;
+
+	/**
+	 * Saves the given object.
+	 */
+	void save(RegistryService pRegistryService, RegistryObject pObject) throws JAXRException;
+
+	/**
+	 * Creates a new registry object key.
+	 */
+	Key newKey(RegistryService pRegistryService) throws JAXRException;
+
+	/**
+	 * Called to remove an object from the registry.
+	 * @param pRegistryService The registry service.
+	 * @param pRO The registry object to remove.
+	 */
+	void remove(RegistryService pRegistryService, RO pRegistryObject) throws JAXRException;
+
+	/**
+	 * Loads the given objects data from the registry.
+	 */
+    void load(RegistryServiceImpl pRegistryService, RegistryObject pRegistryObject) throws JAXRException;
+
+    /**
+     * Returns a prepared instance of {@link RegistryObjectLoader} for loading
+     * registry objects.
+     */
+    RegistryObjectLoader getRegistryObjectLoader();
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessors.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessors.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessors.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ROAccessors.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,182 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.registry.LifeCycleManager;
+
+
+/**
+ * A utility class, which provides access to instances of
+ * {@link ROAccessor}.
+ */
+public class ROAccessors {
+    /**
+     * The enumeration of available object types.
+     */
+    public enum ObjectTypes {
+        /**
+         * An object type: Classification scheme.
+         */
+        CLASSIFICATION_SCHEME("00000000000000000000000000000011", LifeCycleManager.CLASSIFICATION_SCHEME), //$NON-NLS-1$
+        /**
+         * An object type: Concept.
+         */
+        CONCEPT("00000000000000000000000000000016", LifeCycleManager.CONCEPT), //$NON-NLS-1$
+        /**
+         * An object type: Association.
+         */
+        ASSOCIATION("00000000000000000000000000000003", LifeCycleManager.ASSOCIATION), //$NON-NLS-1$
+        /**
+         * An object type: Classification
+         */
+        CLASSIFICATION("00000000000000000000000000000005", LifeCycleManager.CLASSIFICATION), //$NON-NLS-1$
+        /**
+         * An object type: RegistryEntry
+         */
+        REGISTRY_ENTRY("00000000000000000000000000000009", LifeCycleManager.REGISTRY_ENTRY), //$NON-NLS-1$
+        /**
+         * An object type: Organization
+         */
+        ORGANIZATION("00000000000000000000000000000010", LifeCycleManager.ORGANIZATION), //$NON-NLS-1$
+        /**
+         * An object type: User
+         */
+        USER("00000000000000000000000000000012", LifeCycleManager.USER), //$NON-NLS-1$
+        /**
+         * An object type: ExternalLink
+         */
+        EXTERNAL_LINK("00000000000000000000000000000007", LifeCycleManager.EXTERNAL_LINK), //$NON-NLS-1$
+        /**
+         * An object type: ExternalIdentifier
+         */
+        EXTERNAL_IDENTIFIER("00000000000000000000000000000006", LifeCycleManager.EXTERNAL_IDENTIFIER), //$NON-NLS-1$
+        /**
+         * An object type: AuditableEvent
+         */
+        AUDITABLE_EVENT("00000000000000000000000000000004", LifeCycleManager.AUDITABLE_EVENT), //$NON-NLS-1$
+        /**
+         * An object type: ServiceBinding
+         */
+        SERVICE_BINDING("00000000000000000000000000000029", LifeCycleManager.SERVICE_BINDING), //$NON-NLS-1$
+        /**
+         * An object type: RegistryPackage
+         */
+        REGISTRY_PACKAGE("00000000000000000000000000000031", LifeCycleManager.REGISTRY_PACKAGE), //$NON-NLS-1$
+        /**
+         * An object type: Service
+         */
+        SERVICE("000000000000000000000000000000010", LifeCycleManager.SERVICE), //$NON-NLS-1$
+        /**
+         * An object type: ExtrinsicObject
+         */
+        EXTRINSIC_OBJECT("000000000000000000000000000000010", LifeCycleManager.EXTRINSIC_OBJECT), //$NON-NLS-1$
+        /**
+         * An object type SpecificationLink
+         */
+        SPECIFICATION_LINK("00000000000000000000000000000030", LifeCycleManager.SPECIFICATION_LINK); //$NON-NLS-1$
+
+        private final String id;
+        private final String ifaceName;
+
+        ObjectTypes(String pId, String pInterfaceName) {
+            id = pId;
+            ifaceName = pInterfaceName;
+        }
+
+        /**
+         * Returns the categories UDDI key.
+         */
+        public String getId() {
+            return id;
+        }
+
+        /**
+         * Returns the lifecycle managers interface name for this object type.
+         */
+        public String getInterfaceName() {
+            return ifaceName;
+        }
+    }
+
+    private static final ROAccessor<?>[] roAccessors = new ROAccessor[]{
+        ClassificationSchemeAccessor.getInstance(),
+        ConceptAccessor.getInstance(),
+        AssociationAccessor.getInstance(),
+        ClassificationAccessor.getInstance(),
+        RegistryEntryAccessor.getInstance(),
+        OrganizationAccessor.getInstance(),
+        UserAccessor.getInstance(),
+        ExternalLinkAccessor.getInstance(),
+        ExternalIdentifierAccessor.getInstance(),
+        AuditableEventAccessor.getInstance(),
+        ServiceBindingAccessor.getInstance(),
+        RegistryPackageAccessor.getInstance(),
+        ServiceAccessor.getInstance(),
+        ExtrinsicObjectAccessor.getInstance(),
+        SpecificationLinkAccessor.getInstance()
+    };
+
+    private static final Map<String,ROAccessor<?>> roAccessorsByInterfaceName = new HashMap<String,ROAccessor<?>>();
+    static {
+        for (ObjectTypes type : ROAccessors.ObjectTypes.values()) {
+            final ROAccessor<?> roAcc = roAccessors[type.ordinal()];
+            roAccessorsByInterfaceName.put(type.getInterfaceName(), roAcc);
+        }
+    }
+    
+    /**
+     * Returns a registry object accessor for the given object type.
+     */
+    public static ROAccessor<?> getROAccessor(ObjectTypes pRoType) {
+        return roAccessors[pRoType.ordinal()];
+    }
+
+    /**
+     * Returns a registry object accessor for the interface name.
+     * @see LifeCycleManager
+     * @return Registry object accessor, if available, or null.
+     */
+    public static ROAccessor<?> getROAccessor(String pInterfaceName) {
+        return roAccessorsByInterfaceName.get(pInterfaceName);
+    }
+
+    /**
+     * Returns a registry object accessor for the given object type.
+     */
+    public static ROAccessor<?> getROAccessor(int pRoType) {
+        return roAccessors[pRoType];
+    }
+
+    /**
+     * Returns the registry object accessor for concepts.
+     */
+    public static ConceptAccessor getConceptAccessor() {
+        return (ConceptAccessor) getROAccessor(ObjectTypes.CONCEPT);
+    }
+
+    /**
+     * Returns the registry object accessor for classification schemes.
+     */
+    public static ClassificationSchemeAccessor getClassificationSchemeAccessor() {
+        return (ClassificationSchemeAccessor) getROAccessor(ObjectTypes.CLASSIFICATION_SCHEME);
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryEntryAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryEntryAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryEntryAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryEntryAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,78 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.RegistryEntry;
+
+import org.apache.labs.jaxmas.registry.infomodel.RegistryEntryImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+/**
+ * Implementation of {@link ROAccessor} for registry entries.
+ */
+public class RegistryEntryAccessor extends AbstractROAccessor<RegistryEntry> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.REGISTRY_ENTRY, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final RegistryEntryAccessor theInstance = new RegistryEntryAccessor();
+
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private RegistryEntryAccessor() {
+        // Does nothing.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static RegistryEntryAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.REGISTRY_ENTRY.ordinal();
+    }
+
+    @Override
+    protected RegistryEntry newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new RegistryEntryImpl<RegistryEntry>(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryPackageAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryPackageAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryPackageAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/RegistryPackageAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.RegistryPackage;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.RegistryPackageImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for auditable events.
+ */
+public class RegistryPackageAccessor extends AbstractROAccessor<RegistryPackage> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.REGISTRY_PACKAGE, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final RegistryPackageAccessor theInstance = new RegistryPackageAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private RegistryPackageAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static RegistryPackageAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected RegistryPackage newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new RegistryPackageImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.REGISTRY_PACKAGE.ordinal();
+    }
+}

Added: labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceAccessor.java
URL: http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceAccessor.java?rev=680187&view=auto
==============================================================================
--- labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceAccessor.java (added)
+++ labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/accessor/ServiceAccessor.java Sun Jul 27 14:13:00 2008
@@ -0,0 +1,79 @@
+/**
+ * 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.
+ */
+package org.apache.labs.jaxmas.registry.accessor;
+
+import java.lang.reflect.UndeclaredThrowableException;
+import java.sql.SQLException;
+
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.infomodel.Service;
+import javax.xml.registry.infomodel.Key;
+
+import org.apache.labs.jaxmas.registry.infomodel.ServiceImpl;
+import org.apache.labs.jaxmas.registry.infomodel.RegistryServiceImpl;
+import org.apache.labs.jaxmas.registry.sql.RegistryObjectLoader;
+
+
+
+/**
+ * Implementation of {@link ROAccessor} for auditable events.
+ */
+public class ServiceAccessor extends AbstractROAccessor<Service> {
+    private static final RegistryObjectLoader rol;
+    static {
+        try {
+            rol = new RegistryObjectLoader(ROAccessors.ObjectTypes.SERVICE, null);
+        } catch (JAXRException e) {
+            throw new UndeclaredThrowableException(e);
+        } catch (SQLException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private static final ServiceAccessor theInstance = new ServiceAccessor();
+    
+    /**
+     * Private constructor, to ensure singleton pattern.
+     */
+    private ServiceAccessor() {
+        // Nothing to do.
+    }
+
+    /**
+     * Returns the singleton instance.
+     */
+    public static ServiceAccessor getInstance() {
+        return theInstance;
+    }
+
+    @Override
+    protected Service newInstance(RegistryServiceImpl pRegistryService, Key pKey) throws JAXRException {
+        return new ServiceImpl(pRegistryService, pKey);
+    }
+
+    @Override
+    public RegistryObjectLoader getRegistryObjectLoader() {
+        return rol;
+    }
+
+    @Override
+    public int getRegistryObjectType() {
+        return ROAccessors.ObjectTypes.SERVICE.ordinal();
+    }
+}



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