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