<?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.
  -->
<!DOCTYPE jdo PUBLIC
  "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
  "http://java.sun.com/dtd/jdo_2_0.dtd">

<jdo>
  <package name="org.codehaus.plexus.security.user.jdo.v0_9_0">
    <class name="UserDatabase" detachable="true" table="UserDatabase">
      <field name="users">
        <collection element-type="JdoUser" dependent-element="true"/>
        <join/>
      </field>
      <fetch-group name="UserDatabase_detail">
        <field name="users"/>
      </fetch-group>
    </class>
    <class name="JdoUser" detachable="true" table="JdoUser" identity-type="application">
      <field name="username" persistence-modifier="persistent" primary-key="true"/>
      <field name="password">
        <column name="PASSWORD"/>
      </field>
      <field name="encodedPassword"/>
      <field name="fullName"/>
      <field name="email"/>
      <field name="lastPasswordChange"/>
      <field name="lastLoginDate"/>
      <field name="countFailedLoginAttempts"/>
      <field name="locked"/>
      <field name="permanent"/>
      <field name="validated"/>
      <field name="passwordChangeRequired"/>
      <field name="previousEncodedPasswords" default-fetch-group="true">
        <collection element-type="java.lang.String" dependent-element="true"/>
        <join/>
      </field>
      <field name="accountCreationDate"/>
    </class>
    <class name="UserManagementModelloMetadata" detachable="true">
      <field name="modelVersion" null-value="default">
        <column default-value="0.9.0"/>
      </field>
    </class>
  </package>
</jdo>
