Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== diff -u -r0988ce4dfd3a003db77de92d7c158bdf548093ab -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 0988ce4dfd3a003db77de92d7c158bdf548093ab) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -541,8 +541,17 @@ } /** * Import tool content + * TODO Remove once all tools converted to supply user id. */ public Object importToolContent(String toolContentPath, IToolContentHandler toolContentHandler) throws ImportToolContentException{ + log.error("importToolContent(String toolContentPath, IToolContentHandler toolContentHandler) to be removed - it sets the owner of files in the content repository to 1. Some tool needs to be updated."); + return importToolContent(toolContentPath, toolContentHandler, new Integer(1)); + } + + /** + * Import tool content + */ + public Object importToolContent(String toolContentPath, IToolContentHandler toolContentHandler, Integer userId ) throws ImportToolContentException{ Object toolPOJO = null; // change xml to Tool POJO XStream toolXml = new XStream(); @@ -621,10 +630,10 @@ //upload to repository: file or pacakge NodeKey key; if(!isPackage) - key = toolContentHandler.uploadFile(is,fileName,mimeType,fileProperty); + key = toolContentHandler.uploadFile(is,fileName,mimeType,fileProperty, userId); else{ String packageDirectory = ZipFileUtil.expandZip(is, realFileName); - key = toolContentHandler.uploadPackage(packageDirectory,initalItem); + key = toolContentHandler.uploadPackage(packageDirectory,initalItem, userId); } //refresh file node Uuid and Version value to latest. Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java =================================================================== diff -u -r2b636f4e834cd0b45c00bb3abf6a6b5e5f3161c8 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java (.../IExportToolContentService.java) (revision 2b636f4e834cd0b45c00bb3abf6a6b5e5f3161c8) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/IExportToolContentService.java (.../IExportToolContentService.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -93,7 +93,21 @@ */ Long importLearningDesign(String learningDesignPath,User importer, Integer workspaceFolderUid, List toolsErrorMsgs) throws ImportToolContentException; + /** + * Import the tool content. This is called by tools to do the actual content import, once the tool + * has set up whatever it needs to do. + * TODO To be removed from the system and replaced with the call with the user id. + * @Deprecated + */ Object importToolContent(String toolContentPath, IToolContentHandler toolContentHandler) + throws ImportToolContentException; + + /** + * Import the tool content. This is called by tools to do the actual content import, once the tool + * has set up whatever it needs to do. To be removed from the system and replaced with the call with the + * user id. + */ + Object importToolContent(String toolContentPath, IToolContentHandler toolContentHandler, Integer userId) throws ImportToolContentException; /** Index: lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java (.../BasicToolVO.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/BasicToolVO.java (.../BasicToolVO.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -73,8 +73,11 @@ /** persistent field */ private String moderationUrl; - + /** persistent field */ + private String helpUrl; + + /** persistent field */ private boolean supportsRunOffline; /** persistent field */ @@ -124,6 +127,7 @@ String monitorUrl, String contributeUrl, String moderationUrl, + String helpUrl, boolean supportsRunOffline, long defaultToolContentId, String toolSignature, @@ -147,6 +151,7 @@ this.monitorUrl=monitorUrl; this.contributeUrl=contributeUrl; this.moderationUrl=moderationUrl; + this.helpUrl = helpUrl; this.supportsRunOffline=supportsRunOffline; this.defaultToolContentId=defaultToolContentId; this.toolSignature=toolSignature; @@ -222,6 +227,21 @@ } /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.IToolVO#getHelpUrl() + */ + public String getHelpUrl() { + return helpUrl; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.IToolVO#setHelpUrl(java.lang.String) + */ + public void setHelpUrl(String helpUrl) { + this.helpUrl = helpUrl; + } + + + /* (non-Javadoc) * @see org.lamsfoundation.lams.tool.IToolVO#getCreateDateTime() */ public Date getCreateDateTime() { Index: lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java =================================================================== diff -u -r27bc32d524b0e22831ba7c75b3c11b8adb23189e -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java (.../IToolVO.java) (revision 27bc32d524b0e22831ba7c75b3c11b8adb23189e) +++ lams_common/src/java/org/lamsfoundation/lams/tool/IToolVO.java (.../IToolVO.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -35,6 +35,10 @@ public abstract void setContributeUrl(String contributeUrl); + public abstract String getHelpUrl(); + + public abstract void setHelpUrl(String helpUrl); + public abstract Date getCreateDateTime(); public abstract void setCreateDateTime(Date createDateTime); Index: lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java =================================================================== diff -u -r250486f86b66ac04cece0001879c3dc39c96ed98 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision 250486f86b66ac04cece0001879c3dc39c96ed98) +++ lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -80,6 +80,9 @@ private String contributeUrl; /** persistent field */ + private String helpUrl; + + /** persistent field */ private Date createDateTime; /** @@ -100,6 +103,7 @@ String exportPortfolioClassUrl, String monitorUrl, String contributeUrl, + String helpUrl, Date createDateTime) { this.systemToolId = systemToolId; @@ -114,6 +118,7 @@ this.exportPortfolioClassUrl = exportPortfolioClassUrl; this.monitorUrl = monitorUrl; this.contributeUrl = contributeUrl; + this.helpUrl = helpUrl; this.createDateTime = createDateTime; } @@ -290,7 +295,23 @@ this.monitorUrl = monitorUrl; } - + /** + * @hibernate.property column="help_url" length="65535" not-null="false" + * @return Returns the helpUrl. + */ + public String getHelpUrl() + { + return helpUrl; + } + /** + * @param helpUrl The helpUrl to set. + */ + public void setHelpUrl(String helpUrl) + { + this.helpUrl = helpUrl; + } + + public String toString() { return new ToStringBuilder(this) .append("systemToolId", getSystemToolId()) Index: lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -75,6 +75,9 @@ private String moderationUrl; /** persistent field */ + private String helpUrl; + + /** persistent field */ private boolean supportsRunOffline; /** persistent field */ @@ -516,6 +519,22 @@ this.monitorUrl = monitorUrl; } + /** + * @hibernate.property column="help_url" length="65535" not-null="false" + * @return Returns the helpUrl. + */ + public String getHelpUrl() + { + return helpUrl; + } + /** + * @param helpUrl The helpUrl to set. + */ + public void setHelpUrl(String helpUrl) + { + this.helpUrl = helpUrl; + } + /** * @hibernate.property column="tool_identifier" length="64" @@ -589,6 +608,7 @@ this.monitorUrl, this.contributeUrl, this.moderationUrl, + this.helpUrl, this.supportsRunOffline, this.defaultToolContentId, this.toolSignature, Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java =================================================================== diff -u -rc21c3386cec2ee819ba267d84d532676d2f4990d -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision c21c3386cec2ee819ba267d84d532676d2f4990d) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -60,6 +60,9 @@ private Date createDate; /** persistent field */ + private User createdBy; + + /** persistent field */ private Workspace workspace; /** persistent field */ @@ -91,14 +94,16 @@ private Boolean courseAdminCanCreateGuestAccounts; /** full constructor */ - public Organisation(String name, String description, Organisation parentOrganisation, Date createDate, Workspace workspace, + public Organisation(String name, String description, Organisation parentOrganisation, + Date createDate, User createdBy, Workspace workspace, OrganisationType organisationType, Set userOrganisations, Set childOrganisations, Set lessons, Boolean courseAdminCanAddNewUsers, Boolean courseAdminCanBrowseAllUsers, Boolean courseAdminCanChangeStatusOfCourse, Boolean courseAdminCanCreateGuestAccounts) { this.name = name; this.description = description; this.parentOrganisation = parentOrganisation; this.createDate = createDate; + this.createdBy = createdBy; this.workspace = workspace; this.organisationType = organisationType; this.userOrganisations = userOrganisations; @@ -120,8 +125,9 @@ } /** minimal constructor */ - public Organisation(Date createDate, Workspace workspace, OrganisationType organisationType, Set userOrganisations, Set lessons) { + public Organisation(Date createDate, User createdBy, Workspace workspace, OrganisationType organisationType, Set userOrganisations, Set lessons) { this.createDate = createDate; + this.createdBy = createdBy; this.workspace = workspace; this.organisationType = organisationType; this.userOrganisations = userOrganisations; @@ -135,12 +141,14 @@ } public Organisation(String name, String description, - Date createDate, + Date createDate, + User createdBy, OrganisationType organisationType) { super(); this.name = name; this.description = description; this.createDate = createDate; + this.createdBy = createdBy; this.organisationType = organisationType; } @@ -229,6 +237,20 @@ this.createDate = createDate; } + /** + * @hibernate.many-to-one not-null="true" + * @hibernate.column name="created_by" + * + */ + public User getCreatedBy() { + return this.createdBy; + } + + public void setCreatedBy(User createdBy) { + this.createdBy = createdBy; + } + + /** * @hibernate.many-to-one * cascade="all" Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r8511338e13292dc22334f9b15640687858919592 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 8511338e13292dc22334f9b15640687858919592) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -439,9 +439,12 @@ public Organisation saveOrganisation( Organisation organisation, Integer userID ) { + User creator = (User)findById(User.class,userID); + if ( organisation.getOrganisationId() == null ) { Date createDateTime = new Date(); - organisation.setCreateDate(createDateTime); + organisation.setCreateDate(createDateTime); + organisation.setCreatedBy(creator); if(organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.COURSE_TYPE)){ Workspace workspace = createWorkspaceForOrganisation(organisation.getName(), userID, createDateTime); Index: lams_contentrepository/.classpath =================================================================== diff -u -rb2f56ba87d93e9daa8cb2c38fa906da531d6f132 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_contentrepository/.classpath (.../.classpath) (revision b2f56ba87d93e9daa8cb2c38fa906da531d6f132) +++ lams_contentrepository/.classpath (.../.classpath) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -4,8 +4,9 @@ - + + Index: lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml =================================================================== diff -u -r6e5832d17263bc6c6f7683733e91e22f97eab569 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml (.../CrNodeVersion.hbm.xml) (revision 6e5832d17263bc6c6f7683733e91e22f97eab569) +++ lams_contentrepository/conf/hibernate/mappings/org/lamsfoundation/lams/contentrepository/CrNodeVersion.hbm.xml (.../CrNodeVersion.hbm.xml) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -46,6 +46,15 @@ length="14" /> + + 1", keys != null && keys.getVersion() != null @@ -606,7 +606,7 @@ // copy the package node try { - NodeKey copy = repository.copyNodeVersion(ticket, keys.getUuid(), null); + NodeKey copy = repository.copyNodeVersion(ticket, keys.getUuid(), null, mmmUser); assertNotSame("Copy 1 is a different uuid to the original.", copy.getUuid(), keys.getUuid()); checkPackage(copy); Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java =================================================================== diff -u -r41de4a8b5ff40c43e8eaadc76a33ebce112d6801 -r9ad43dec7eb0960145bc92da0ae6435a2c412a58 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java (.../TestSimpleVersionedNode.java) (revision 41de4a8b5ff40c43e8eaadc76a33ebce112d6801) +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java (.../TestSimpleVersionedNode.java) (revision 9ad43dec7eb0960145bc92da0ae6435a2c412a58) @@ -409,9 +409,9 @@ public void testAddNode() { try { // file nodes are tested in another test - SimpleVersionedNode dataNode = nodeFactory.createDataNode(getWorkspace(INITIAL_WORKSPACE_ID), null,"Initial Version"); + SimpleVersionedNode dataNode = nodeFactory.createDataNode(getWorkspace(INITIAL_WORKSPACE_ID), null,"Initial Version", mmmUser); - SimpleVersionedNode packageNode = nodeFactory.createPackageNode(getWorkspace(INITIAL_WORKSPACE_ID), "index.html", "Initial Version"); + SimpleVersionedNode packageNode = nodeFactory.createPackageNode(getWorkspace(INITIAL_WORKSPACE_ID), "index.html", "Initial Version", mmmUser); assertTrue("2 nodes created, but not saved into database ", dataNode != null && dataNode.getUUID() == null @@ -474,7 +474,7 @@ try { if ( newUuid == null ) { - fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, null, filename, null, null); + fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, null, filename, null, null, mmmUser); } else { fileNode = (SimpleVersionedNode) getNode(INITIAL_WORKSPACE_ID, newUuid); fileNode.setFile(null, filename, null); @@ -486,7 +486,7 @@ try { if ( newUuid == null ) { - fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, is, null, null, null); + fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, is, null, null, null, mmmUser); } else { fileNode = (SimpleVersionedNode) getNode(INITIAL_WORKSPACE_ID, newUuid); fileNode.setFile(is, null, null); @@ -497,7 +497,7 @@ } - fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, is, filename, null, null); + fileNode = nodeFactory.createFileNode(getWorkspace(INITIAL_WORKSPACE_ID), null, null, is, filename, null, null, mmmUser); fileNode.setFile(is, filename, null); saveCheckNode("File", NodeType.FILENODE, fileNode); newUuid = fileNode.getUUID(); @@ -562,7 +562,7 @@ public void testAddNodeBadType() { try { - SimpleVersionedNode newNode = nodeFactory.createDataNode(getWorkspace(INITIAL_WORKSPACE_ID), null,"Initial Version"); + SimpleVersionedNode newNode = nodeFactory.createDataNode(getWorkspace(INITIAL_WORKSPACE_ID), null,"Initial Version", mmmUser); newNode.getNode().setType("XYZ"); newNode.save(); fail("NoSuchNodeTypeException should have been thrown");