Index: lams_contentrepository/build.xml =================================================================== diff -u -r580afc09c4d2620bbd40d0763340e29999ee62d6 -r0a2c5ee66a400c541950f989059eec858b321ac5 --- lams_contentrepository/build.xml (.../build.xml) (revision 580afc09c4d2620bbd40d0763340e29999ee62d6) +++ lams_contentrepository/build.xml (.../build.xml) (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -39,7 +39,7 @@ - + @@ -81,6 +81,8 @@ + + - -
-
-
-
-
+ + + + + + - + + Index: lams_contentrepository/conf/hibernate/mappings/com/lamsinternational/lams/contentrepository/CrNode.hbm.xml =================================================================== diff -u -r3f80f42891cd062d8d769854a57e7efeec02eb2a -r0a2c5ee66a400c541950f989059eec858b321ac5 --- lams_contentrepository/conf/hibernate/mappings/com/lamsinternational/lams/contentrepository/CrNode.hbm.xml (.../CrNode.hbm.xml) (revision 3f80f42891cd062d8d769854a57e7efeec02eb2a) +++ lams_contentrepository/conf/hibernate/mappings/com/lamsinternational/lams/contentrepository/CrNode.hbm.xml (.../CrNode.hbm.xml) (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -44,7 +44,6 @@ name="path" type="java.lang.String" column="path" - not-null="true" length="255" > true @@ -53,9 +52,38 @@ @hibernate.property column="path" length="255" + + + + true + true + + @hibernate.property + column="type" + length="255" not-null="true" + + true + true + + @hibernate.property + column="created_date_time" + length="14" + + @@ -73,13 +101,13 @@ cascade="none" @hibernate.collection-key - column="parent_node_id" + column="node_id" @hibernate.collection-one-to-many class="com.lamsinternational.lams.contentrepository.CrNodeVersion" - + - true - true - - @hibernate.property - column="node_id" - length="20" - not-null="true" - - - - - true - true - - @hibernate.property - column="parent_version_id" - length="20" - - true @hibernate.many-to-one not-null="true" - @hibernate.column name="parent_node_id" + @hibernate.column name="node_id" - + + + + + true + + @hibernate.many-to-one + not-null="true" + @hibernate.column name="parent_nv_id" + + + true + IValue true true @hibernate.property - column="value_type" + column="type" length="3" not-null="true" Index: lams_contentrepository/conf/middlegen/learningdesign-prefs.properties =================================================================== diff -u -r580afc09c4d2620bbd40d0763340e29999ee62d6 -r0a2c5ee66a400c541950f989059eec858b321ac5 --- lams_contentrepository/conf/middlegen/learningdesign-prefs.properties (.../learningdesign-prefs.properties) (revision 580afc09c4d2620bbd40d0763340e29999ee62d6) +++ lams_contentrepository/conf/middlegen/learningdesign-prefs.properties (.../learningdesign-prefs.properties) (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -19,6 +19,11 @@ hibernate.tables.lams_cr_credential.equalshashcode=true hibernate.tables.lams_cr_credential.keygenerator=identity hibernate.tables.lams_cr_node.base-class-name=CrNode +hibernate.tables.lams_cr_node.columns.created_date_time.columnspecialty=property +hibernate.tables.lams_cr_node.columns.created_date_time.incequals=true +hibernate.tables.lams_cr_node.columns.created_date_time.inctostring=true +hibernate.tables.lams_cr_node.columns.created_date_time.java-name=createdDateTime +hibernate.tables.lams_cr_node.columns.created_date_time.java-type=java.sql.Timestamp hibernate.tables.lams_cr_node.columns.node_id.columnspecialty=key hibernate.tables.lams_cr_node.columns.node_id.incequals=true hibernate.tables.lams_cr_node.columns.node_id.inctostring=true @@ -29,6 +34,11 @@ hibernate.tables.lams_cr_node.columns.path.inctostring=true hibernate.tables.lams_cr_node.columns.path.java-name=path hibernate.tables.lams_cr_node.columns.path.java-type=java.lang.String +hibernate.tables.lams_cr_node.columns.type.columnspecialty=property +hibernate.tables.lams_cr_node.columns.type.incequals=true +hibernate.tables.lams_cr_node.columns.type.inctostring=true +hibernate.tables.lams_cr_node.columns.type.java-name=type +hibernate.tables.lams_cr_node.columns.type.java-type=java.lang.String hibernate.tables.lams_cr_node.columns.workspace_id.columnspecialty=foreign key hibernate.tables.lams_cr_node.columns.workspace_id.incequals=true hibernate.tables.lams_cr_node.columns.workspace_id.inctostring=true @@ -62,6 +72,12 @@ hibernate.tables.lams_cr_node_version.columns.parent_node_id.inctostring=true hibernate.tables.lams_cr_node_version.columns.parent_node_id.java-name=parentNodeId hibernate.tables.lams_cr_node_version.columns.parent_node_id.java-type=java.lang.Long +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.columnspecialty=foreign key +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.description=nv id from parent entry in the same table +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.incequals=true +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.inctostring=true +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.java-name=parentNvId +hibernate.tables.lams_cr_node_version.columns.parent_nv_id.java-type=java.lang.Long hibernate.tables.lams_cr_node_version.columns.parent_version_id.columnspecialty=property hibernate.tables.lams_cr_node_version.columns.parent_version_id.incequals=true hibernate.tables.lams_cr_node_version.columns.parent_version_id.inctostring=true @@ -94,6 +110,11 @@ hibernate.tables.lams_cr_node_version_property.columns.nv_id.incequals=true hibernate.tables.lams_cr_node_version_property.columns.nv_id.java-name=nvId hibernate.tables.lams_cr_node_version_property.columns.nv_id.java-type=long +hibernate.tables.lams_cr_node_version_property.columns.type.columnspecialty=property +hibernate.tables.lams_cr_node_version_property.columns.type.incequals=true +hibernate.tables.lams_cr_node_version_property.columns.type.inctostring=true +hibernate.tables.lams_cr_node_version_property.columns.type.java-name=type +hibernate.tables.lams_cr_node_version_property.columns.type.java-type=int hibernate.tables.lams_cr_node_version_property.columns.value.columnspecialty=property hibernate.tables.lams_cr_node_version_property.columns.value.incequals=true hibernate.tables.lams_cr_node_version_property.columns.value.inctostring=true @@ -110,6 +131,7 @@ hibernate.tables.lams_cr_node_version_property.columns.version_id.java-name=versionId hibernate.tables.lams_cr_node_version_property.columns.version_id.java-type=long hibernate.tables.lams_cr_node_version_property.equalshashcode=true +hibernate.tables.lams_cr_node_version_property.implements=IValue hibernate.tables.lams_cr_node_version_property.keygenerator=identity hibernate.tables.lams_cr_tool.base-class-name=CrTool hibernate.tables.lams_cr_tool.columns.name.incequals=true @@ -185,6 +207,10 @@ relations.lams_cr_node-lams_cr_node_version.lams_cr_node-has-lams_cr_node_version.target-many=true relations.lams_cr_node-lams_cr_node_version.lams_cr_node_version-has-lams_cr_node.enabled=true relations.lams_cr_node-lams_cr_node_version.lams_cr_node_version-has-lams_cr_node.target-many=false +relations.lams_cr_node_version-lams_cr_node_version.lams_cr_node_version-1-has-lams_cr_node_version-2.enabled=true +relations.lams_cr_node_version-lams_cr_node_version.lams_cr_node_version-1-has-lams_cr_node_version-2.target-many=true +relations.lams_cr_node_version-lams_cr_node_version.lams_cr_node_version-2-has-lams_cr_node_version-1.enabled=true +relations.lams_cr_node_version-lams_cr_node_version.lams_cr_node_version-2-has-lams_cr_node_version-1.target-many=false relations.lams_cr_node_version-lams_cr_node_version_property.lams_cr_node_version-has-lams_cr_node_version_property.enabled=true relations.lams_cr_node_version-lams_cr_node_version_property.lams_cr_node_version-has-lams_cr_node_version_property.target-many=true relations.lams_cr_node_version-lams_cr_node_version_property.lams_cr_node_version_property-has-lams_cr_node_version.enabled=true @@ -207,12 +233,12 @@ relations.lams_cr_workspace-lams_cr_workspace_tools.lams_cr_workspace_tools-has-lams_cr_workspace.target-many=false tables.lams_cr_credential.x=34 tables.lams_cr_credential.y=27 -tables.lams_cr_node.x=496 -tables.lams_cr_node.y=154 +tables.lams_cr_node.x=495 +tables.lams_cr_node.y=153 tables.lams_cr_node_version.x=767 tables.lams_cr_node_version.y=114 tables.lams_cr_node_version_property.x=526 -tables.lams_cr_node_version_property.y=7 +tables.lams_cr_node_version_property.y=6 tables.lams_cr_tool.x=527 tables.lams_cr_tool.y=94 tables.lams_cr_workspace.x=311 Index: lams_contentrepository/db/sql/create_content_repository_tables.sql =================================================================== diff -u -r580afc09c4d2620bbd40d0763340e29999ee62d6 -r0a2c5ee66a400c541950f989059eec858b321ac5 --- lams_contentrepository/db/sql/create_content_repository_tables.sql (.../create_content_repository_tables.sql) (revision 580afc09c4d2620bbd40d0763340e29999ee62d6) +++ lams_contentrepository/db/sql/create_content_repository_tables.sql (.../create_content_repository_tables.sql) (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -17,7 +17,7 @@ CREATE TABLE lams_cr_workspace ( workspace_id bigint(20) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL default '0', - root_node_id bigint(20) unsigned default '0', + root_node_id bigint(20) unsigned, PRIMARY KEY (workspace_id), UNIQUE KEY workspace_id (workspace_id,name), KEY name (name) @@ -29,8 +29,8 @@ CREATE TABLE lams_cr_credential ( credential_id bigint(20) unsigned NOT NULL auto_increment, - name varchar(255) NOT NULL default '0', - password varchar(255) NOT NULL default '0', + name varchar(255) NOT NULL, + password varchar(255) NOT NULL, PRIMARY KEY (credential_id), UNIQUE KEY name (name) ) TYPE=InnoDB COMMENT='Records the identification properties for a tool.'; @@ -62,8 +62,10 @@ CREATE TABLE lams_cr_node ( node_id bigint(20) unsigned NOT NULL auto_increment, - workspace_id bigint(20) unsigned NOT NULL default '0', - path varchar(255) NOT NULL default '0', + workspace_id bigint(20) unsigned NOT NULL, + path varchar(255), + type varchar(255) NOT NULL, + created_date_time timestamp(14) NOT NULL, PRIMARY KEY (node_id), UNIQUE KEY node_id (node_id), KEY workspace_id (workspace_id), @@ -87,14 +89,17 @@ node_id bigint(20) unsigned NOT NULL default '0', version_id bigint(20) unsigned NOT NULL default '0', created_date_time timestamp(14) NOT NULL, - parent_node_id bigint(20) unsigned default '0', - parent_version_id bigint(20) unsigned default '0', + parent_nv_id bigint(20) unsigned, PRIMARY KEY (nv_id), INDEX (node_id, version_id), - INDEX (parent_node_id), + INDEX (parent_nv_id), CONSTRAINT FK_lams_cr_node_version_1 - FOREIGN KEY (parent_node_id) + FOREIGN KEY (node_id) REFERENCES lams_cr_node (node_id) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT FK_lams_cr_node_version_2 + FOREIGN KEY (parent_nv_id) + REFERENCES lams_cr_node_version (nv_id) ON DELETE NO ACTION ON UPDATE NO ACTION ) TYPE=InnoDB COMMENT='Represents a version of a node'; @@ -105,9 +110,9 @@ CREATE TABLE lams_cr_node_version_property ( id bigint(20) unsigned NOT NULL auto_increment, nv_id bigint(20) unsigned NOT NULL default '0', - name varchar(255) NOT NULL default '', - value varchar(255) NOT NULL default '', - value_type tinyint(3) unsigned NOT NULL default '1', + name varchar(255) NOT NULL, + value varchar(255) NOT NULL, + type tinyint(3) unsigned NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), INDEX (nv_id), Index: lams_contentrepository/db/sql/insert_test_data.sql =================================================================== diff -u -r580afc09c4d2620bbd40d0763340e29999ee62d6 -r0a2c5ee66a400c541950f989059eec858b321ac5 --- lams_contentrepository/db/sql/insert_test_data.sql (.../insert_test_data.sql) (revision 580afc09c4d2620bbd40d0763340e29999ee62d6) +++ lams_contentrepository/db/sql/insert_test_data.sql (.../insert_test_data.sql) (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -1,8 +1,31 @@ +SET FOREIGN_KEY_CHECKS=0; +DELETE from lams_cr_node_version_property; +DELETE from lams_cr_node_version; +DELETE from lams_cr_node; + DELETE from lams_cr_workspace_credential ; DELETE from lams_cr_credential ; DELETE from lams_cr_workspace ; +SET FOREIGN_KEY_CHECKS=1; + INSERT INTO lams_cr_credential (credential_id, name, password) VALUES (1, 'atool','atool'); INSERT INTO lams_cr_workspace (workspace_id, name) VALUES (1, 'atoolWorkspace'); INSERT INTO lams_cr_workspace_credential (wc_id, workspace_id, credential_id) VALUES (1, 1,1); + +INSERT INTO lams_cr_node (node_id, workspace_id, type, created_date_time) VALUES ('1', '1', 'ROOTNODE', 20050106103000); +INSERT INTO lams_cr_node_version (nv_id, node_id, version_id, parent_nv_id, created_date_time) +VALUES ('1', '1', '1', null, 20050106103000); +INSERT INTO lams_cr_node_version_property( id, nv_id, name, value, type) VALUES (1,1,"VERSIONDESC","Initial Version","STRING"); + +INSERT INTO lams_cr_node (node_id, workspace_id, type, created_date_time) VALUES ('2', '1', 'FILENODE', 20050106103100); +INSERT INTO lams_cr_node_version (nv_id, node_id, version_id, parent_nv_id, created_date_time) +VALUES ('2', '2', '1', '1', 20050106103100); +INSERT INTO lams_cr_node_version (nv_id, node_id, version_id, parent_nv_id, created_date_time) +VALUES ('3', '2', '2', '1', 20050106110000); + +INSERT INTO lams_cr_node_version_property( id, nv_id, name, value, type) VALUES (2,2,"MIMETYPE","application/octet-stream","STRING"); +INSERT INTO lams_cr_node_version_property( id, nv_id, name, value, type) VALUES (3,2,"VERSIONDESC","Initial Version.","STRING"); +INSERT INTO lams_cr_node_version_property( id, nv_id, name, value, type) VALUES (4,3,"MIMETYPE","application/octet-stream","STRING"); +INSERT INTO lams_cr_node_version_property( id, nv_id, name, value, type) VALUES (5,3,"VERSIONDESC","The second version.","STRING"); \ No newline at end of file Index: lams_contentrepository/db/sql/useful.sql =================================================================== diff -u --- lams_contentrepository/db/sql/useful.sql (revision 0) +++ lams_contentrepository/db/sql/useful.sql (revision 0a2c5ee66a400c541950f989059eec858b321ac5) @@ -0,0 +1,5 @@ +-- List all nodes, their versions and properties +select * from lams_cr_node node + left join lams_cr_node_version nv on node.node_id = nv.node_id + left join lams_cr_node_version_property nvp on nvp.nv_id = nv.nv_id +order by node.workspace_id, node.node_id