diff --git a/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_list_submissions.vm b/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_list_submissions.vm index aaf74cd66420..73f29c12b1e2 100644 --- a/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_list_submissions.vm +++ b/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_list_submissions.vm @@ -288,7 +288,7 @@ function printView(url) { - $tlang.getString( + @@ -434,7 +434,7 @@ function printView(url) { #if ($!userSubmission.hasVisibleAttachments) - $tlang.getString( + #end @@ -633,9 +633,7 @@ function printView(url) { #end #if ($submission.getGradeReleased()) - $tlang.getString( - #else - $tlang.getString( + #end diff --git a/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_report_submissions.vm b/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_report_submissions.vm index 8854996f9f9b..0d00aa1831a4 100644 --- a/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_report_submissions.vm +++ b/assignment/tool/src/webapp/vm/assignment/chef_assignments_instructor_report_submissions.vm @@ -225,7 +225,7 @@ $tlang.getString("gen.pf") #elseif ($gradeScale == 5) ## Grade type that only requires a check - $tlang.getString( + #end diff --git a/assignment/tool/src/webapp/vm/assignment/chef_assignments_list_assignments.vm b/assignment/tool/src/webapp/vm/assignment/chef_assignments_list_assignments.vm index 5cf97e78ffd9..1ab158996ed6 100644 --- a/assignment/tool/src/webapp/vm/assignment/chef_assignments_list_assignments.vm +++ b/assignment/tool/src/webapp/vm/assignment/chef_assignments_list_assignments.vm @@ -659,7 +659,7 @@ $tlang.getString("gen.pf") #elseif ($gradeScale == 5) ## Grade type that only requires a check - Checkmark + #end #end diff --git a/chat/chat-impl/impl/src/java/org/sakaiproject/chat2/model/impl/ChatEntityProducer.java b/chat/chat-impl/impl/src/java/org/sakaiproject/chat2/model/impl/ChatEntityProducer.java index 79d306e8c893..277cf1e7760c 100644 --- a/chat/chat-impl/impl/src/java/org/sakaiproject/chat2/model/impl/ChatEntityProducer.java +++ b/chat/chat-impl/impl/src/java/org/sakaiproject/chat2/model/impl/ChatEntityProducer.java @@ -106,9 +106,7 @@ protected void init() throws Exception { } } - /** - * {@inheritDoc} - */ + @Override public String[] myToolIds() { String[] toolIds = { ChatManager.CHAT_TOOL_ID }; @@ -131,9 +129,7 @@ public ChatChannel getChannel(Reference reference) throws IdUnusedException, Per return chatManager.getChatChannel(reference.getId()); } - /** - * {@inheritDoc} - */ + @Override public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) { //prepare the buffer for the results log @@ -230,9 +226,7 @@ public void archiveSynopticOptions(String siteId, Document doc, Element element) } } - /** - * {@inheritDoc} - */ + @Override public Entity getEntity(Reference ref) { // we could check that the type is one of the message services, but lets just assume it is so we don't need to know them here -ggolden @@ -270,18 +264,7 @@ else if (ChatManager.REF_TYPE_MESSAGE.equals(ref.getSubType())) return rv; } - /** - * {@inheritDoc} - */ - public Collection getEntityAuthzGroups(Reference ref, String userId) - { - //TODO implement this - return null; - } - - /** - * {@inheritDoc} - */ + @Override public String getEntityDescription(Reference ref) { // we could check that the type is one of the message services, but lets just assume it is so we don't need to know them here -ggolden @@ -310,17 +293,7 @@ public String getEntityDescription(Reference ref) return rv; } - /* (non-Javadoc) - * @see org.sakaiproject.entity.api.EntityProducer#getEntityResourceProperties(org.sakaiproject.entity.api.Reference) - */ - public ResourceProperties getEntityResourceProperties(Reference ref) { - // TODO Auto-generated method stub - return null; - } - - /** - * {@inheritDoc} - */ + @Override public String getEntityUrl(Reference ref) { // we could check that the type is one of the message services, but lets just assume it is so we don't need to know them here -ggolden @@ -362,9 +335,7 @@ else if (ChatManager.REF_TYPE_MESSAGE.equals(ref.getSubType())) return url; } - /** - * {@inheritDoc} - */ + @Override public HttpAccess getHttpAccess() { return new HttpAccess() @@ -484,18 +455,14 @@ public void handleAccess(HttpServletRequest req, HttpServletResponse res, Refere }; } - /** - * {@inheritDoc} - */ + @Override public String getLabel() { return chatManager.getLabel(); } - /** - * {@inheritDoc} - */ + @Override public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, Set userListAllowImport) { @@ -605,9 +572,7 @@ else if (channelElement.getTagName().equals(SYNOPTIC_TOOL)) } // merge - /** - * {@inheritDoc} - */ + @Override public boolean parseEntityReference(String reference, Reference ref) { if (reference.startsWith(ChatManager.REFERENCE_ROOT)) @@ -659,9 +624,7 @@ else if (ChatManager.REF_TYPE_MESSAGE.equals(subType)) return false; } - /** - * {@inheritDoc} - */ + @Override public boolean willArchiveMerge() { return true; diff --git a/citations/citations-impl/impl/pom.xml b/citations/citations-impl/impl/pom.xml index 4af2f90f98f2..29ab67696350 100644 --- a/citations/citations-impl/impl/pom.xml +++ b/citations/citations-impl/impl/pom.xml @@ -108,7 +108,7 @@ com.thoughtworks.xstream xstream - 1.4.18 + 1.4.21 backport-util-concurrent diff --git a/citations/citations-impl/impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java b/citations/citations-impl/impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java index 02cfd5d7b380..094716a73350 100644 --- a/citations/citations-impl/impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java +++ b/citations/citations-impl/impl/src/java/org/sakaiproject/citation/impl/BaseCitationService.java @@ -4306,20 +4306,6 @@ public CitationCollection addCollection() return edit; } - /* - * (non-Javadoc) - * - * @see org.sakaiproject.entity.api.EntityProducer#archive(java.lang.String, - * org.w3c.dom.Document, java.util.Stack, java.lang.String, - * java.util.List) - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, - List attachments) - { - // TODO Auto-generated method stub - return null; - } - /* * (non-Javadoc) * @@ -5387,20 +5373,6 @@ public List listSchemas() return new Vector(names); } - /* - * (non-Javadoc) - * - * @see org.sakaiproject.entity.api.EntityProducer#merge(java.lang.String, - * org.w3c.dom.Element, java.lang.String, java.lang.String, - * java.util.Map, java.util.Map, java.util.Set) - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, - Map attachmentNames, Map userIdTrans, Set userListAllowImport) - { - // TODO Auto-generated method stub - return null; - } - /** * Construct a Storage object. * diff --git a/commons/impl/src/java/org/sakaiproject/commons/impl/CommonsManagerImpl.java b/commons/impl/src/java/org/sakaiproject/commons/impl/CommonsManagerImpl.java index ff18c30f39c4..88a7ac972f03 100644 --- a/commons/impl/src/java/org/sakaiproject/commons/impl/CommonsManagerImpl.java +++ b/commons/impl/src/java/org/sakaiproject/commons/impl/CommonsManagerImpl.java @@ -338,10 +338,6 @@ public Collection getEntityAuthzGroups(Reference ref, String userId) { return ids; } - public String getEntityDescription(Reference arg0) { - return null; - } - public ResourceProperties getEntityResourceProperties(Reference ref) { try { diff --git a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties index 46f2060901ea..44aab4470136 100644 --- a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties +++ b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties @@ -113,10 +113,6 @@ # DEFAULT: false # portal.logout.confirmation=true -# SAK-32224 - Ability to disable the animated tool menu by property -# DEFAULT: true -# portal.scrolling.toolbar.enabled=false - # Ability to enable the publish site confirmation dialog # DEFAULT: false # portal.publish.site.confirm.enabled=true diff --git a/delegatedaccess/tool/src/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java b/delegatedaccess/tool/src/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java index 4294201d2d8d..157664989f43 100644 --- a/delegatedaccess/tool/src/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java +++ b/delegatedaccess/tool/src/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java @@ -411,13 +411,10 @@ protected void populateTreeItem(final WebMarkupContainer item, final int level) public void onComponentTag(final Component component, final ComponentTag tag) { super.onComponentTag(component, tag); + tag.put("class", "row"); if (getTreeState().isNodeSelected(node)) { - tag.put("class", "row-selected"); - } - else - { - tag.put("class", "row"); + tag.put("class", "row row-selected"); } } }); diff --git a/delegatedaccess/tool/src/java/org/sakaiproject/delegatedaccess/tool/pages/UserEditPage.java b/delegatedaccess/tool/src/java/org/sakaiproject/delegatedaccess/tool/pages/UserEditPage.java index 34ce5f0a5e29..827632f986a5 100644 --- a/delegatedaccess/tool/src/java/org/sakaiproject/delegatedaccess/tool/pages/UserEditPage.java +++ b/delegatedaccess/tool/src/java/org/sakaiproject/delegatedaccess/tool/pages/UserEditPage.java @@ -247,18 +247,18 @@ protected void onSubmit(AjaxRequestTarget target) { List columnsList = new ArrayList<>(); columnsList.add(new PropertyTreeColumn<>(new ColumnLocation(Alignment.MIDDLE, 100, Unit.PROPORTIONAL), "", "userObject.node.description")); if(sakaiProxy.isSuperUser()){ - columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.RIGHT, 70, Unit.PX), new StringResourceModel("accessAdmin").getString(), "userObject.accessAdmin", DelegatedAccessConstants.TYPE_ACCESS_ADMIN)); + columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.LEFT, 70, Unit.PX), new StringResourceModel("accessAdmin").getString(), "userObject.accessAdmin", DelegatedAccessConstants.TYPE_ACCESS_ADMIN)); if(sakaiProxy.getShoppingUIEnabled()) { - columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.RIGHT, 90, Unit.PX), new StringResourceModel("shoppingPeriodAdmin").getString(), "userObject.shoppingPeriodAdmin", DelegatedAccessConstants.TYPE_SHOPPING_PERIOD_ADMIN)); + columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.LEFT, 90, Unit.PX), new StringResourceModel("shoppingPeriodAdmin").getString(), "userObject.shoppingPeriodAdmin", DelegatedAccessConstants.TYPE_SHOPPING_PERIOD_ADMIN)); } } - columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.RIGHT, 68, Unit.PX), new StringResourceModel("siteAccess").getString(), "userObject.directAccess", DelegatedAccessConstants.TYPE_ACCESS)); + columnsList.add(new PropertyEditableColumnCheckbox(new ColumnLocation(Alignment.LEFT, 68, Unit.PX), new StringResourceModel("siteAccess").getString(), "userObject.directAccess", DelegatedAccessConstants.TYPE_ACCESS)); if(!singleRoleOptions){ - columnsList.add(new PropertyEditableColumnDropdown(new ColumnLocation(Alignment.RIGHT, roleColumnSize, Unit.PX), new StringResourceModel("userBecomes").getString(), + columnsList.add(new PropertyEditableColumnDropdown(new ColumnLocation(Alignment.LEFT, roleColumnSize, Unit.PX), new StringResourceModel("userBecomes").getString(), "userObject.roleOption", roleMap, DelegatedAccessConstants.TYPE_ACCESS, sakaiProxy.isSuperUser() ? null : sakaiProxy.getSubAdminOrderedRealmRoles())); } if(sakaiProxy.isSuperUser() || sakaiProxy.getToolsListUIEnabled()) { - columnsList.add(new PropertyEditableColumnList(new ColumnLocation(Alignment.RIGHT, 134, Unit.PX), new StringResourceModel("restrictedToolsHeader").getString(), + columnsList.add(new PropertyEditableColumnList(new ColumnLocation(Alignment.LEFT, 134, Unit.PX), new StringResourceModel("restrictedToolsHeader").getString(), "userObject.restrictedAuthTools", DelegatedAccessConstants.TYPE_ACCESS, DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS)); } //setup advanced options settings: @@ -266,7 +266,7 @@ protected void onSubmit(AjaxRequestTarget target) { boolean permitBecomeUser = sakaiProxy.isSuperUser() || sakaiProxy.allowAccessAdminsSetBecomeUserPerm(); if(permitBecomeUser) { advSettings.put(PropertyEditableColumnAdvancedUserOptions.SETTINGS_ALLOW_SET_BECOME_USER, permitBecomeUser); - columnsList.add(new PropertyEditableColumnAdvancedUserOptions(new ColumnLocation(Alignment.RIGHT, 92, Unit.PX), new StringResourceModel("advanced").getString(), "", advSettings)); + columnsList.add(new PropertyEditableColumnAdvancedUserOptions(new ColumnLocation(Alignment.LEFT, 92, Unit.PX), new StringResourceModel("advanced").getString(), "", advSettings)); } IColumn columns[] = columnsList.toArray(new IColumn[columnsList.size()]); diff --git a/gradebookng/impl/pom.xml b/gradebookng/impl/pom.xml index bb0e7e36c442..90306391763a 100644 --- a/gradebookng/impl/pom.xml +++ b/gradebookng/impl/pom.xml @@ -81,7 +81,7 @@ com.thoughtworks.xstream xstream - 1.4.18 + 1.4.21 org.sakaiproject.plus diff --git a/gradebookng/tool/src/java/org/sakaiproject/gradebookng/framework/GradebookNgEntityProducer.java b/gradebookng/tool/src/java/org/sakaiproject/gradebookng/framework/GradebookNgEntityProducer.java index 9adcff0ccd05..66543d63fb6f 100644 --- a/gradebookng/tool/src/java/org/sakaiproject/gradebookng/framework/GradebookNgEntityProducer.java +++ b/gradebookng/tool/src/java/org/sakaiproject/gradebookng/framework/GradebookNgEntityProducer.java @@ -17,7 +17,6 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; @@ -27,13 +26,10 @@ import org.apache.commons.lang3.StringUtils; -import org.sakaiproject.entity.api.Entity; import org.sakaiproject.entity.api.EntityManager; import org.sakaiproject.entity.api.EntityProducer; import org.sakaiproject.entity.api.EntityTransferrer; -import org.sakaiproject.entity.api.HttpAccess; import org.sakaiproject.entity.api.Reference; -import org.sakaiproject.entity.api.ResourceProperties; import org.sakaiproject.exception.IdUnusedException; import org.sakaiproject.grading.api.GradingConstants; import org.sakaiproject.grading.api.model.Gradebook; @@ -272,41 +268,6 @@ public String merge(final String siteId, final Element root, final String archiv return "GradebookNG merge not supported: nothing to do."; } - @Override - public boolean parseEntityReference(final String reference, final Reference ref) { - return false; - } - - @Override - public String getEntityDescription(final Reference ref) { - return null; - } - - @Override - public ResourceProperties getEntityResourceProperties(final Reference ref) { - return null; - } - - @Override - public Entity getEntity(final Reference ref) { - return null; - } - - @Override - public String getEntityUrl(final Reference ref) { - return null; - } - - @Override - public Collection getEntityAuthzGroups(final Reference ref, final String userId) { - return null; - } - - @Override - public HttpAccess getHttpAccess() { - return null; - } - @Override public String[] myToolIds() { return TOOL_IDS; @@ -350,9 +311,4 @@ public Map transferCopyEntities(String fromContext, String toCon // now migrate return this.transferCopyEntities(fromContext, toContext, ids, null); } - - @Override - public void updateEntityReferences(String toContext, Map transversalMap) { - //not necessary - } } diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/alias/impl/BaseAliasService.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/alias/impl/BaseAliasService.java index 9210e5ff6700..0aeba0de6020 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/alias/impl/BaseAliasService.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/alias/impl/BaseAliasService.java @@ -608,25 +608,19 @@ public List getAliases(int first, int last) } // getAliases - /** - * {@inheritDoc} - */ + @Override public int countAliases() { return m_storage.count(); } - /** - * {@inheritDoc} - */ + @Override public List searchAliases(String criteria, int first, int last) { return m_storage.search(criteria, first, last); } - /** - * {@inheritDoc} - */ + @Override public int countSearchAliases(String criteria) { return m_storage.countSearch(criteria); @@ -845,33 +839,13 @@ public void remove(AliasEdit edit) throws PermissionException * EntityProducer implementation *********************************************************************************************************************************************************************************************************************************************************/ - /** - * {@inheritDoc} - */ + @Override public String getLabel() { return "alias"; } - /** - * {@inheritDoc} - */ - public boolean willArchiveMerge() - { - return false; - } - - /** - * {@inheritDoc} - */ - public HttpAccess getHttpAccess() - { - return null; - } - - /** - * {@inheritDoc} - */ + @Override public boolean parseEntityReference(String reference, Reference ref) { // for preferences access @@ -895,64 +869,6 @@ public boolean parseEntityReference(String reference, Reference ref) return false; } - /** - * {@inheritDoc} - */ - public String getEntityDescription(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public Entity getEntity(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public Collection getEntityAuthzGroups(Reference ref, String userId) - { - // for alias access %%% ? what realm? -ggolden - return null; - } - - /** - * {@inheritDoc} - */ - public String getEntityUrl(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) - { - return ""; - } - - /** - * {@inheritDoc} - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, - Set userListAllowImport) - { - return ""; - } - /********************************************************************************************************************************************************************************************************************************************************** * Alias implementation *********************************************************************************************************************************************************************************************************************************************************/ @@ -1483,9 +1399,7 @@ public String getId() } // getId - /** - * {@inheritDoc} - */ + @Override public User getCreatedBy() { try @@ -1498,9 +1412,7 @@ public User getCreatedBy() } } - /** - * {@inheritDoc} - */ + @Override public User getModifiedBy() { try @@ -1513,17 +1425,13 @@ public User getModifiedBy() } } - /** - * {@inheritDoc} - */ + @Override public Time getCreatedTime() { return m_createdTime; } - /** - * {@inheritDoc} - */ + @Override public Time getModifiedTime() { return m_lastModifiedTime; diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/authz/impl/BaseAuthzGroupService.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/authz/impl/BaseAuthzGroupService.java index eea4832895e6..23cc9193f4e9 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/authz/impl/BaseAuthzGroupService.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/authz/impl/BaseAuthzGroupService.java @@ -1246,22 +1246,6 @@ public String getLabel() return "authzGroup"; } - /** - * {@inheritDoc} - */ - public boolean willArchiveMerge() - { - return false; - } - - /** - * {@inheritDoc} - */ - public HttpAccess getHttpAccess() - { - return null; - } - /** * {@inheritDoc} */ @@ -1294,30 +1278,6 @@ protected String extractEntityId(String reference) return null; } - /** - * {@inheritDoc} - */ - public String getEntityDescription(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public Entity getEntity(Reference ref) - { - return null; - } - /** * {@inheritDoc} */ @@ -1343,31 +1303,6 @@ public Collection getEntityAuthzGroups(Reference ref, String userId) return rv; } - /** - * {@inheritDoc} - */ - public String getEntityUrl(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) - { - return ""; - } - - /** - * {@inheritDoc} - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, - Set userListAllowImport) - { - return ""; - } - /********************************************************************************************************************************************************************************************************************************************************** * Storage *********************************************************************************************************************************************************************************************************************************************************/ diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/content/impl/DropboxContextObserver.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/content/impl/DropboxContextObserver.java index c4ff6d2447b8..3370a20ba016 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/content/impl/DropboxContextObserver.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/content/impl/DropboxContextObserver.java @@ -86,74 +86,6 @@ public void setEntityManager(EntityManager service) m_entityManager = service; } - public String archive(String siteId, Document doc, Stack stack, String archivePath, - List attachments) - { - // TODO Auto-generated method stub - return null; - } - - public Entity getEntity(Reference ref) - { - // TODO Auto-generated method stub - return null; - } - - public Collection getEntityAuthzGroups(Reference ref, String userId) - { - // TODO Auto-generated method stub - return null; - } - - public String getEntityDescription(Reference ref) - { - // TODO Auto-generated method stub - return null; - } - - public ResourceProperties getEntityResourceProperties(Reference ref) - { - // TODO Auto-generated method stub - return null; - } - - public String getEntityUrl(Reference ref) - { - // TODO Auto-generated method stub - return null; - } - - public HttpAccess getHttpAccess() - { - // TODO Auto-generated method stub - return null; - } - - public String getLabel() - { - // TODO Auto-generated method stub - return null; - } - - public String merge(String siteId, Element root, String archivePath, String fromSiteId, - Map attachmentNames, Map userIdTrans, Set userListAllowImport) - { - // TODO Auto-generated method stub - return null; - } - - public boolean parseEntityReference(String reference, Reference ref) - { - // TODO Auto-generated method stub - return false; - } - - public boolean willArchiveMerge() - { - // TODO Auto-generated method stub - return false; - } - public void contextCreated(String context, boolean toolPlacement) { if(toolPlacement) diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/site/impl/BaseSiteService.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/site/impl/BaseSiteService.java index 5269a7d0d593..e70a2fa69a6f 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/site/impl/BaseSiteService.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/site/impl/BaseSiteService.java @@ -2553,14 +2553,6 @@ public String getEntityDescription(Reference ref) return rv; } - /** - * {@inheritDoc} - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - @Override public Entity getEntity(Reference reference) { Entity entity = null; @@ -2630,23 +2622,6 @@ public String getEntityUrl(Reference ref) { return url; } - /** - * {@inheritDoc} - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) - { - return ""; - } - - /** - * {@inheritDoc} - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, - Set userListAllowImport) - { - return ""; - } - /********************************************************************************************************************************************************************************************************************************************************** *********************************************************************************************************************************************************************************************************************************************************/ diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BasePreferencesService.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BasePreferencesService.java index f50642801354..1f04ef5fe903 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BasePreferencesService.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BasePreferencesService.java @@ -515,22 +515,6 @@ public String getLabel() return "preferences"; } - /** - * @inheritDoc - */ - public boolean willArchiveMerge() - { - return false; - } - - /** - * @inheritDoc - */ - public HttpAccess getHttpAccess() - { - return null; - } - /** * @inheritDoc */ @@ -557,30 +541,6 @@ public boolean parseEntityReference(String reference, Reference ref) return false; } - /** - * @inheritDoc - */ - public String getEntityDescription(Reference ref) - { - return null; - } - - /** - * @inheritDoc - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - - /** - * @inheritDoc - */ - public Entity getEntity(Reference ref) - { - return null; - } - /** * @inheritDoc */ @@ -606,31 +566,6 @@ public Collection getEntityAuthzGroups(Reference ref, String userId) return rv; } - /** - * @inheritDoc - */ - public String getEntityUrl(Reference ref) - { - return null; - } - - /** - * @inheritDoc - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) - { - return ""; - } - - /** - * @inheritDoc - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, - Set userListAllowImport) - { - return ""; - } - /** * @inheritDoc */ diff --git a/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BaseUserDirectoryService.java b/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BaseUserDirectoryService.java index 0e84fb659256..c55dd6a0f535 100644 --- a/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BaseUserDirectoryService.java +++ b/kernel/kernel-impl/src/main/java/org/sakaiproject/user/impl/BaseUserDirectoryService.java @@ -1896,22 +1896,6 @@ public String getLabel() return "user"; } - /** - * @inheritDoc - */ - public boolean willArchiveMerge() - { - return false; - } - - /** - * @inheritDoc - */ - public HttpAccess getHttpAccess() - { - return null; - } - /** * @inheritDoc */ @@ -1963,22 +1947,6 @@ public String getEntityDescription(Reference ref) return rv; } - /** - * @inheritDoc - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - - /** - * @inheritDoc - */ - public Entity getEntity(Reference ref) - { - return null; - } - /** * @inheritDoc */ @@ -2004,31 +1972,6 @@ public Collection getEntityAuthzGroups(Reference ref, String userId) return rv; } - /** - * @inheritDoc - */ - public String getEntityUrl(Reference ref) - { - return null; - } - - /** - * @inheritDoc - */ - public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) - { - return ""; - } - - /** - * @inheritDoc - */ - public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, - Set userListAllowImport) - { - return ""; - } - /********************************************************************************************************************************************************************************************************************************************************** * UserFactory implementation *********************************************************************************************************************************************************************************************************************************************************/ diff --git a/lessonbuilder/components/src/java/org/sakaiproject/lessonbuildertool/model/SimplePageToolDaoImpl.java b/lessonbuilder/components/src/java/org/sakaiproject/lessonbuildertool/model/SimplePageToolDaoImpl.java index d3583659aa0f..427d352d8e68 100644 --- a/lessonbuilder/components/src/java/org/sakaiproject/lessonbuildertool/model/SimplePageToolDaoImpl.java +++ b/lessonbuilder/components/src/java/org/sakaiproject/lessonbuildertool/model/SimplePageToolDaoImpl.java @@ -1918,7 +1918,7 @@ public String getLessonSubPageJSON(final String userId, final String siteId, fin for (String pageId : pageIds) { SimplePage p = findPageWithToolId(pageId); if (p == null) { - log.warn("Page ID [{}] in site {} not found. It is most likely blank.", pageId, siteId); + log.debug("Page ID [{}] in site {} not found. It is most likely blank.", pageId, siteId); continue; } lp.add(p); diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java index fd5ed4bc45db..189cd02fe652 100644 --- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java +++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java @@ -370,9 +370,7 @@ public void destroy() // tools. Note that the tools are loaded when LinkTool.class is loaded. That's // often after this class, so at init time these lists would be empty. - /** - * {@inheritDoc} - */ + @Override public String[] myToolIds() { String[] toolIds = {LessonBuilderConstants.TOOL_ID}; @@ -608,9 +606,7 @@ void addGroup(Document doc, Element itemElement, String groupString, String attr } - /** - * {@inheritDoc} - */ + @Override public String archive(String siteId, Document doc, Stack stack, String archivePath, List attachments) { //prepare the buffer for the results log @@ -698,44 +694,7 @@ public String archive(String siteId, Document doc, Stack stack, String archivePa return results.toString(); } - /** - * {@inheritDoc} - */ - public Entity getEntity(Reference ref) - { - // I don't see how there could be a reference of this kind - return null; - } - - /** - * {@inheritDoc} - */ - public Collection getEntityAuthzGroups(Reference ref, String userId) - { - //TODO implement this - return null; - } - - /** - * {@inheritDoc} - */ - public String getEntityDescription(Reference ref) - { - // not needed - return null; - } - - /* (non-Javadoc) - * @see org.sakaiproject.entity.api.EntityProducer#getEntityResourceProperties(org.sakaiproject.entity.api.Reference) - */ - public ResourceProperties getEntityResourceProperties(Reference ref) { - // TODO Auto-generated method stub - return null; - } - - /** - * {@inheritDoc} - */ + @Override public String getEntityUrl(Reference ref) { String URL = ""; @@ -758,18 +717,14 @@ public String getEntityUrl(Reference ref) return URL; } - /** - * {@inheritDoc} - */ + @Override public HttpAccess getHttpAccess() { // not for now return lessonBuilderAccessAPI.getHttpAccess(); } - /** - * {@inheritDoc} - */ + @Override public String getLabel() { return LESSONBUILDER; } @@ -1190,9 +1145,6 @@ public String merge(String siteId, Element root, String archivePath, String from return merge(siteId, root, archivePath, fromSiteId, attachmentNames, userIdTrans, userListAllowImport, null); } - /** - * {@inheritDoc} - */ public String merge(String siteId, Element root, String archivePath, String fromSiteId, Map attachmentNames, Map userIdTrans, Set userListAllowImport, Map entityMap) { @@ -1440,10 +1392,7 @@ public String merge(String siteId, Element root, String archivePath, String from } // merge - - /** - * {@inheritDoc} - */ + @Override public boolean parseEntityReference(String reference, Reference ref) { int i = reference.indexOf("/", 1); diff --git a/library/src/skins/default/src/sass/base/_icons.scss b/library/src/skins/default/src/sass/base/_icons.scss index 5500016ec0ad..28d8b1cbeeb7 100644 --- a/library/src/skins/default/src/sass/base/_icons.scss +++ b/library/src/skins/default/src/sass/base/_icons.scss @@ -120,8 +120,8 @@ $fa-font-path: "./fonts"; sakai-scorm-tool : bi-file-zip, // other icons add : bi-plus, + attachment : bi-paperclip, check : bi-check, - //clip : bi-paperclip, //delete : bi-x, //help : bi-question-circle, //home : bi-bank, diff --git a/library/src/skins/default/src/sass/modules/tool/polls/_polls.scss b/library/src/skins/default/src/sass/modules/tool/polls/_polls.scss index 42d3e1fa1466..3bb4bc233beb 100644 --- a/library/src/skins/default/src/sass/modules/tool/polls/_polls.scss +++ b/library/src/skins/default/src/sass/modules/tool/polls/_polls.scss @@ -8,12 +8,8 @@ thead{ tr{ th{ - background: #F9F9F9; font-weight: bold; text-decoration: none; - a{ - color: #347EB2; - } } .header{ a{ @@ -23,26 +19,33 @@ div{ .reset-order{ a{ - background-image: url(/library/image/sakai/sortdescending.gif); - background-repeat: no-repeat; + &:after { + font-family: FontAwesome; + content: "\f0dc"; // fa-sort + margin-left: 0.5em; + } } } } .headerSortUp{ a { - background-image: url(/library/image/sakai/sortdescending.gif); - background-repeat: no-repeat; - background-position: 90% center; padding-right: 25px; + &:after { + font-family: FontAwesome; + content: "\f0dd"; // fa-sort-desc + margin-left: 0.5em; + } } } .headerSortDown{ a { - background-image: url(/library/image/sakai/sortascending.gif); - background-repeat: no-repeat; - background-position: 90% center; padding-right: 25px; - } + &:after { + font-family: FontAwesome; + content: "\f0de"; // fa-sort-asc + margin-left: 0.5em; + } + } } } } @@ -57,14 +60,13 @@ } } .reset-order { - background-image: url(/library/image/sakai/expand-collapse.gif); - background-repeat: no-repeat; - background-position: center center; - height: 15px; - width: 25px; - border: none; - cursor: hand; - #reset-order-link span{ + cursor: pointer; + &:after { + font-family: FontAwesome; + content: "\f0dc"; // fa-sort + margin-left: 0.5em; + } + #reset-order-link span { display: none; } } @@ -73,8 +75,11 @@ display: none; } .addItem { - background:transparent url(/library/image/silk/add.png) no-repeat scroll left center; - padding-left:2em; + &:before { + font-family: FontAwesome; + content: "\f067"; // fa-plus + margin-right: 0.5em; + } } .actionItem, .itemAction{ @@ -95,8 +100,12 @@ } .refresh { - background-image: url(/library/image/silk/arrow_refresh.png); - } + &:before { + font-family: FontAwesome; + content: "\f021"; // fa-refresh + margin-right: 0.5em; + } + } form{ > table{ @@ -119,18 +128,6 @@ font-size: 12px; } } - &:nth-child(odd) { - background: #FFFFFF; - &:hover { - background-color: #f5f5f5 ; - } - } - &:nth-child(even) { - background: #F9F9F9; - &:hover { - background-color: #f5f5f5 ; - } - } } } input{ diff --git a/library/src/skins/default/src/sass/modules/tool/samigo/_samigo.scss b/library/src/skins/default/src/sass/modules/tool/samigo/_samigo.scss index 2917698d2795..a1aaaec2c60c 100644 --- a/library/src/skins/default/src/sass/modules/tool/samigo/_samigo.scss +++ b/library/src/skins/default/src/sass/modules/tool/samigo/_samigo.scss @@ -241,19 +241,23 @@ } table{ - td{ - input[type="checkbox"],input[type="radio"]{ - margin-right: $standard-space; - } - } - &.listHier td:empty{ - padding: 0; - } - @media #{$phone}{ - overflow-x: auto; + td { + input[type="checkbox"],input[type="radio"] { + margin-right: $standard-space; + } + } + &.samigo-question-info td.navList, + &.samigo-question-info td.navView { + border-bottom-width: 0; + border-top-width: 1px; + } + &.listHier td:empty { + padding: 0; + } + @media #{$phone} { + overflow-x: auto; display: block; - } - + } } #samLiteEntryForm\:data{ diff --git a/library/src/skins/default/src/sass/modules/tool/signup/_signup.scss b/library/src/skins/default/src/sass/modules/tool/signup/_signup.scss index 21d77fd37d4e..501bd004e17f 100644 --- a/library/src/skins/default/src/sass/modules/tool/signup/_signup.scss +++ b/library/src/skins/default/src/sass/modules/tool/signup/_signup.scss @@ -1,5 +1,16 @@ .#{$namespace}sakai-signup { + .alertMessageInline { + @extend .alert; + @extend .alert-danger; + } + + .alertMessage { + display: block; + @extend .alert; + @extend .alert-danger; + } + .form-required{ &:after{ content: "*"; diff --git a/library/src/skins/default/src/sass/themes/_dark.scss b/library/src/skins/default/src/sass/themes/_dark.scss index 37dcfe4598eb..78d63fe811c2 100644 --- a/library/src/skins/default/src/sass/themes/_dark.scss +++ b/library/src/skins/default/src/sass/themes/_dark.scss @@ -255,7 +255,11 @@ --bs-btn-color: white; } - input.form-control { + input { + color-scheme: dark; + } + + input.form-control, textarea.form-control, select.form-control { background-color: var(--sakai-background-color-2); color: var(--sakai-text-color-1); diff --git a/lti/lti-impl/src/java/org/sakaiproject/lti/impl/LTISecurityServiceImpl.java b/lti/lti-impl/src/java/org/sakaiproject/lti/impl/LTISecurityServiceImpl.java index dc0efced80d1..7ef060787f1d 100644 --- a/lti/lti-impl/src/java/org/sakaiproject/lti/impl/LTISecurityServiceImpl.java +++ b/lti/lti-impl/src/java/org/sakaiproject/lti/impl/LTISecurityServiceImpl.java @@ -353,9 +353,7 @@ private boolean sanityCheck(HttpServletRequest req, HttpServletResponse res, return true; } - /** - * {@inheritDoc} - */ + @Override public HttpAccess getHttpAccess() { return new HttpAccess() @@ -628,55 +626,19 @@ else if (refId.startsWith("export:") && refId.length() > 7) }; } - /** - * {@inheritDoc} - */ - public Entity getEntity(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public Collection getEntityAuthzGroups(Reference ref, String userId) - { - // Since we handle security ourself, we won't support anyone else asking - return null; - } - - /** - * {@inheritDoc} - */ - public String getEntityDescription(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ - public ResourceProperties getEntityResourceProperties(Reference ref) - { - return null; - } - - /** - * {@inheritDoc} - */ + @Override public String getEntityUrl(Reference ref) { return ServerConfigurationService.getAccessUrl() + ref.getReference(); } - /** - * {@inheritDoc} - */ + @Override public String getLabel() { return "basiclti"; } + @Override public boolean willArchiveMerge() { return true; diff --git a/lti/tsugi-util/src/java/org/tsugi/jackson/JacksonUtil.java b/lti/tsugi-util/src/java/org/tsugi/jackson/JacksonUtil.java index 6225070901a0..48e6c35dd412 100644 --- a/lti/tsugi-util/src/java/org/tsugi/jackson/JacksonUtil.java +++ b/lti/tsugi-util/src/java/org/tsugi/jackson/JacksonUtil.java @@ -23,6 +23,8 @@ import lombok.extern.slf4j.Slf4j; +import java.util.Map; + /** * Some Tsugi Utility code for to make using Jackson easier to use. */ @@ -35,7 +37,7 @@ public static String prettyPrint(Object obj) throws com.fasterxml.jackson.core.JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); - // ***IMPORTANT!!!*** for Jackson 2.x use the line below instead of the one above: + // ***IMPORTANT!!!*** for Jackson 2.x use the line below instead of the one above: // ObjectWriter writer = mapper.writer().withDefaultPrettyPrinter(); // return mapper.writeValueAsString(obj); ObjectWriter writer = mapper.writerWithDefaultPrettyPrinter(); @@ -73,4 +75,8 @@ public static ObjectMapper getLaxObjectMapper() return mapper; } + public static Map getHashMapFromJSONString(String keySetJSON) throws JsonProcessingException { + return new ObjectMapper().readValue(keySetJSON, Map.class); + } + } diff --git a/lti/tsugi-util/src/test/org/tsugi/lti13/GroupServiceTest.java b/lti/tsugi-util/src/test/org/tsugi/lti13/GroupServiceTest.java index 7df6d4dee044..f21eb3a70847 100644 --- a/lti/tsugi-util/src/test/org/tsugi/lti13/GroupServiceTest.java +++ b/lti/tsugi-util/src/test/org/tsugi/lti13/GroupServiceTest.java @@ -12,6 +12,7 @@ import java.util.Map; import java.util.TreeMap; +import org.tsugi.jackson.JacksonUtil; import org.tsugi.lti13.objects.GroupService; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; @@ -38,7 +39,7 @@ public void testConstructor() throws com.fasterxml.jackson.core.JsonProcessingEx ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writeValueAsString(gs); String jsonTest = "{\"scope\":[\"https://purl.imsglobal.org/spec/lti-gs/scope/contextgroup.readonly\"],\"context_groups_url\":\"https://www.myuniv.example.com/2344/groups\",\"context_group_sets_url\":\"https://www.myuniv.example.com/2344/groups/sets\",\"service_versions\":[\"1.0\"]}"; - assertEquals(jsonString, jsonTest); + assertEquals(JacksonUtil.getHashMapFromJSONString(jsonString), JacksonUtil.getHashMapFromJSONString(jsonTest)); } @Test diff --git a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13KeySetTest.java b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13KeySetTest.java index 6c1632c2e7d8..457b339c2580 100644 --- a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13KeySetTest.java +++ b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13KeySetTest.java @@ -14,7 +14,9 @@ import java.util.TreeMap; import static org.junit.Assert.*; +import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.Test; +import org.tsugi.jackson.JacksonUtil; /** * @@ -24,7 +26,7 @@ public class LTI13KeySetTest { @Test public void testKeySets() throws - NoSuchAlgorithmException, NoSuchProviderException, java.security.spec.InvalidKeySpecException { + NoSuchAlgorithmException, NoSuchProviderException, java.security.spec.InvalidKeySpecException, JsonProcessingException { String serialized = "-----BEGIN PUBLIC KEY-----\n" + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApgviDRUN1Z6hIOBg5uj1k\n" @@ -41,7 +43,7 @@ public void testKeySets() throws RSAPublicKey rsaPublic = (RSAPublicKey) publicKey; String keySetJSON = LTI13KeySetUtil.getKeySetJSON(rsaPublic); - boolean good = keySetJSON.contains("{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\","); + boolean good = checkKeySetJSONGoodness(keySetJSON); if (!good) { System.out.println("keyset JSON is bad\n"); System.out.println(keySetJSON); @@ -57,14 +59,23 @@ public void testKeySets() throws keys.put(kid, rsaPublic); String keySetJSON2 = LTI13KeySetUtil.getKeySetJSON(keys); - good = keySetJSON2.contains("{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\","); + good = checkKeySetJSONGoodness(keySetJSON2); if (!good) { System.out.println("keyset JSON is bad\n"); System.out.println(keySetJSON); } assertTrue(good); - assertEquals(keySetJSON, keySetJSON2); + assertEquals(JacksonUtil.getHashMapFromJSONString(keySetJSON), JacksonUtil.getHashMapFromJSONString(keySetJSON2)); + } + + private boolean checkKeySetJSONGoodness(String keySetJSON){ + boolean good = keySetJSON.contains("{\"keys\":"); + if (!good) { + return false; + } + good = keySetJSON.contains("\"kty\":\"RSA\"") && keySetJSON.contains("\"e\":\"AQAB\"") ; + return good; } @Test diff --git a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13NimbusTest.java b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13NimbusTest.java index 37f8ca2e2c5e..6fe6f5d54147 100644 --- a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13NimbusTest.java +++ b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13NimbusTest.java @@ -47,7 +47,7 @@ public void testRSAPaulGray() throws /* {"kty":"RSA","e":"AQAB","n":"rTbpgFsy-cho8KY7j9AtbAdQcVU6d1lYGobsOYs_gdgObf-_2uSEiPfHcs9Lz_v41XP2XToCbna1ejHj0xRds2LY3MpOHxy3UV3bk5GQp4c8eg1ydHEF4DpcIdzP2P3QDFeSppJjO3bakA0Atp20iubNZNmO0x42fbrRgYQmkPrpE-ShbNIWhq0FaRDPDg_o2R0rB9IliAfilZgwiGpzvWmOnmaB1maE4WpnWAo4gul8nMBQL0YDbIdCHi3qUx1cnXFgZwufMR27ZZ6xgvt_AY94_KBuuAC1XrQpqEpO5i7t3_tT2_OfAnh6GjXluAa06Iv3JNGfBox81a0h6qxfsw"} */ - boolean good = keyStr.contains("{\"kty\":\"RSA\",\"e\":\"AQAB\",\"n\":"); + boolean good = checkKeySetJSONGoodness(keyStr, false); if (!good) { System.out.println("rsaKey\n" + keyStr); } @@ -84,7 +84,7 @@ public void testRSAFromString() throws /* {"keys":[{"kty":"RSA","e":"AQAB","n":"pgviDRUN1Z6hIOBg5uj1kKSJjfJjayEJeJR7A06sm5K4QjYKYMve55LaD8CMqf98l_gnZ0vIaCuf4G9mkphc_yV0cgFY65wQmecPxv3IZ77wbJ-g5lL5vuCVTbh55nD--cj_hSBznXecQTXQNV9d51rCa65-PQ-YL1oRnrpUuLNPbdnc8kT_ZUq5Ic0WJM-NprN1tbbn2LafBY-igqbRQVoxIt75B8cd-35iQAUm8B4sw8zGs1bFpBy3A8rhCYcBAOdK2iSSudK2WEfW1E7RWnnNvw3ykMoVh1pq7zwL4P0IHXevvPnja-PmAT9zTwgU8WhiiIKl7YtJzkR9pEWtTw"}]} */ - boolean good = keysetJSON.contains("{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\","); + boolean good = checkKeySetJSONGoodness(keysetJSON, true); if (!good) { System.out.println("keyset JSON is bad\n"); System.out.println(keysetJSON); @@ -92,6 +92,15 @@ public void testRSAFromString() throws assertTrue(good); } + private boolean checkKeySetJSONGoodness(String keySetJSON, boolean withKeysAsParent){ + boolean good = keySetJSON.contains("{\"keys\":"); + if (!good && withKeysAsParent) { + return false; + } + good = keySetJSON.contains("\"kty\":\"RSA\"") && keySetJSON.contains("\"e\":\"AQAB\"") ; + return good; + } + @Test public void testBrokenDeserialization() { String bad_serialized = "-----BEGIN PUBLIC KEY-----\n" diff --git a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13ObjectTest.java b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13ObjectTest.java index 47b10d010b67..8d62178fb275 100644 --- a/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13ObjectTest.java +++ b/lti/tsugi-util/src/test/org/tsugi/lti13/LTI13ObjectTest.java @@ -2,6 +2,7 @@ import static org.junit.Assert.*; +import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.Test; import org.tsugi.lti13.objects.LaunchJWT; @@ -150,7 +151,7 @@ public void testOne() throws com.fasterxml.jackson.core.JsonProcessingException } @Test - public void testTwo() { + public void testTwo() throws JsonProcessingException { LTIPlatformConfiguration lpc = new LTIPlatformConfiguration(); LTILaunchMessage mp = new LTILaunchMessage(); mp.type = LaunchJWT.MESSAGE_TYPE_LAUNCH; @@ -169,10 +170,10 @@ public void testTwo() { String expected = "{\"token_endpoint_auth_methods_supported\":[\"private_key_jwt\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"RS256\"],\"scopes_supported\":[\"openid\"],\"response_types_supported\":[\"id_token\"],\"subject_types_supported\":[\"public\",\"pairwise\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"claims_supported\":[\"iss\",\"aud\"],\"https://purl.imsglobal.org/spec/lti-platform-configuration\":{\"messages_supported\":[{\"type\":\"LtiResourceLinkRequest\",\"placements\":[]},{\"type\":\"LtiDeepLinkingRequest\",\"placements\":[]}],\"variables\":[\"User.id\",\"Person.email.primary\"]}}"; - if ( ! expected.equals(pcs) ) { + if ( !JacksonUtil.getHashMapFromJSONString(expected).equals(JacksonUtil.getHashMapFromJSONString(pcs)) ) { System.out.println(pcs); } - assertEquals(pcs, expected); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected), JacksonUtil.getHashMapFromJSONString(pcs)); } @Test @@ -189,7 +190,7 @@ public void testThree() throws com.fasterxml.jackson.core.JsonProcessingExceptio String expected = "{\"https://purl.imsglobal.org/spec/lti/claim/message_type\":\"LtiResourceLinkRequest\",\"https://purl.imsglobal.org/spec/lti/claim/version\":\"1.3.0\",\"https://purl.imsglobal.org/spec/lti/claim/roles\":[],\"https://purl.imsglobal.org/spec/lti/claim/role_scope_mentor\":[],\"https://purl.imsglobal.org/spec/lti/claim/launch_presentation\":{\"document_target\":\"iframe\"}}"; String ljs = JacksonUtil.toString(lj); - assertEquals(expected,ljs); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected),JacksonUtil.getHashMapFromJSONString(ljs)); lj = new LaunchJWT(LaunchJWT.MESSAGE_TYPE_LAUNCH); lj.nonce = null; // Since we can't match random stuff @@ -197,7 +198,7 @@ public void testThree() throws com.fasterxml.jackson.core.JsonProcessingExceptio lj.issued = null; // Since we can't match random stuff lj.jti = null; // Since we can't match random stuff ljs = JacksonUtil.toString(lj); - assertEquals(expected,ljs); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected), JacksonUtil.getHashMapFromJSONString(ljs)); lj = new LaunchJWT(LaunchJWT.MESSAGE_TYPE_DEEP_LINK); lj.nonce = null; // Since we can't match random stuff @@ -206,7 +207,7 @@ public void testThree() throws com.fasterxml.jackson.core.JsonProcessingExceptio lj.jti = null; // Since we can't match random stuff ljs = JacksonUtil.toString(lj); String expected2 = expected.replaceAll("LtiResourceLinkRequest", "LtiDeepLinkingRequest"); - assertEquals(expected2,ljs); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected2), JacksonUtil.getHashMapFromJSONString(ljs)); lj = new LaunchJWT(LaunchJWT.MESSAGE_TYPE_LTI_DATA_PRIVACY_LAUNCH_REQUEST); lj.nonce = null; // Since we can't match random stuff @@ -215,7 +216,7 @@ public void testThree() throws com.fasterxml.jackson.core.JsonProcessingExceptio lj.jti = null; // Since we can't match random stuff ljs = JacksonUtil.toString(lj); expected2 = expected.replaceAll("LtiResourceLinkRequest", "LtiDataPrivacyLaunchRequest"); - assertEquals(expected2,ljs); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected2), JacksonUtil.getHashMapFromJSONString(ljs)); lj = new LaunchJWT(LaunchJWT.MESSAGE_TYPE_LTI_SUBMISSION_REVIEW_REQUEST); lj.nonce = null; // Since we can't match random stuff @@ -224,7 +225,7 @@ public void testThree() throws com.fasterxml.jackson.core.JsonProcessingExceptio lj.jti = null; // Since we can't match random stuff ljs = JacksonUtil.toString(lj); expected2 = expected.replaceAll("LtiResourceLinkRequest", "LtiSubmissionReviewRequest"); - assertEquals(expected2,ljs); + assertEquals(JacksonUtil.getHashMapFromJSONString(expected2), JacksonUtil.getHashMapFromJSONString(ljs)); } @Test diff --git a/master/pom.xml b/master/pom.xml index c186dbb87bc9..4fd94fb19cbe 100644 --- a/master/pom.xml +++ b/master/pom.xml @@ -23,7 +23,7 @@ 25-SNAPSHOT 3.1 - 2.17.0 + 2.18.0 2.6 3.17.0 1.5 @@ -54,7 +54,7 @@ 0.11.5 2.3.6 1.2 - 1.18.34 + 1.18.36 9.11.1 4.1.112.Final v20.18.0 diff --git a/msgcntr/messageforums-app/src/webapp/jsp/discussionForum/message/dfViewSearchBarThread.jsp b/msgcntr/messageforums-app/src/webapp/jsp/discussionForum/message/dfViewSearchBarThread.jsp index ccb52bc60762..a398781d5d7a 100644 --- a/msgcntr/messageforums-app/src/webapp/jsp/discussionForum/message/dfViewSearchBarThread.jsp +++ b/msgcntr/messageforums-app/src/webapp/jsp/discussionForum/message/dfViewSearchBarThread.jsp @@ -13,7 +13,7 @@ -