first commit of new persistence layer. new model classes
authoridfx <idfx>
Sat, 16 Aug 2003 19:15:26 +0000 (19:15 +0000)
committeridfx <idfx>
Sat, 16 Aug 2003 19:15:26 +0000 (19:15 +0000)
43 files changed:
source/mir/core/model/ArticleType.hbm.xml [new file with mode: 0755]
source/mir/core/model/ArticleType.java [new file with mode: 0755]
source/mir/core/model/Audio.hbm.xml [new file with mode: 0755]
source/mir/core/model/Audio.java [new file with mode: 0755]
source/mir/core/model/Breaking.hbm.xml [new file with mode: 0755]
source/mir/core/model/BreakingNewsItem.java [new file with mode: 0755]
source/mir/core/model/Comment.hbm.xml [new file with mode: 0755]
source/mir/core/model/Comment.java [new file with mode: 0755]
source/mir/core/model/CommentStatus.hbm.xml [new file with mode: 0755]
source/mir/core/model/CommentStatus.java [new file with mode: 0755]
source/mir/core/model/Content.hbm.xml [new file with mode: 0755]
source/mir/core/model/Content.java [new file with mode: 0755]
source/mir/core/model/Feature.hbm.xml [new file with mode: 0755]
source/mir/core/model/Feature.java [new file with mode: 0755]
source/mir/core/model/Image.hbm.xml [new file with mode: 0755]
source/mir/core/model/Image.java [new file with mode: 0755]
source/mir/core/model/ImgColor.hbm.xml [new file with mode: 0755]
source/mir/core/model/ImgFormat.hbm.xml [new file with mode: 0755]
source/mir/core/model/ImgLayout.hbm.xml [new file with mode: 0755]
source/mir/core/model/ImgType.hbm.xml [new file with mode: 0755]
source/mir/core/model/Language.hbm.xml [new file with mode: 0755]
source/mir/core/model/Language.java [new file with mode: 0755]
source/mir/core/model/Media.hbm.xml [new file with mode: 0755]
source/mir/core/model/Media.java [new file with mode: 0755]
source/mir/core/model/MediaFolder.hbm.xml [new file with mode: 0755]
source/mir/core/model/MediaFolder.java [new file with mode: 0755]
source/mir/core/model/MediaType.hbm.xml [new file with mode: 0755]
source/mir/core/model/MediaType.java [new file with mode: 0755]
source/mir/core/model/Message.hbm.xml [new file with mode: 0755]
source/mir/core/model/Message.java [new file with mode: 0755]
source/mir/core/model/MirUser.java [new file with mode: 0755]
source/mir/core/model/OtherMedia.hbm.xml [new file with mode: 0755]
source/mir/core/model/OtherMedia.java [new file with mode: 0755]
source/mir/core/model/Rights.hbm.xml [new file with mode: 0755]
source/mir/core/model/Rights.java [new file with mode: 0755]
source/mir/core/model/Topic.hbm.xml [new file with mode: 0755]
source/mir/core/model/Topic.java [new file with mode: 0755]
source/mir/core/model/UploadedMedia.hbm.xml [new file with mode: 0755]
source/mir/core/model/UploadedMedia.java [new file with mode: 0755]
source/mir/core/model/Video.hbm.xml [new file with mode: 0755]
source/mir/core/model/Video.java [new file with mode: 0755]
source/mir/core/model/WebdbUser.hbm.xml [new file with mode: 0755]
source/mir/core/test/Test.java [new file with mode: 0755]

