Subversion Repositories bacoAlunos

Rev

Rev 1814 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
203 jmachado 1
<?xml version="1.0"?>
2
<!DOCTYPE hibernate-mapping
3
        PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
 
6
<hibernate-mapping>
1775 jmachado 7
 
8
    <!-- Layer 1 -->
287 jmachado 9
    <class name="pt.estgp.estgweb.domain.RepositoryFile" table="repositoryfile" abstract="true">
203 jmachado 10
        <meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta>
11
        <meta attribute="scope-class">public abstract</meta>
12
        <id name="id" type="long">
13
            <generator class="native"/>
14
        </id>
15
        <discriminator column="discrimitator"/>
1549 jmachado 16
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
203 jmachado 17
        <property name="saveDate" type="timestamp"/>
18
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" outer-join="true" lazy="proxy"/>
19
        <many-to-one name="lastVersion" class="pt.estgp.estgweb.domain.RepositoryFileVersion" outer-join="true" lazy="false"/>
20
        <property name="accessControl" type="string"/>
1814 jmachado 21
        <property name="sourceModule" type="pt.estgp.estgweb.domain.typesgen.repository.AbstractRepositorySourceModuleEnhancedType">
22
            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgen.repository.AbstractRepositorySourceModuleInterfacePlugin</meta>
23
        </property>
215 jmachado 24
        <property name="deleted" type="boolean" index="deletedIndex"/>
203 jmachado 25
        <set name="repositoryFileVersions" lazy="true" order-by="saveDate desc">
26
            <key column="repositoryFile"/>
27
            <one-to-many class="pt.estgp.estgweb.domain.RepositoryFileVersionImpl"/>
28
        </set>
29
        <subclass name="pt.estgp.estgweb.domain.RepositoryFileImpl" discriminator-value="RepositoryFileImpl"/>
30
    </class>
31
 
287 jmachado 32
    <class name="pt.estgp.estgweb.domain.RepositoryFileVersion" table="repositoryfileversion" abstract="true">
203 jmachado 33
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
34
        <meta attribute="scope-class">public abstract</meta>
35
        <id name="id" type="long">
36
            <generator class="native"/>
37
        </id>
38
        <discriminator column="discrimitator"/>
39
        <property name="saveDate" type="timestamp"/>
40
        <property name="name" type="string"/>
41
        <property name="contentType" type="string"/>
204 jmachado 42
        <property name="extension" type="string"/>
203 jmachado 43
        <property name="size" type="int"/>
44
        <property name="description" type="text"/>
1675 jmachado 45
        <property name="md5checksum" type="string" index="md5checksumIndex"/>
46
        <!--When version already exist we refer here for it in order to avoid duplicate in FileSystem-->
1830 jmachado 47
        <!-- no Servico o metodo de getInputStream vai buscar o real pela verificacao do Md5 e dos Bytes caso seja encontrado-->
48
        <many-to-one name="mirrorRepositoryFileVersion" class="pt.estgp.estgweb.domain.RepositoryFileVersionImpl" outer-join="true" lazy="false" index="mirroredVIndex">
49
            <column name="mirroredFileVersion"/>
50
        </many-to-one>
51
        <set name="mirroredRepositoryFileVersions" lazy="true" order-by="saveDate desc">
52
            <key column="mirroredFileVersion"/>
53
            <one-to-many class="pt.estgp.estgweb.domain.RepositoryFileVersionImpl"/>
54
        </set>
203 jmachado 55
        <many-to-one name="repositoryFile" class="pt.estgp.estgweb.domain.RepositoryFileImpl" outer-join="true" lazy="false"/>
56
        <subclass name="pt.estgp.estgweb.domain.RepositoryFileVersionImpl" discriminator-value="RepositoryFileVersionImpl"/>
57
    </class>
1637 jmachado 58
 
59
 
1775 jmachado 60
 
61
    <!-- Layer 2 Logica do Negocio Repositorio Digital Alto Nivel como é o VFS por exemplo -->
62
 
63
 
1637 jmachado 64
    <class name="pt.estgp.estgweb.domain.RepositoryDocument" table="repositorydocument" abstract="true">
65
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
66
        <meta attribute="scope-class">public abstract</meta>
67
        <id name="id" type="long">
68
            <generator class="native"/>
69
        </id>
70
        <discriminator column="discrimitator"/>
71
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
72
        <property name="saveDate" type="timestamp"/>
73
        <property name="visible" type="boolean"/>
74
        <property name="internalIdentifier" type="string"/>
1725 jmachado 75
        <property name="title" type="string">
76
            <column name="title" sql-type="TEXT"/>
77
        </property>
1670 jmachado 78
        <property name="subtitle" type="string"/>
1637 jmachado 79
        <property name="description" type="string">
80
            <column name="description" sql-type="TEXT"/>
81
        </property>
1766 jmachado 82
        <property name="subject" type="string">
1767 jmachado 83
            <column name="subject" sql-type="TEXT"/>
1766 jmachado 84
        </property>
1670 jmachado 85
        <property name="publisher" type="string"/>
1814 jmachado 86
        <property name="authorsJson" type="pt.estgp.estgweb.domain.typesgen.repositorydocuments.EnhancedDocumentPersons">
87
            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgen.repositorydocuments.DocumentPersons</meta>
1637 jmachado 88
            <column name="authorsJson" sql-type="TEXT"/>
89
        </property>
