<?xml version="1.0"?>
<!--

    Aipo is a groupware program developed by Aimluck,Inc.
    Copyright (C) 2004-2011 Aimluck,Inc.
    http://www.aipo.com

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

-->

<mapping>
  <class name="org.apache.jetspeed.om.profile.psml.PsmlPortlets">
    <map-to xml="portlets"/>

    <field name="id" type="java.lang.String">
      <bind-xml name="id" node="attribute"/>
    </field>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="metaInfo"
           type="org.apache.jetspeed.om.profile.psml.PsmlMetaInfo">
      <bind-xml name="metainfo"/>
    </field>

    <field name="security"
           type="org.apache.jetspeed.om.profile.psml.PsmlSecurity">
      <bind-xml name="security"/>
    </field>

    <field name="securityRef" type="org.apache.jetspeed.om.BaseSecurityReference">
      <bind-xml name="security-ref"/>
    </field>

    <field name="skin"
           type="org.apache.jetspeed.om.profile.psml.PsmlSkin">
      <bind-xml name="skin"/>
    </field>

    <field name="layout"
           type="org.apache.jetspeed.om.profile.psml.PsmlLayout">
      <bind-xml name="layout"/>
    </field>

    <field name="control"
           type="org.apache.jetspeed.om.profile.psml.PsmlControl">
      <bind-xml name="control"/>
    </field>

    <field name="controller"
           type="org.apache.jetspeed.om.profile.psml.PsmlController">
      <bind-xml name="controller"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="parameter"/>
    </field>

    <field name="entries"
           type="org.apache.jetspeed.om.profile.psml.PsmlEntry" 
			  collection="vector">
      <bind-xml name="entry"/>
    </field>

    <field name="portlets"
           type="org.apache.jetspeed.om.profile.psml.PsmlPortlets" 
           set-method="addPortlets"
           get-method="getPortlets"
			  collection="vector">
      <bind-xml name="portlets"/>
    </field>

  <field name="references"
         type="org.apache.jetspeed.om.profile.psml.PsmlReference"
         set-method="addReference"
         get-method="getReferences"
         collection="vector">
         <bind-xml name="reference"/>
  </field>
                                   
  </class>


  <class name="org.apache.jetspeed.om.profile.psml.PsmlEntry">
    <map-to xml="entry"/>

    <field name="id" type="java.lang.String">
      <bind-xml name="id" node="attribute"/>
    </field>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="parent" type="java.lang.String">
      <bind-xml name="parent" node="attribute"/>
    </field>

    <field name="metaInfo"
           type="org.apache.jetspeed.om.profile.psml.PsmlMetaInfo">
      <bind-xml name="metainfo"/>
    </field>

    <field name="securityRef" type="org.apache.jetspeed.om.BaseSecurityReference">
      <bind-xml name="security-ref"/>
    </field>
    
    <field name="skin"
           type="org.apache.jetspeed.om.profile.psml.PsmlSkin">
      <bind-xml name="skin"/>
    </field>

    <field name="layout"
           type="org.apache.jetspeed.om.profile.psml.PsmlLayout">
      <bind-xml name="layout"/>
    </field>

    <field name="control"
           type="org.apache.jetspeed.om.profile.psml.PsmlControl">
      <bind-xml name="control"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="parameter"/>
    </field>
                                   
  </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlSecurity">
    <map-to xml="security"/>

    <field name="id" type="java.lang.String">
      <bind-xml name="id" node="attribute"/>
    </field>

 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlParameter">
    <map-to xml="parameter"/>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="value" type="java.lang.String">
      <bind-xml name="value" node="attribute"/>
    </field>
    <field name="securityRef" type="org.apache.jetspeed.om.BaseSecurityReference">
      <bind-xml name="security-ref"/>
    </field>
    
 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlSkin">
    <map-to xml="skin"/>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="state" type="java.lang.String">
      <bind-xml name="state" node="attribute"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="property"/>
    </field>

 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlLayout">
    <map-to xml="layout"/>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="position" type="long">
      <bind-xml name="position" node="attribute"/>
    </field>

    <field name="size" type="long">
      <bind-xml name="size" node="attribute"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="property"/>
    </field>

 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlControl">
    <map-to xml="control"/>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="property"/>
    </field>

 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlController">
    <map-to xml="controller"/>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="parameters"
           type="org.apache.jetspeed.om.profile.psml.PsmlParameter" 
			  collection="vector">
      <bind-xml name="property"/>
    </field>

 </class>

  <class name="org.apache.jetspeed.om.profile.psml.PsmlReference">
    <map-to xml="reference"/>

    <field name="id" type="java.lang.String">
      <bind-xml name="id" node="attribute"/>
    </field>

    <field name="name" type="java.lang.String">
      <bind-xml name="name" node="attribute"/>
    </field>

    <field name="path" type="java.lang.String">
      <bind-xml name="path" node="attribute"/>
    </field>                                   

    <field name="skin"
           type="org.apache.jetspeed.om.profile.psml.PsmlSkin">
      <bind-xml name="skin"/>
    </field>

    <field name="layout"
           type="org.apache.jetspeed.om.profile.psml.PsmlLayout">
      <bind-xml name="layout"/>
    </field>

    <field name="metaInfo"
           type="org.apache.jetspeed.om.profile.psml.PsmlMetaInfo">
      <bind-xml name="metainfo"/>
    </field>

    <field name="securityRef" type="org.apache.jetspeed.om.BaseSecurityReference">
      <bind-xml name="security-ref"/>
    </field>

    <field name="security"
           type="org.apache.jetspeed.om.profile.psml.PsmlSecurity">
      <bind-xml name="security"/>
    </field>
	</class>

  <class name="org.apache.jetspeed.om.BaseSecurityReference">
    <map-to xml="security-ref"/>

    <field name="parent" type="java.lang.String">
      <bind-xml name="parent" node="attribute"/>
    </field>
  
  </class>

</mapping>