diff --git a/source/mir/core/model/ArticleType.hbm.xml b/source/mir/core/model/ArticleType.hbm.xml
new file mode 100755 (executable)
index 0000000..d9ca215
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.ArticleType" \r
+    table="article_type"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="40"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/ArticleType.java b/source/mir/core/model/ArticleType.java
new file mode 100755 (executable)
index 0000000..9c5823e
--- /dev/null
@@ -0,0 +1,63 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class ArticleType implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** full constructor */
+    public ArticleType(java.lang.String name) {
+        this.name = name;
+    }
+
+    /** default constructor */
+    public ArticleType() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof ArticleType) ) return false;
+        ArticleType castOther = (ArticleType) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Audio.hbm.xml b/source/mir/core/model/Audio.hbm.xml
new file mode 100755 (executable)
index 0000000..771ccf6
--- /dev/null
@@ -0,0 +1,207 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Audio" \r
+    table="audio"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+       <property\r
+        name="iconIsProduced"\r
+        type="boolean"\r
+        column="icon_is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="iconPath"\r
+        type="java.lang.String"\r
+        column="icon_path"\r
+        length="255"\r
+    />   \r
+    <property\r
+        name="kbits"\r
+        type="short"\r
+        column="kbits"\r
+        length="2"\r
+    />     \r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />\r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Audio.java b/source/mir/core/model/Audio.java
new file mode 100755 (executable)
index 0000000..e9ae164
--- /dev/null
@@ -0,0 +1,31 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Audio extends UploadedMedia implements Serializable {
+
+    /** nullable persistent field */
+    private short kbits;
+
+    /** default constructor */
+    public Audio() {
+    }
+
+    public short getKbits() {
+        return this.kbits;
+    }
+
+    public void setKbits(short kbits) {
+        this.kbits = kbits;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+}
diff --git a/source/mir/core/model/Breaking.hbm.xml b/source/mir/core/model/Breaking.hbm.xml
new file mode 100755 (executable)
index 0000000..8a4d065
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.BreakingNewsItem" \r
+    table="breaking"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="text"\r
+        type="java.lang.String"\r
+        column="text"\r
+        not-null="true"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/BreakingNewsItem.java b/source/mir/core/model/BreakingNewsItem.java
new file mode 100755 (executable)
index 0000000..723d8d6
--- /dev/null
@@ -0,0 +1,75 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class BreakingNewsItem implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String text;
+
+    /** persistent field */
+    private java.util.Date webdbCreate;
+
+    /** full constructor */
+    public BreakingNewsItem(java.lang.String text, java.util.Date webdbCreate) {
+        this.text = text;
+        this.webdbCreate = webdbCreate;
+    }
+
+    /** default constructor */
+    public BreakingNewsItem() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getText() {
+        return this.text;
+    }
+
+    public void setText(java.lang.String text) {
+        this.text = text;
+    }
+
+    public java.util.Date getWebdbCreate() {
+        return this.webdbCreate;
+    }
+
+    public void setWebdbCreate(java.util.Date webdbCreate) {
+        this.webdbCreate = webdbCreate;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof BreakingNewsItem) ) return false;
+        BreakingNewsItem castOther = (BreakingNewsItem) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Comment.hbm.xml b/source/mir/core/model/Comment.hbm.xml
new file mode 100755 (executable)
index 0000000..1385c10
--- /dev/null
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Comment" \r
+    table="comment"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="assigned" />\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        not-null="true"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="mainUrl"\r
+        type="java.lang.String"\r
+        column="main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="email"\r
+        type="java.lang.String"\r
+        column="email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="address"\r
+        type="java.lang.String"\r
+        column="address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="phone"\r
+        type="java.lang.String"\r
+        column="phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="toLanguage"\r
+        type="int"\r
+        column="to_language"\r
+        not-null="true"\r
+        length="4"\r
+    />\r
+    <property\r
+        name="toMedia"\r
+        type="int"\r
+        column="to_media"\r
+        not-null="true"\r
+        length="4"\r
+    />\r
+    <property\r
+        name="toCommentStatus"\r
+        type="short"\r
+        column="to_comment_status"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="checksum"\r
+        type="int"\r
+        column="checksum"\r
+        length="4"\r
+    />\r
+    <property\r
+        name="isHtml"\r
+        type="boolean"\r
+        column="is_html"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Comment.java b/source/mir/core/model/Comment.java
new file mode 100755 (executable)
index 0000000..04d7057
--- /dev/null
@@ -0,0 +1,233 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Comment implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String title;
+
+    /** persistent field */
+    private String creator;
+
+    /** persistent field */
+    private String description;
+
+    /** nullable persistent field */
+    private String mainUrl;
+
+    /** nullable persistent field */
+    private String email;
+
+    /** nullable persistent field */
+    private String address;
+
+    /** nullable persistent field */
+    private String phone;
+
+    /** persistent field */
+    private java.util.Date webdbCreate;
+
+    /** persistent field */
+    private boolean isPublished;
+
+    /** persistent field */
+    private int toLanguage;
+
+    /** persistent field */
+    private int toMedia;
+
+    /** nullable persistent field */
+    private short toCommentStatus;
+
+    /** nullable persistent field */
+    private int checksum;
+
+    /** persistent field */
+    private boolean isHtml;
+
+    /** full constructor */
+    public Comment(java.lang.Integer id, java.lang.String title, java.lang.String creator, java.lang.String description, java.lang.String mainUrl, java.lang.String email, java.lang.String address, java.lang.String phone, java.util.Date webdbCreate, boolean isPublished, int toLanguage, int toMedia, short toCommentStatus, int checksum, boolean isHtml) {
+        this.id = id;
+        this.title = title;
+        this.creator = creator;
+        this.description = description;
+        this.mainUrl = mainUrl;
+        this.email = email;
+        this.address = address;
+        this.phone = phone;
+        this.webdbCreate = webdbCreate;
+        this.isPublished = isPublished;
+        this.toLanguage = toLanguage;
+        this.toMedia = toMedia;
+        this.toCommentStatus = toCommentStatus;
+        this.checksum = checksum;
+        this.isHtml = isHtml;
+    }
+
+    /** default constructor */
+    public Comment() {
+    }
+
+    /** minimal constructor */
+    public Comment(java.lang.Integer id, java.lang.String title, java.lang.String creator, java.lang.String description, java.util.Date webdbCreate, boolean isPublished, int toLanguage, int toMedia, boolean isHtml) {
+        this.id = id;
+        this.title = title;
+        this.creator = creator;
+        this.description = description;
+        this.webdbCreate = webdbCreate;
+        this.isPublished = isPublished;
+        this.toLanguage = toLanguage;
+        this.toMedia = toMedia;
+        this.isHtml = isHtml;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getTitle() {
+        return this.title;
+    }
+
+    public void setTitle(java.lang.String title) {
+        this.title = title;
+    }
+
+    public java.lang.String getCreator() {
+        return this.creator;
+    }
+
+    public void setCreator(java.lang.String creator) {
+        this.creator = creator;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public java.lang.String getMainUrl() {
+        return this.mainUrl;
+    }
+
+    public void setMainUrl(java.lang.String mainUrl) {
+        this.mainUrl = mainUrl;
+    }
+
+    public java.lang.String getEmail() {
+        return this.email;
+    }
+
+    public void setEmail(java.lang.String email) {
+        this.email = email;
+    }
+
+    public java.lang.String getAddress() {
+        return this.address;
+    }
+
+    public void setAddress(java.lang.String address) {
+        this.address = address;
+    }
+
+    public java.lang.String getPhone() {
+        return this.phone;
+    }
+
+    public void setPhone(java.lang.String phone) {
+        this.phone = phone;
+    }
+
+    public java.util.Date getWebdbCreate() {
+        return this.webdbCreate;
+    }
+
+    public void setWebdbCreate(java.util.Date webdbCreate) {
+        this.webdbCreate = webdbCreate;
+    }
+
+    public boolean isIsPublished() {
+        return this.isPublished;
+    }
+
+    public void setIsPublished(boolean isPublished) {
+        this.isPublished = isPublished;
+    }
+
+    public int getToLanguage() {
+        return this.toLanguage;
+    }
+
+    public void setToLanguage(int toLanguage) {
+        this.toLanguage = toLanguage;
+    }
+
+    public int getToMedia() {
+        return this.toMedia;
+    }
+
+    public void setToMedia(int toMedia) {
+        this.toMedia = toMedia;
+    }
+
+    public short getToCommentStatus() {
+        return this.toCommentStatus;
+    }
+
+    public void setToCommentStatus(short toCommentStatus) {
+        this.toCommentStatus = toCommentStatus;
+    }
+
+    public int getChecksum() {
+        return this.checksum;
+    }
+
+    public void setChecksum(int checksum) {
+        this.checksum = checksum;
+    }
+
+    public boolean isIsHtml() {
+        return this.isHtml;
+    }
+
+    public void setIsHtml(boolean isHtml) {
+        this.isHtml = isHtml;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Comment) ) return false;
+        Comment castOther = (Comment) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/CommentStatus.hbm.xml b/source/mir/core/model/CommentStatus.hbm.xml
new file mode 100755 (executable)
index 0000000..9880f02
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.CommentStatus" \r
+    table="comment_status"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="40"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/CommentStatus.java b/source/mir/core/model/CommentStatus.java
new file mode 100755 (executable)
index 0000000..eb28fda
--- /dev/null
@@ -0,0 +1,63 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class CommentStatus implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** full constructor */
+    public CommentStatus(java.lang.String name) {
+        this.name = name;
+    }
+
+    /** default constructor */
+    public CommentStatus() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof CommentStatus) ) return false;
+        CommentStatus castOther = (CommentStatus) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Content.hbm.xml b/source/mir/core/model/Content.hbm.xml
new file mode 100755 (executable)
index 0000000..3f4246f
--- /dev/null
@@ -0,0 +1,342 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Content" \r
+    table="content"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+    <property\r
+       name="isHtml"\r
+       type="boolean"\r
+       column="is_html"\r
+       not-null="true"\r
+               length="1"\r
+       />\r
+    <property\r
+        name="contentData"\r
+        type="java.lang.String"\r
+        column="content_data"\r
+        length="-1"\r
+    />\r
+    <!-- associations -->\r
+       <one-to-one\r
+               name="articleType"\r
+           class="mir.core.model.ArticleType"\r
+           column="to_article_type"\r
+       />\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />\r
+    <set \r
+       name="childContent" \r
+       inverse="true" \r
+       cascade="all">\r
+       <key \r
+               column="to_content"\r
+       />\r
+        <one-to-many \r
+               class="mir.core.model.Content"\r
+        />\r
+    </set>\r
+    <many-to-one\r
+        name="parentContent"\r
+        class="mir.core.model.Content"\r
+        column="to_content"\r
+    />\r
+    <set name="topics" table="content_x_topic">\r
+           <key column="content_id"/>\r
+           <many-to-many column="topic_id" class="mir.core.model.Topic"/>\r
+       </set> \r
+    <set name="attachedMedias" table="content_x_media" lazy="true">\r
+           <key column="content_id"/>\r
+           <many-to-many column="media_id" class="mir.core.model.Media"/>\r
+       </set>\r
+\r
+<!--\r
+    </joined-subclass>   \r
+    <joined-subclass\r
+       table="uploaded_media"\r
+       name="mir.core.model.UploadedMedia">\r
+           <property\r
+               name="iconIsProduced"\r
+               type="boolean"\r
+               column="icon_is_produced"\r
+               not-null="true"\r
+               length="1"\r
+           />\r
+           <property\r
+               name="iconPath"\r
+               type="java.lang.String"\r
+               column="icon_path"\r
+               length="255"\r
+           />\r
+           <property\r
+               name="size"\r
+               type="int"\r
+               column="size"\r
+               length="4"\r
+           />  \r
+                  \r
+           <joined-subclass\r
+               table="images"\r
+               name="mir.core.model.Image">\r
+                   <property\r
+                       name="imageData"\r
+                       type="int"\r
+                       column="image_data"\r
+                       length="4"\r
+                   />\r
+                   <property\r
+                       name="iconData"\r
+                       type="int"\r
+                       column="icon_data"\r
+                       length="4"\r
+                   />\r
+                   <property\r
+                       name="year"\r
+                       type="java.lang.String"\r
+                       column="year"\r
+                       length="40"\r
+                   />\r
+                   <property\r
+                       name="imgWidth"\r
+                       type="short"\r
+                       column="img_width"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="imgHeight"\r
+                       type="short"\r
+                       column="img_height"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="imgFormat"\r
+                       type="short"\r
+                       column="to_img_format"\r
+                       not-null="true"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="imgLayout"\r
+                       type="short"\r
+                       column="to_img_layout"\r
+                       not-null="true"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="imgType"\r
+                       type="short"\r
+                       column="to_img_type"\r
+                       not-null="true"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="imgColor"\r
+                       type="short"\r
+                       column="to_img_color"\r
+                       not-null="true"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="iconWidth"\r
+                       type="short"\r
+                       column="icon_width"\r
+                       length="2"\r
+                   />\r
+                   <property\r
+                       name="iconHeight"\r
+                       type="short"\r
+                       column="icon_height"\r
+                       length="2"\r
+                   />              \r
+           </joined-subclass>\r
+           <joined-subclass\r
+               name="mir.core.model.OtherMedia">                   \r
+           </joined-subclass>      \r
+\r
+           <joined-subclass\r
+               table="audio"\r
+               name="mir.core.model.Audio">\r
+                   <property\r
+                       name="kbits"\r
+                       type="short"\r
+                       column="kbits"\r
+                       length="2"\r
+                   />              \r
+           </joined-subclass>\r
+    </joined-subclass>\r
+    \r
+-->\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Content.java b/source/mir/core/model/Content.java
new file mode 100755 (executable)
index 0000000..1ea213c
--- /dev/null
@@ -0,0 +1,98 @@
+package mir.core.model;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Content extends Media implements Serializable {
+
+    /** persistent field */
+    private boolean isHtml;
+
+    /** nullable persistent field */
+    private String contentData;
+
+    /** persistent field */
+    private ArticleType articleType;
+
+    /** nullable persistent field */
+    private mir.core.model.Content parentContent;
+
+    /** persistent field */
+    private Set childContent;
+
+    /** persistent field */
+    private Set topics;
+
+    /** persistent field */
+    private Set attachedMedias;
+
+    /** default constructor */
+    public Content() {
+    }
+
+    public boolean isIsHtml() {
+        return this.isHtml;
+    }
+
+    public void setIsHtml(boolean isHtml) {
+        this.isHtml = isHtml;
+    }
+
+    public java.lang.String getContentData() {
+        return this.contentData;
+    }
+
+    public void setContentData(java.lang.String contentData) {
+        this.contentData = contentData;
+    }
+
+    public ArticleType getArticleType() {
+        return this.articleType;
+    }
+
+    public void setArticleType(ArticleType articleType) {
+        this.articleType = articleType;
+    }
+
+    public mir.core.model.Content getParentContent() {
+        return this.parentContent;
+    }
+
+    public void setParentContent(mir.core.model.Content parentContent) {
+        this.parentContent = parentContent;
+    }
+
+    public Set getChildContent() {
+        return this.childContent;
+    }
+
+    public void setChildContent(Set childContent) {
+        this.childContent = childContent;
+    }
+
+    public Set getTopics() {
+        return this.topics;
+    }
+
+    public void setTopics(Set topics) {
+        this.topics = topics;
+    }
+
+    public Set getAttachedMedias() {
+        return this.attachedMedias;
+    }
+
+    public void setAttachedMedias(Set attachedMedias) {
+        this.attachedMedias = attachedMedias;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+}
diff --git a/source/mir/core/model/Feature.hbm.xml b/source/mir/core/model/Feature.hbm.xml
new file mode 100755 (executable)
index 0000000..d9d5892
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Feature" \r
+    table="feature"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="filename"\r
+        type="java.lang.String"\r
+        column="filename"\r
+        not-null="true"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="mainUrl"\r
+        type="java.lang.String"\r
+        column="main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Feature.java b/source/mir/core/model/Feature.java
new file mode 100755 (executable)
index 0000000..a6228b9
--- /dev/null
@@ -0,0 +1,118 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Feature implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String title;
+
+    /** nullable persistent field */
+    private String description;
+
+    /** persistent field */
+    private String filename;
+
+    /** nullable persistent field */
+    private String mainUrl;
+
+    /** persistent field */
+    private boolean isPublished;
+
+    /** full constructor */
+    public Feature(java.lang.String title, java.lang.String description, java.lang.String filename, java.lang.String mainUrl, boolean isPublished) {
+        this.title = title;
+        this.description = description;
+        this.filename = filename;
+        this.mainUrl = mainUrl;
+        this.isPublished = isPublished;
+    }
+
+    /** default constructor */
+    public Feature() {
+    }
+
+    /** minimal constructor */
+    public Feature(java.lang.String title, java.lang.String filename, boolean isPublished) {
+        this.title = title;
+        this.filename = filename;
+        this.isPublished = isPublished;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getTitle() {
+        return this.title;
+    }
+
+    public void setTitle(java.lang.String title) {
+        this.title = title;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public java.lang.String getFilename() {
+        return this.filename;
+    }
+
+    public void setFilename(java.lang.String filename) {
+        this.filename = filename;
+    }
+
+    public java.lang.String getMainUrl() {
+        return this.mainUrl;
+    }
+
+    public void setMainUrl(java.lang.String mainUrl) {
+        this.mainUrl = mainUrl;
+    }
+
+    public boolean isIsPublished() {
+        return this.isPublished;
+    }
+
+    public void setIsPublished(boolean isPublished) {
+        this.isPublished = isPublished;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Feature) ) return false;
+        Feature castOther = (Feature) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Image.hbm.xml b/source/mir/core/model/Image.hbm.xml
new file mode 100755 (executable)
index 0000000..b6ca093
--- /dev/null
@@ -0,0 +1,246 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Image" \r
+    table="images"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+\r
+    <property\r
+        name="iconIsProduced"\r
+        type="boolean"\r
+        column="icon_is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    \r
+    <property\r
+        name="iconPath"\r
+        type="java.lang.String"\r
+        column="icon_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="imageData"\r
+        type="int"\r
+        column="image_data"\r
+        length="4"\r
+    />\r
+    <property\r
+        name="iconData"\r
+        type="int"\r
+        column="icon_data"\r
+        length="4"\r
+    />\r
+    <property\r
+        name="year"\r
+        type="java.lang.String"\r
+        column="year"\r
+        length="40"\r
+    />\r
+    <property\r
+        name="imgWidth"\r
+        type="short"\r
+        column="img_width"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="imgHeight"\r
+        type="short"\r
+        column="img_height"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="iconWidth"\r
+        type="short"\r
+        column="icon_width"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="iconHeight"\r
+        type="short"\r
+        column="icon_height"\r
+        length="2"\r
+    />             \r
+    -->\r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />    \r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Image.java b/source/mir/core/model/Image.java
new file mode 100755 (executable)
index 0000000..65c132e
--- /dev/null
@@ -0,0 +1,141 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Image extends UploadedMedia implements Serializable {
+
+    /** nullable persistent field */
+    private int imageData;
+
+    /** nullable persistent field */
+    private int iconData;
+
+    /** nullable persistent field */
+    private String year;
+
+    /** nullable persistent field */
+    private short imgWidth;
+
+    /** nullable persistent field */
+    private short imgHeight;
+
+    /** persistent field */
+    private short imgFormat;
+
+    /** persistent field */
+    private short imgLayout;
+
+    /** persistent field */
+    private short imgType;
+
+    /** persistent field */
+    private short imgColor;
+
+    /** nullable persistent field */
+    private short iconWidth;
+
+    /** nullable persistent field */
+    private short iconHeight;
+
+    /** default constructor */
+    public Image() {
+    }
+
+    public int getImageData() {
+        return this.imageData;
+    }
+
+    public void setImageData(int imageData) {
+        this.imageData = imageData;
+    }
+
+    public int getIconData() {
+        return this.iconData;
+    }
+
+    public void setIconData(int iconData) {
+        this.iconData = iconData;
+    }
+
+    public java.lang.String getYear() {
+        return this.year;
+    }
+
+    public void setYear(java.lang.String year) {
+        this.year = year;
+    }
+
+    public short getImgWidth() {
+        return this.imgWidth;
+    }
+
+    public void setImgWidth(short imgWidth) {
+        this.imgWidth = imgWidth;
+    }
+
+    public short getImgHeight() {
+        return this.imgHeight;
+    }
+
+    public void setImgHeight(short imgHeight) {
+        this.imgHeight = imgHeight;
+    }
+
+    public short getImgFormat() {
+        return this.imgFormat;
+    }
+
+    public void setImgFormat(short imgFormat) {
+        this.imgFormat = imgFormat;
+    }
+
+    public short getImgLayout() {
+        return this.imgLayout;
+    }
+
+    public void setImgLayout(short imgLayout) {
+        this.imgLayout = imgLayout;
+    }
+
+    public short getImgType() {
+        return this.imgType;
+    }
+
+    public void setImgType(short imgType) {
+        this.imgType = imgType;
+    }
+
+    public short getImgColor() {
+        return this.imgColor;
+    }
+
+    public void setImgColor(short imgColor) {
+        this.imgColor = imgColor;
+    }
+
+    public short getIconWidth() {
+        return this.iconWidth;
+    }
+
+    public void setIconWidth(short iconWidth) {
+        this.iconWidth = iconWidth;
+    }
+
+    public short getIconHeight() {
+        return this.iconHeight;
+    }
+
+    public void setIconHeight(short iconHeight) {
+        this.iconHeight = iconHeight;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+}
diff --git a/source/mir/core/model/ImgColor.hbm.xml b/source/mir/core/model/ImgColor.hbm.xml
new file mode 100755 (executable)
index 0000000..b640cac
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="airline.hibernate.ImgColor" \r
+    table="img_color"\r
+>\r
+    <property\r
+        name="id"\r
+        type="short"\r
+        column="id"\r
+        not-null="true"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="30"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/ImgFormat.hbm.xml b/source/mir/core/model/ImgFormat.hbm.xml
new file mode 100755 (executable)
index 0000000..7bd4b7d
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="airline.hibernate.ImgFormat" \r
+    table="img_format"\r
+>\r
+    <property\r
+        name="id"\r
+        type="short"\r
+        column="id"\r
+        not-null="true"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="extension"\r
+        type="java.lang.String"\r
+        column="extension"\r
+        not-null="true"\r
+        length="10"\r
+    />\r
+    <property\r
+        name="mimetype"\r
+        type="java.lang.String"\r
+        column="mimetype"\r
+        not-null="true"\r
+        length="40"\r
+    />\r
+    <property\r
+        name="commment"\r
+        type="java.lang.String"\r
+        column="commment"\r
+        length="255"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/ImgLayout.hbm.xml b/source/mir/core/model/ImgLayout.hbm.xml
new file mode 100755 (executable)
index 0000000..95be7d7
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="airline.hibernate.ImgLayout" \r
+    table="img_layout"\r
+>\r
+    <property\r
+        name="id"\r
+        type="short"\r
+        column="id"\r
+        not-null="true"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="20"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/ImgType.hbm.xml b/source/mir/core/model/ImgType.hbm.xml
new file mode 100755 (executable)
index 0000000..c3f5b71
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="airline.hibernate.ImgType" \r
+    table="img_type"\r
+>\r
+    <property\r
+        name="id"\r
+        type="short"\r
+        column="id"\r
+        not-null="true"\r
+        length="2"\r
+    />\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="30"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Language.hbm.xml b/source/mir/core/model/Language.hbm.xml
new file mode 100755 (executable)
index 0000000..41a8a01
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Language" \r
+    table="language"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="40"\r
+    />\r
+    <property\r
+        name="code"\r
+        type="java.lang.String"\r
+        column="code"\r
+        not-null="true"\r
+        length="2"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Language.java b/source/mir/core/model/Language.java
new file mode 100755 (executable)
index 0000000..dc7f564
--- /dev/null
@@ -0,0 +1,75 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Language implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** persistent field */
+    private String code;
+
+    /** full constructor */
+    public Language(java.lang.String name, java.lang.String code) {
+        this.name = name;
+        this.code = code;
+    }
+
+    /** default constructor */
+    public Language() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public java.lang.String getCode() {
+        return this.code;
+    }
+
+    public void setCode(java.lang.String code) {
+        this.code = code;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Language) ) return false;
+        Language castOther = (Language) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Media.hbm.xml b/source/mir/core/model/Media.hbm.xml
new file mode 100755 (executable)
index 0000000..3fc19c5
--- /dev/null
@@ -0,0 +1,189 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Media" \r
+    table="media"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />\r
+    \r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Media.java b/source/mir/core/model/Media.java
new file mode 100755 (executable)
index 0000000..d85060c
--- /dev/null
@@ -0,0 +1,380 @@
+package mir.core.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Media implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String title;
+
+    /** nullable persistent field */
+    private String subtitle;
+
+    /** nullable persistent field */
+    private String edittitle;
+
+    /** persistent field */
+    private String date;
+
+    /** nullable persistent field */
+    private String creator;
+
+    /** nullable persistent field */
+    private String creatorMainUrl;
+
+    /** nullable persistent field */
+    private String creatorEmail;
+
+    /** nullable persistent field */
+    private String creatorAddress;
+
+    /** nullable persistent field */
+    private String creatorPhone;
+
+    /** nullable persistent field */
+    private String description;
+
+    /** nullable persistent field */
+    private String keywords;
+
+    /** nullable persistent field */
+    private String comment;
+
+    /** nullable persistent field */
+    private String source;
+
+    /** nullable persistent field */
+    private Date publishDate;
+
+    /** nullable persistent field */
+    private String publishServer;
+
+    /** nullable persistent field */
+    private String publishPath;
+
+    /** persistent field */
+    private boolean isPublished;
+
+    /** persistent field */
+    private boolean isProduced;
+
+    /** persistent field */
+    private Date webdbCreate;
+
+    /** nullable persistent field */
+    private Date webdbLastchange;
+
+    /** nullable persistent field */
+    private mir.core.model.Feature feature;
+
+    /** nullable persistent field */
+    private MediaFolder mediaFolder;
+
+    /** nullable persistent field */
+    private MediaType mediaType;
+
+    /** nullable persistent field */
+    private MirUser publisher;
+
+    /** nullable persistent field */
+    private Language language;
+
+    /** nullable persistent field */
+    private Rights rights;
+    
+    private Set content;
+
+    /** default constructor */
+    public Media() {
+    
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getTitle() {
+        return this.title;
+    }
+
+    public void setTitle(java.lang.String title) {
+        this.title = title;
+    }
+
+    public java.lang.String getSubtitle() {
+        return this.subtitle;
+    }
+
+    public void setSubtitle(java.lang.String subtitle) {
+        this.subtitle = subtitle;
+    }
+
+    public java.lang.String getEdittitle() {
+        return this.edittitle;
+    }
+
+    public void setEdittitle(java.lang.String edittitle) {
+        this.edittitle = edittitle;
+    }
+
+    public java.lang.String getDate() {
+        return this.date;
+    }
+
+    public void setDate(java.lang.String date) {
+        this.date = date;
+    }
+
+    public java.lang.String getCreator() {
+        return this.creator;
+    }
+
+    public void setCreator(java.lang.String creator) {
+        this.creator = creator;
+    }
+
+    public java.lang.String getCreatorMainUrl() {
+        return this.creatorMainUrl;
+    }
+
+    public void setCreatorMainUrl(java.lang.String creatorMainUrl) {
+        this.creatorMainUrl = creatorMainUrl;
+    }
+
+    public java.lang.String getCreatorEmail() {
+        return this.creatorEmail;
+    }
+
+    public void setCreatorEmail(java.lang.String creatorEmail) {
+        this.creatorEmail = creatorEmail;
+    }
+
+    public java.lang.String getCreatorAddress() {
+        return this.creatorAddress;
+    }
+
+    public void setCreatorAddress(java.lang.String creatorAddress) {
+        this.creatorAddress = creatorAddress;
+    }
+
+    public java.lang.String getCreatorPhone() {
+        return this.creatorPhone;
+    }
+
+    public void setCreatorPhone(java.lang.String creatorPhone) {
+        this.creatorPhone = creatorPhone;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public java.lang.String getKeywords() {
+        return this.keywords;
+    }
+
+    public void setKeywords(java.lang.String keywords) {
+        this.keywords = keywords;
+    }
+
+    public java.lang.String getComment() {
+        return this.comment;
+    }
+
+    public void setComment(java.lang.String comment) {
+        this.comment = comment;
+    }
+
+    public java.lang.String getSource() {
+        return this.source;
+    }
+
+    public void setSource(java.lang.String source) {
+        this.source = source;
+    }
+
+    public java.util.Date getPublishDate() {
+        return this.publishDate;
+    }
+
+    public void setPublishDate(java.util.Date publishDate) {
+        this.publishDate = publishDate;
+    }
+
+    public java.lang.String getPublishServer() {
+        return this.publishServer;
+    }
+
+    public void setPublishServer(java.lang.String publishServer) {
+        this.publishServer = publishServer;
+    }
+
+    public java.lang.String getPublishPath() {
+        return this.publishPath;
+    }
+
+    public void setPublishPath(java.lang.String publishPath) {
+        this.publishPath = publishPath;
+    }
+
+    public boolean isIsPublished() {
+        return this.isPublished;
+    }
+
+    public void setIsPublished(boolean isPublished) {
+        this.isPublished = isPublished;
+    }
+
+    public boolean isIsProduced() {
+        return this.isProduced;
+    }
+
+    public void setIsProduced(boolean isProduced) {
+        this.isProduced = isProduced;
+    }
+
+    public java.util.Date getWebdbCreate() {
+        return this.webdbCreate;
+    }
+
+    public void setWebdbCreate(java.util.Date webdbCreate) {
+        this.webdbCreate = webdbCreate;
+    }
+
+    public java.util.Date getWebdbLastchange() {
+        return this.webdbLastchange;
+    }
+
+    public void setWebdbLastchange(java.util.Date webdbLastchange) {
+        this.webdbLastchange = webdbLastchange;
+    }
+
+    public mir.core.model.Feature getFeature() {
+        return this.feature;
+    }
+
+    public void setFeature(mir.core.model.Feature feature) {
+        this.feature = feature;
+    }
+
+    public mir.core.model.MediaFolder getMediaFolder() {
+        return this.mediaFolder;
+    }
+
+    public void setMediaFolder(mir.core.model.MediaFolder mediaFolder) {
+        this.mediaFolder = mediaFolder;
+    }
+
+    public mir.core.model.MediaType getMediaType() {
+        return this.mediaType;
+    }
+
+    public void setMediaType(mir.core.model.MediaType mediaType) {
+        this.mediaType = mediaType;
+    }
+
+    public mir.core.model.MirUser getPublisher() {
+        return this.publisher;
+    }
+
+    public void setPublisher(mir.core.model.MirUser publisher) {
+        this.publisher = publisher;
+    }
+
+    public mir.core.model.Language getLanguage() {
+        return this.language;
+    }
+
+    public void setLanguage(mir.core.model.Language language) {
+        this.language = language;
+    }
+
+    public mir.core.model.Rights getRights() {
+        return this.rights;
+    }
+
+    public void setRights(mir.core.model.Rights rights) {
+        this.rights = rights;
+    }
+
+               /**
+                * @return
+                */
+               public Set getContent() {
+                       return content;
+               }
+
+               /**
+                * @param content
+                */
+               public void setContent(Set content) {
+                       this.content = content;
+               }
+
+               /**
+                * @return
+                */
+               public boolean isProduced() {
+                       return isProduced;
+               }
+
+               /**
+                * @param isProduced
+                */
+               public void setProduced(boolean isProduced) {
+                       this.isProduced = isProduced;
+               }
+
+               /**
+                * @return
+                */
+               public boolean isPublished() {
+                       return isPublished;
+               }
+
+               /**
+                * @param isPublished
+                */
+               public void setPublished(boolean isPublished) {
+                       this.isPublished = isPublished;
+               }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Media) ) return false;
+        Media castOther = (Media) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/MediaFolder.hbm.xml b/source/mir/core/model/MediaFolder.hbm.xml
new file mode 100755 (executable)
index 0000000..5751998
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.MediaFolder" \r
+    table="media_folder"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="place"\r
+        type="java.lang.String"\r
+        column="place"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/MediaFolder.java b/source/mir/core/model/MediaFolder.java
new file mode 100755 (executable)
index 0000000..0a1dfa0
--- /dev/null
@@ -0,0 +1,142 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class MediaFolder implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** persistent field */
+    private String date;
+
+    /** nullable persistent field */
+    private String place;
+
+    /** nullable persistent field */
+    private String keywords;
+
+    /** nullable persistent field */
+    private String comment;
+
+    /** persistent field */
+    private java.util.Date webdbCreate;
+
+    /** nullable persistent field */
+    private java.util.Date webdbLastchange;
+
+    /** full constructor */
+    public MediaFolder(java.lang.String name, java.lang.String date, java.lang.String place, java.lang.String keywords, java.lang.String comment, java.util.Date webdbCreate, java.util.Date webdbLastchange) {
+        this.name = name;
+        this.date = date;
+        this.place = place;
+        this.keywords = keywords;
+        this.comment = comment;
+        this.webdbCreate = webdbCreate;
+        this.webdbLastchange = webdbLastchange;
+    }
+
+    /** default constructor */
+    public MediaFolder() {
+    }
+
+    /** minimal constructor */
+    public MediaFolder(java.lang.String name, java.lang.String date, java.util.Date webdbCreate) {
+        this.name = name;
+        this.date = date;
+        this.webdbCreate = webdbCreate;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public java.lang.String getDate() {
+        return this.date;
+    }
+
+    public void setDate(java.lang.String date) {
+        this.date = date;
+    }
+
+    public java.lang.String getPlace() {
+        return this.place;
+    }
+
+    public void setPlace(java.lang.String place) {
+        this.place = place;
+    }
+
+    public java.lang.String getKeywords() {
+        return this.keywords;
+    }
+
+    public void setKeywords(java.lang.String keywords) {
+        this.keywords = keywords;
+    }
+
+    public java.lang.String getComment() {
+        return this.comment;
+    }
+
+    public void setComment(java.lang.String comment) {
+        this.comment = comment;
+    }
+
+    public java.util.Date getWebdbCreate() {
+        return this.webdbCreate;
+    }
+
+    public void setWebdbCreate(java.util.Date webdbCreate) {
+        this.webdbCreate = webdbCreate;
+    }
+
+    public java.util.Date getWebdbLastchange() {
+        return this.webdbLastchange;
+    }
+
+    public void setWebdbLastchange(java.util.Date webdbLastchange) {
+        this.webdbLastchange = webdbLastchange;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof MediaFolder) ) return false;
+        MediaFolder castOther = (MediaFolder) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/MediaType.hbm.xml b/source/mir/core/model/MediaType.hbm.xml
new file mode 100755 (executable)
index 0000000..7f5795e
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.MediaType" \r
+    table="media_type"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="mimeType"\r
+        type="java.lang.String"\r
+        column="mime_type"\r
+        not-null="true"\r
+        length="40"\r
+    />\r
+    <property\r
+        name="classname"\r
+        type="java.lang.String"\r
+        column="classname"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="tablename"\r
+        type="java.lang.String"\r
+        column="tablename"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="dcname"\r
+        type="java.lang.String"\r
+        column="dcname"\r
+        length="20"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/MediaType.java b/source/mir/core/model/MediaType.java
new file mode 100755 (executable)
index 0000000..98f7d40
--- /dev/null
@@ -0,0 +1,119 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class MediaType implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** persistent field */
+    private String mimeType;
+
+    /** persistent field */
+    private String classname;
+
+    /** persistent field */
+    private String tablename;
+
+    /** nullable persistent field */
+    private String dcname;
+
+    /** full constructor */
+    public MediaType(java.lang.String name, java.lang.String mimeType, java.lang.String classname, java.lang.String tablename, java.lang.String dcname) {
+        this.name = name;
+        this.mimeType = mimeType;
+        this.classname = classname;
+        this.tablename = tablename;
+        this.dcname = dcname;
+    }
+
+    /** default constructor */
+    public MediaType() {
+    }
+
+    /** minimal constructor */
+    public MediaType(java.lang.String name, java.lang.String mimeType, java.lang.String classname, java.lang.String tablename) {
+        this.name = name;
+        this.mimeType = mimeType;
+        this.classname = classname;
+        this.tablename = tablename;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public java.lang.String getMimeType() {
+        return this.mimeType;
+    }
+
+    public void setMimeType(java.lang.String mimeType) {
+        this.mimeType = mimeType;
+    }
+
+    public java.lang.String getClassname() {
+        return this.classname;
+    }
+
+    public void setClassname(java.lang.String classname) {
+        this.classname = classname;
+    }
+
+    public java.lang.String getTablename() {
+        return this.tablename;
+    }
+
+    public void setTablename(java.lang.String tablename) {
+        this.tablename = tablename;
+    }
+
+    public java.lang.String getDcname() {
+        return this.dcname;
+    }
+
+    public void setDcname(java.lang.String dcname) {
+        this.dcname = dcname;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof MediaType) ) return false;
+        MediaType castOther = (MediaType) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Message.hbm.xml b/source/mir/core/model/Message.hbm.xml
new file mode 100755 (executable)
index 0000000..5675290
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Message" \r
+    table="messages"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        not-null="true"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        not-null="true"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Message.java b/source/mir/core/model/Message.java
new file mode 100755 (executable)
index 0000000..893864f
--- /dev/null
@@ -0,0 +1,106 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Message implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** nullable persistent field */
+    private String title;
+
+    /** persistent field */
+    private String description;
+
+    /** persistent field */
+    private String creator;
+
+    /** persistent field */
+    private java.util.Date webdbCreate;
+
+    /** full constructor */
+    public Message(java.lang.String title, java.lang.String description, java.lang.String creator, java.util.Date webdbCreate) {
+        this.title = title;
+        this.description = description;
+        this.creator = creator;
+        this.webdbCreate = webdbCreate;
+    }
+
+    /** default constructor */
+    public Message() {
+    }
+
+    /** minimal constructor */
+    public Message(java.lang.String description, java.lang.String creator, java.util.Date webdbCreate) {
+        this.description = description;
+        this.creator = creator;
+        this.webdbCreate = webdbCreate;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getTitle() {
+        return this.title;
+    }
+
+    public void setTitle(java.lang.String title) {
+        this.title = title;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public java.lang.String getCreator() {
+        return this.creator;
+    }
+
+    public void setCreator(java.lang.String creator) {
+        this.creator = creator;
+    }
+
+    public java.util.Date getWebdbCreate() {
+        return this.webdbCreate;
+    }
+
+    public void setWebdbCreate(java.util.Date webdbCreate) {
+        this.webdbCreate = webdbCreate;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Message) ) return false;
+        Message castOther = (Message) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/MirUser.java b/source/mir/core/model/MirUser.java
new file mode 100755 (executable)
index 0000000..40b7a54
--- /dev/null
@@ -0,0 +1,87 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class MirUser implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String login;
+
+    /** persistent field */
+    private String password;
+
+    /** persistent field */
+    private boolean isAdmin;
+
+    /** full constructor */
+    public MirUser(java.lang.String login, java.lang.String password, boolean isAdmin) {
+        this.login = login;
+        this.password = password;
+        this.isAdmin = isAdmin;
+    }
+
+    /** default constructor */
+    public MirUser() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getLogin() {
+        return this.login;
+    }
+
+    public void setLogin(java.lang.String login) {
+        this.login = login;
+    }
+
+    public java.lang.String getPassword() {
+        return this.password;
+    }
+
+    public void setPassword(java.lang.String password) {
+        this.password = password;
+    }
+
+    public boolean isIsAdmin() {
+        return this.isAdmin;
+    }
+
+    public void setIsAdmin(boolean isAdmin) {
+        this.isAdmin = isAdmin;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof MirUser) ) return false;
+        MirUser castOther = (MirUser) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/OtherMedia.hbm.xml b/source/mir/core/model/OtherMedia.hbm.xml
new file mode 100755 (executable)
index 0000000..b1321f9
--- /dev/null
@@ -0,0 +1,208 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.OtherMedia" \r
+    table="other_media"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />\r
+       <property\r
+        name="iconIsProduced"\r
+        type="boolean"\r
+        column="icon_is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="iconPath"\r
+        type="java.lang.String"\r
+        column="icon_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="size"\r
+        type="int"\r
+        column="size"\r
+        length="4"\r
+    />\r
+    \r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/OtherMedia.java b/source/mir/core/model/OtherMedia.java
new file mode 100755 (executable)
index 0000000..9b77bd5
--- /dev/null
@@ -0,0 +1,20 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class OtherMedia extends UploadedMedia implements Serializable {
+
+    /** default constructor */
+    public OtherMedia() {
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+}
diff --git a/source/mir/core/model/Rights.hbm.xml b/source/mir/core/model/Rights.hbm.xml
new file mode 100755 (executable)
index 0000000..4b5307d
--- /dev/null
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Rights" \r
+    table="rights"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="name"\r
+        type="java.lang.String"\r
+        column="name"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Rights.java b/source/mir/core/model/Rights.java
new file mode 100755 (executable)
index 0000000..8f62fab
--- /dev/null
@@ -0,0 +1,80 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Rights implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String name;
+
+    /** nullable persistent field */
+    private String description;
+
+    /** full constructor */
+    public Rights(java.lang.String name, java.lang.String description) {
+        this.name = name;
+        this.description = description;
+    }
+
+    /** default constructor */
+    public Rights() {
+    }
+
+    /** minimal constructor */
+    public Rights(java.lang.String name) {
+        this.name = name;
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getName() {
+        return this.name;
+    }
+
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Rights) ) return false;
+        Rights castOther = (Rights) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/Topic.hbm.xml b/source/mir/core/model/Topic.hbm.xml
new file mode 100755 (executable)
index 0000000..b859757
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Topic" \r
+    table="topic"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="filename"\r
+        type="java.lang.String"\r
+        column="filename"\r
+        not-null="true"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="mainUrl"\r
+        type="java.lang.String"\r
+        column="main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="archivUrl"\r
+        type="java.lang.String"\r
+        column="archiv_url"\r
+        length="255"\r
+    />\r
+\r
+    <!-- associations -->\r
+    <set name="content" table="content_x_topic">\r
+           <key column="topic_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set> \r
+       \r
+       <!--\r
+    <set \r
+       name="childTopics"> \r
+       inverse="true" \r
+       cascade="all">\r
+       <key \r
+               column="parent_id"\r
+       />\r
+        <one-to-many \r
+               class="mir.core.model.Topic"\r
+        />\r
+    </set>\r
+    <many-to-one \r
+       name="parentTopic" \r
+       column="parent_id" \r
+       class="mir.core.model.Topic"\r
+    />\r
+    -->\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Topic.java b/source/mir/core/model/Topic.java
new file mode 100755 (executable)
index 0000000..3af85b0
--- /dev/null
@@ -0,0 +1,130 @@
+package mir.core.model;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class Topic implements Serializable {
+
+    /** identifier field */
+    private Integer id;
+
+    /** persistent field */
+    private String title;
+
+    /** nullable persistent field */
+    private String description;
+
+    /** persistent field */
+    private String filename;
+
+    /** nullable persistent field */
+    private String mainUrl;
+
+    /** nullable persistent field */
+    private String archivUrl;
+
+    /** nullable persistent field */
+    private mir.core.model.Topic parentTopic;
+    
+    private Set content;
+
+    /** default constructor */
+    public Topic() {
+    }
+
+    public java.lang.Integer getId() {
+        return this.id;
+    }
+
+    public void setId(java.lang.Integer id) {
+        this.id = id;
+    }
+
+    public java.lang.String getTitle() {
+        return this.title;
+    }
+
+    public void setTitle(java.lang.String title) {
+        this.title = title;
+    }
+
+    public java.lang.String getDescription() {
+        return this.description;
+    }
+
+    public void setDescription(java.lang.String description) {
+        this.description = description;
+    }
+
+    public java.lang.String getFilename() {
+        return this.filename;
+    }
+
+    public void setFilename(java.lang.String filename) {
+        this.filename = filename;
+    }
+
+    public java.lang.String getMainUrl() {
+        return this.mainUrl;
+    }
+
+    public void setMainUrl(java.lang.String mainUrl) {
+        this.mainUrl = mainUrl;
+    }
+
+    public java.lang.String getArchivUrl() {
+        return this.archivUrl;
+    }
+
+    public void setArchivUrl(java.lang.String archivUrl) {
+        this.archivUrl = archivUrl;
+    }
+
+    public mir.core.model.Topic getParentTopic() {
+        return this.parentTopic;
+    }
+
+    public void setParentTopic(mir.core.model.Topic parentTopic) {
+        this.parentTopic = parentTopic;
+    }
+
+               /**
+                * @return
+                */
+               public Set getContent() {
+                       return content;
+               }
+
+               /**
+                * @param content
+                */
+               public void setContent(Set content) {
+                       this.content = content;
+               }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+    public boolean equals(Object other) {
+        if ( !(other instanceof Topic) ) return false;
+        Topic castOther = (Topic) other;
+        return new EqualsBuilder()
+            .append(this.getId(), castOther.getId())
+            .isEquals();
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+            .append(getId())
+            .toHashCode();
+    }
+
+}
diff --git a/source/mir/core/model/UploadedMedia.hbm.xml b/source/mir/core/model/UploadedMedia.hbm.xml
new file mode 100755 (executable)
index 0000000..aaf6047
--- /dev/null
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.UploadedMedia" \r
+    table="uploaded_media"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+       <property\r
+        name="iconIsProduced"\r
+        type="boolean"\r
+        column="icon_is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="iconPath"\r
+        type="java.lang.String"\r
+        column="icon_path"\r
+        length="255"\r
+    />\r
+    \r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />    \r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/UploadedMedia.java b/source/mir/core/model/UploadedMedia.java
new file mode 100755 (executable)
index 0000000..a5357ac
--- /dev/null
@@ -0,0 +1,42 @@
+package mir.core.model;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+/** @author Hibernate CodeGenerator */
+public class UploadedMedia extends Media implements Serializable {
+
+    /** persistent field */
+    private boolean iconIsProduced;
+
+    /** nullable persistent field */
+    private String iconPath;
+
+    /** default constructor */
+    public UploadedMedia() {
+    }
+
+               public boolean isIconIsProduced() {
+        return this.iconIsProduced;
+    }
+
+    public void setIconIsProduced(boolean iconIsProduced) {
+        this.iconIsProduced = iconIsProduced;
+    }
+
+    public java.lang.String getIconPath() {
+        return this.iconPath;
+    }
+
+    public void setIconPath(java.lang.String iconPath) {
+        this.iconPath = iconPath;
+    }
+
+    public String toString() {
+        return new ToStringBuilder(this)
+            .append("id", getId())
+            .toString();
+    }
+
+}
diff --git a/source/mir/core/model/Video.hbm.xml b/source/mir/core/model/Video.hbm.xml
new file mode 100755 (executable)
index 0000000..045ce7b
--- /dev/null
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.Video" \r
+    table="video"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+       <generator class="sequence"/>\r
+    </id>\r
+    <property\r
+        name="title"\r
+        type="java.lang.String"\r
+        column="title"\r
+        not-null="true"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="subtitle"\r
+        type="java.lang.String"\r
+        column="subtitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="edittitle"\r
+        type="java.lang.String"\r
+        column="edittitle"\r
+        length="30"\r
+    />\r
+    <property\r
+        name="date"\r
+        type="java.lang.String"\r
+        column="date"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="creator"\r
+        type="java.lang.String"\r
+        column="creator"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorMainUrl"\r
+        type="java.lang.String"\r
+        column="creator_main_url"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="creatorEmail"\r
+        type="java.lang.String"\r
+        column="creator_email"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorAddress"\r
+        type="java.lang.String"\r
+        column="creator_address"\r
+        length="80"\r
+    />\r
+    <property\r
+        name="creatorPhone"\r
+        type="java.lang.String"\r
+        column="creator_phone"\r
+        length="20"\r
+    />\r
+    <property\r
+        name="description"\r
+        type="java.lang.String"\r
+        column="description"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="keywords"\r
+        type="java.lang.String"\r
+        column="keywords"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="comment"\r
+        type="java.lang.String"\r
+        column="comment"\r
+        length="-1"\r
+    />\r
+    <property\r
+        name="source"\r
+        type="java.lang.String"\r
+        column="source"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishDate"\r
+        type="java.sql.Timestamp"\r
+        column="publish_date"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="publishServer"\r
+        type="java.lang.String"\r
+        column="publish_server"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="publishPath"\r
+        type="java.lang.String"\r
+        column="publish_path"\r
+        length="255"\r
+    />\r
+    <property\r
+        name="isPublished"\r
+        type="boolean"\r
+        column="is_published"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="isProduced"\r
+        type="boolean"\r
+        column="is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="webdbCreate"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_create"\r
+        not-null="true"\r
+        length="8"\r
+    />\r
+    <property\r
+        name="webdbLastchange"\r
+        type="java.sql.Timestamp"\r
+        column="webdb_lastchange"\r
+        length="8"\r
+    />\r
+       <property\r
+        name="iconIsProduced"\r
+        type="boolean"\r
+        column="icon_is_produced"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+    <property\r
+        name="iconPath"\r
+        type="java.lang.String"\r
+        column="icon_path"\r
+        length="255"\r
+    />\r
+    \r
+    <!-- associations -->\r
+    <one-to-one\r
+        name="feature"\r
+        class="mir.core.model.Feature"\r
+        column="to_feature"\r
+    />\r
+    <one-to-one\r
+        name="mediaFolder"\r
+        class="mir.core.model.MediaFolder"\r
+        column="to_media_folder"\r
+    />\r
+    <one-to-one\r
+        name="mediaType"\r
+        class="mir.core.model.MediaType"\r
+        column="to_media_type"\r
+    />\r
+    <one-to-one\r
+        name="publisher"\r
+        class="mir.core.model.MirUser"\r
+        column="to_publisher"\r
+    />\r
+    <one-to-one\r
+        name="language"\r
+        class="mir.core.model.Language"\r
+        column="to_language"\r
+    />\r
+    <one-to-one\r
+        name="rights"\r
+        class="mir.core.model.Rights"\r
+        column="to_rights"\r
+    />    \r
+    <set name="content" table="content_x_media" lazy="true">\r
+           <key column="media_id"/>\r
+           <many-to-many column="content_id" class="mir.core.model.Content"/>\r
+       </set>\r
+    \r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/model/Video.java b/source/mir/core/model/Video.java
new file mode 100755 (executable)
index 0000000..5678218
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Video.java
+ * 
+ * Copyright (C) 2001, 2002, 2003 The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with  any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two.  You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries.  If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
+ */
+package mir.core.model;
+
+/**
+ * Video
+ * @version $Id: Video.java,v 1.1 2003/08/16 19:15:26 idfx Exp $
+ * @author idefix
+ */
+public class Video extends UploadedMedia {
+
+}
diff --git a/source/mir/core/model/WebdbUser.hbm.xml b/source/mir/core/model/WebdbUser.hbm.xml
new file mode 100755 (executable)
index 0000000..853539a
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+    "-//Hibernate/Hibernate Mapping DTD//EN"\r
+    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >\r
+    \r
+<hibernate-mapping>\r
+\r
+<!-- \r
+    Created by Middlegen Hibernate plugin\r
+\r
+    http://boss.bekk.no/boss/middlegen/\r
+    http://hibernate.sourceforge.net/\r
+-->\r
+\r
+<class \r
+    name="mir.core.model.MirUser" \r
+    table="webdb_users"\r
+>\r
+    <id\r
+        name="id"\r
+        type="int"\r
+        column="id"\r
+    >\r
+        <generator class="sequence" />\r
+    </id>\r
+    <property\r
+        name="login"\r
+        type="java.lang.String"\r
+        column="login"\r
+        not-null="true"\r
+        length="16"\r
+    />\r
+    <property\r
+        name="password"\r
+        type="java.lang.String"\r
+        column="password"\r
+        not-null="true"\r
+        length="16"\r
+    />\r
+    <property\r
+        name="isAdmin"\r
+        type="boolean"\r
+        column="is_admin"\r
+        not-null="true"\r
+        length="1"\r
+    />\r
+\r
+    <!-- associations -->\r
+\r
+</class>\r
+</hibernate-mapping>\r
diff --git a/source/mir/core/test/Test.java b/source/mir/core/test/Test.java
new file mode 100755 (executable)
index 0000000..775299f
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * Test.java
+ * 
+ * Copyright (C) 2001, 2002, 2003 The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with  any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two.  You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries.  If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
+ */
+package mir.core.test;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.log4j.BasicConfigurator;
+
+import mir.core.model.Audio;
+import mir.core.model.Content;
+import mir.core.model.Image;
+import mir.core.model.Media;
+import mir.core.model.Topic;
+import mir.core.model.UploadedMedia;
+import mir.core.model.Video;
+import net.sf.hibernate.Criteria;
+import net.sf.hibernate.HibernateException;
+import net.sf.hibernate.Session;
+import net.sf.hibernate.SessionFactory;
+import net.sf.hibernate.Transaction;
+import net.sf.hibernate.cfg.Configuration;
+
+/**
+ * Test
+ * @version $Id: Test.java,v 1.1 2003/08/16 19:15:27 idfx Exp $
+ * @author idefix
+ */
+public class Test {
+
+       public static void main(String[] args) {
+               //BasicConfigurator.configure();
+               try {
+                       SessionFactory factory = new Configuration().configure().buildSessionFactory();
+                       Session session = factory.openSession();
+                       Transaction transaction = session.beginTransaction();
+                       Criteria criteria = session.createCriteria(Topic.class);
+                       List list = criteria.setMaxResults(10).list();
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Topic media = (Topic)iterator.next();
+                               System.out.println(media.toString());
+                       }
+                       criteria = session.createCriteria(Media.class);
+                       list = criteria.setMaxResults(10).list();
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Media media = (Media)iterator.next();
+                               System.out.println(media.toString());
+                       }
+                       criteria = session.createCriteria(Content.class);
+                       list = criteria.setMaxResults(10).list();
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Content media = (Content)iterator.next();
+                               System.out.println(media.getTitle());
+                       }
+                       criteria = session.createCriteria(UploadedMedia.class);
+                       list = criteria.setMaxResults(10).list();
+                       System.out.println("****** uploaded media");
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               UploadedMedia media = (UploadedMedia)iterator.next();
+                               System.out.println(media.toString() + media.getIconPath());
+                       }
+                       criteria = session.createCriteria(Image.class);
+                       list = criteria.setMaxResults(10).list();
+                       System.out.println("****** image media");
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Image media = (Image)iterator.next();
+                               System.out.println(media.toString() + media.getIconPath());
+                       }
+                       criteria = session.createCriteria(Audio.class);
+                       list = criteria.setMaxResults(10).list();
+                       System.out.println("****** audio media");
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Audio media = (Audio)iterator.next();
+                               System.out.println(media.toString() + media.getIconPath());
+                       }
+                       criteria = session.createCriteria(Video.class);
+                       list = criteria.setMaxResults(10).list();
+                       System.out.println("****** video media");
+                       for(Iterator iterator = list.iterator(); iterator.hasNext();){
+                               Video media = (Video)iterator.next();
+                               System.out.println(media.toString() + media.getIconPath());
+                       }
+                       transaction.commit();
+                       session.close();
+               } catch (HibernateException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+       }
+}