1814 jmachado 90
        <property name="contributorsJson" type="pt.estgp.estgweb.domain.typesgen.repositorydocuments.EnhancedDocumentPersons">
91
            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgen.repositorydocuments.DocumentPersons</meta>
1637 jmachado 92
            <column name="contributorsJson" sql-type="TEXT"/>
93
        </property>
94
        <property name="publishDate" type="timestamp"/>
95
        <property name="closeDate" type="timestamp"/>
1735 jmachado 96
        <property name="historyEdit" type="string">
97
            <column name="historyEdit" sql-type="TEXT"/>
98
        </property>
1670 jmachado 99
        <many-to-one name="collection" class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" outer-join="true" lazy="false"/>
100
 
1728 jmachado 101
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.User" outer-join="true" lazy="false"/>
102
 
1637 jmachado 103
        <set name="repositoryDocumentFiles" lazy="true" order-by="saveDate desc">
104
            <key column="repositoryDocument"/>
105
            <one-to-many class="pt.estgp.estgweb.domain.RepositoryDocumentFileImpl"/>
106
        </set>
107
        <subclass name="pt.estgp.estgweb.domain.RepositoryDocumentImpl" discriminator-value="RepositoryDocumentImpl"/>
108
    </class>
109
 
1670 jmachado 110
    <class name="pt.estgp.estgweb.domain.RepositoryDocumentCollection" table="repositorydocumentcollection" abstract="true">
111
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
112
        <meta attribute="scope-class">public abstract</meta>
113
        <id name="id" type="long">
114
            <generator class="native"/>
115
        </id>
116
        <discriminator column="discrimitator"/>
117
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
118
        <property name="saveDate" type="timestamp"/>
119
        <property name="visible" type="boolean"/>
1755 jmachado 120
        <property name="sortField" type="string">
121
            <column name="sortField" default="0"/>
122
        </property>
1670 jmachado 123
        <property name="name" type="string"/>
124
        <property name="description" type="string">
125
            <column name="description" sql-type="TEXT"/>
126
        </property>
1675 jmachado 127
        <property name="legacyUrl" type="string"/>
128
        <many-to-one name="parent" class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" outer-join="true" lazy="false"/>
1755 jmachado 129
        <set name="childs" lazy="true" order-by="sortField asc">
1675 jmachado 130
            <key column="parent"/>
131
            <one-to-many class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl"/>
132
        </set>
1728 jmachado 133
        <set name="collectionManagers" table="repositorycollectionmanagers">
134
            <key column="collection_id"/>
1732 jmachado 135
            <many-to-many column="user_id" class="pt.estgp.estgweb.domain.UserImpl"/>
1728 jmachado 136
        </set>
1670 jmachado 137
        <subclass name="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" discriminator-value="RepositoryDocumentCollectionImpl"/>
138
    </class>
139
 
140
 
1637 jmachado 141
    <class name="pt.estgp.estgweb.domain.RepositoryDocumentFile" table="repositorydocumentfile" abstract="true">
142
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
143
        <meta attribute="scope-class">public abstract</meta>
144
        <id name="id" type="long">
145
            <generator class="native"/>
146
        </id>
147
        <discriminator column="discrimitator"/>
148
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
149
        <property name="saveDate" type="timestamp"/>
150
        <property name="visible" type="boolean"/>
1725 jmachado 151
        <property name="title" type="string">
152
            <column name="title" sql-type="TEXT"/>
153
        </property>
1637 jmachado 154
        <property name="description" type="string">
155
            <column name="description" sql-type="TEXT"/>
156
        </property>
1670 jmachado 157
        <property name="repositoryFileProxy"
1814 jmachado 158
                  type="pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.EnhancedRepositoryFileProxy">
159
            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.RepositoryFileProxy</meta>
1670 jmachado 160
            <column name="repositoryStream" sql-type="VARCHAR(255)"/>
161
        </property>
162
        <!--<property name="repositoryStream" type="string" index="repositoryStreamIndex">
163
            <column name="repositoryStream" sql-type="VARCHAR(255)"/>
164
        </property>-->
165
 
1637 jmachado 166
        <subclass name="pt.estgp.estgweb.domain.RepositoryDocumentFileImpl" discriminator-value="RepositoryDocumentFileImpl"/>
167
    </class>
1692 jmachado 168
 
169
    <class name="pt.estgp.estgweb.domain.RepositoryDocumentInterface" table="repositorydocumentinterface" abstract="true">
170
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
171
        <meta attribute="scope-class">public abstract</meta>
172
        <id name="id" type="long">
173
            <generator class="native"/>
174
        </id>
175
        <discriminator column="discrimitator"/>
176
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
177
        <property name="saveDate" type="timestamp"/>
178
        <property name="visible" type="boolean"/>
179
        <property name="slug" type="string"/>
180
        <property name="adminDescription" type="string">
181
            <column name="admin_description" sql-type="TEXT"/>
182
        </property>
1814 jmachado 183
        <property name="repositoryInterface" type="pt.estgp.estgweb.domain.typesgen.repositorydocuments.EnhancedRepositoryInterface">
184
            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgen.repositorydocuments.RepositoryInterface</meta>
1692 jmachado 185
            <column name="repositoryInterfaceJson" sql-type="TEXT"/>
186
        </property>
187
        <subclass name="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" discriminator-value="RepositoryDocumentInterfaceImpl"/>
188
    </class>
203 jmachado 189
</hibernate-mapping>