diff --git a/backend/src-common/src/main/java/org/eclipse/sw360/components/summary/ProjectSummary.java b/backend/src-common/src/main/java/org/eclipse/sw360/components/summary/ProjectSummary.java index 7eac75136..830f561e5 100644 --- a/backend/src-common/src/main/java/org/eclipse/sw360/components/summary/ProjectSummary.java +++ b/backend/src-common/src/main/java/org/eclipse/sw360/components/summary/ProjectSummary.java @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2014-2017. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2014-2018. Part of the SW360 Portal Project. * * SPDX-License-Identifier: EPL-1.0 * @@ -31,9 +31,6 @@ protected Project summary(SummaryType type, Project document) { case LINKED_PROJECT_ACCESSIBLE: setFieldsForAccessibleLinkedProject(document,copy); break; - case LINKED_PROJECT_NOT_ACCESSIBLE: - setFieldsForUnAccessibleLinkedProject(document,copy); - break; case SUMMARY: setSummaryFields(document, copy); break; @@ -68,14 +65,4 @@ protected static void setFieldsForAccessibleLinkedProject(Project document, Proj copyField(document, copy, _Fields.BUSINESS_UNIT); copyField(document, copy, _Fields.PROJECT_RESPONSIBLE); } - - protected static void setFieldsForUnAccessibleLinkedProject(Project document, Project copy) { - copyField(document, copy, _Fields.ID); - copyField(document, copy, _Fields.NAME); - copyField(document, copy, _Fields.VERSION); - copy.setDescription(""); - copy.setClearingTeam(""); - copy.setBusinessUnit(""); - copy.setProjectResponsible(""); - } } diff --git a/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectDatabaseHandler.java b/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectDatabaseHandler.java index a06062db0..2cc58f70f 100644 --- a/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectDatabaseHandler.java +++ b/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectDatabaseHandler.java @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. * * SPDX-License-Identifier: EPL-1.0 * @@ -53,6 +53,7 @@ * @author cedric.bodet@tngtech.com * @author daniele.fognini@tngtech.com * @author alex.borodin@evosoft.com + * @author thomas.maier@evosoft.com */ public class ProjectDatabaseHandler extends AttachmentAwareDatabaseHandler { @@ -430,6 +431,14 @@ public List getProjectsById(List id, User user) { return output; } + public int getCountByReleaseIds(Set ids) { + return repository.getCountByReleaseIds(ids); + } + + public int getCountByProjectId(String id) { + return repository.getCountByProjectId(id); + } + public Set getAccessibleProjects(User user) { return repository.getAccessibleProjects(user); } diff --git a/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectRepository.java b/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectRepository.java index ae357a079..ba88f3643 100644 --- a/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectRepository.java +++ b/backend/src-common/src/main/java/org/eclipse/sw360/datahandler/db/ProjectRepository.java @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2013-2016. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. * * SPDX-License-Identifier: EPL-1.0 * @@ -10,7 +10,6 @@ */ package org.eclipse.sw360.datahandler.db; -import com.google.common.collect.Sets; import org.eclipse.sw360.components.summary.ProjectSummary; import org.eclipse.sw360.components.summary.SummaryType; import org.eclipse.sw360.datahandler.couchdb.DatabaseConnector; @@ -21,9 +20,7 @@ import org.ektorp.support.View; import org.jetbrains.annotations.NotNull; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; import static com.google.common.base.Strings.isNullOrEmpty; @@ -34,6 +31,7 @@ * * @author cedric.bodet@tngtech.com * @author Johannes.Najjar@tngtech.com + * @author thomas.maier@evosoft.com */ @View(name = "all", map = "function(doc) { if (doc.type == 'project') emit(null, doc._id) }") public class ProjectRepository extends SummaryAwareRepository { @@ -153,17 +151,19 @@ public List searchByNameAndVersion(String name, String version) { return makeSummaryFromFullDocs(SummaryType.SHORT, projectsMatchingNameAndVersion); } - @View(name = "byreleaseid", map = BY_RELEASE_ID_VIEW) public Set searchByReleaseId(String id, User user) { - Set searchIds = queryForIdsAsValue("byreleaseid", id); - - return new HashSet<>((makeSummaryFromFullDocs(SummaryType.SHORT, filterAccessibleProjectsByIds(user, searchIds)))); + return searchByReleaseId(Collections.singleton(id), user); } public Set searchByReleaseId(Set ids, User user) { Set searchIds = queryForIdsAsValue("byreleaseid", ids); - return linkedProjectSummaryAccordingToAccessibility(searchIds, user); + return getAccessibleProjectSummary(user, searchIds); + } + + public int getCountByReleaseIds(Set ids) { + Set searchIds = queryForIdsAsValue("byreleaseid", ids); + return searchIds.size(); } @View(name = "fullbyreleaseid", map = FULL_BY_RELEASE_ID_VIEW) @@ -175,21 +175,16 @@ public Set searchByReleaseId(Set ids) { return new HashSet<>(queryByIds("fullbyreleaseid", ids)); } - @View(name = "bylinkingprojectid", map = BY_LINKING_PROJECT_ID_VIEW) public Set searchByLinkingProjectId(String id, User user) { Set searchIds = queryForIdsByPrefix("bylinkingprojectid", id); - return linkedProjectSummaryAccordingToAccessibility(searchIds, user); + return getAccessibleProjectSummary(user, searchIds); } - private Set linkedProjectSummaryAccordingToAccessibility(Set ids, User user){ - Set accessibleLinkedProjects = filterAccessibleProjectsByIds(user, ids); - Set accessibleLinkedProjectIds = accessibleLinkedProjects.stream().map(Project::getId).collect(Collectors.toSet()); - Set unaccessibleLinkedProjectIds = Sets.difference(ids, accessibleLinkedProjectIds); - List unaccessibleLinkedProjects = get(unaccessibleLinkedProjectIds); - Set projectSummary = new HashSet<>((makeSummaryFromFullDocs(SummaryType.LINKED_PROJECT_ACCESSIBLE, accessibleLinkedProjects ))); - projectSummary.addAll(makeSummaryFromFullDocs(SummaryType.LINKED_PROJECT_NOT_ACCESSIBLE, unaccessibleLinkedProjects )); - return projectSummary; + @View(name = "bylinkingprojectid", map = BY_LINKING_PROJECT_ID_VIEW) + public int getCountByProjectId(String id) { + Set searchIds = queryForIdsByPrefix("bylinkingprojectid", id); + return searchIds.size(); } @View(name = "fullbylinkingprojectid", map = FULL_BY_LINKING_PROJECT_ID_VIEW) @@ -264,4 +259,9 @@ private Set filterAccessibleProjectsByIds(User user, Set search return output; } + + private Set getAccessibleProjectSummary(User user, Set searchIds) { + Set accessibleProjects = filterAccessibleProjectsByIds(user, searchIds); + return new HashSet<>(makeSummaryFromFullDocs(SummaryType.LINKED_PROJECT_ACCESSIBLE, accessibleProjects)); + } } diff --git a/backend/src/src-projects/src/main/java/org/eclipse/sw360/projects/ProjectHandler.java b/backend/src/src-projects/src/main/java/org/eclipse/sw360/projects/ProjectHandler.java index 81f04dea3..ece1f7384 100644 --- a/backend/src/src-projects/src/main/java/org/eclipse/sw360/projects/ProjectHandler.java +++ b/backend/src/src-projects/src/main/java/org/eclipse/sw360/projects/ProjectHandler.java @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. * * SPDX-License-Identifier: EPL-1.0 * @@ -39,6 +39,7 @@ * @author cedric.bodet@tngtech.com * @author Johannes.Najjar@tngtech.com * @author alex.borodin@evosoft.com + * @author thomas.maier@evosoft.com */ public class ProjectHandler implements ProjectService.Iface { @@ -139,6 +140,18 @@ public Project getProjectByIdForEdit(String id, User user) throws TException { return project; } + @Override + public int getCountByReleaseIds(Set ids) throws TException { + assertNotEmpty(ids); + return handler.getCountByReleaseIds(ids); + } + + @Override + public int getCountByProjectId(String id) throws TException { + assertNotEmpty(id); + return handler.getCountByProjectId(id); + } + //////////////////////////// // ADD INDIVIDUAL OBJECTS // //////////////////////////// diff --git a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/common/PortalConstants.java b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/common/PortalConstants.java index 9fd15fea9..19ed05cb5 100644 --- a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/common/PortalConstants.java +++ b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/common/PortalConstants.java @@ -138,6 +138,7 @@ public class PortalConstants { public static final String USING_PROJECTS = "usingProjects"; public static final String USING_COMPONENTS = "usingComponents"; public static final String USING_RELEASES = "usingReleases"; + public static final String ALL_USING_PROJECTS_COUNT = "allUsingProjectsCount"; public static final String PROJECT_LIST = "projectList"; public static final String RELEASE_LIST = "releaseList"; public static final String PROJECT_SEARCH = "projectSearch"; diff --git a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/components/ComponentPortlet.java b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/components/ComponentPortlet.java index d444e2f71..1be57f73a 100644 --- a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/components/ComponentPortlet.java +++ b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/components/ComponentPortlet.java @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. * With contributions by Bosch Software Innovations GmbH, 2016. * * SPDX-License-Identifier: EPL-1.0 @@ -80,6 +80,7 @@ * @author Johannes.Najjar@tngtech.com * @author stefan.jaeger@evosoft.com * @author alex.borodin@evosoft.com + * @author thomas.maier@evosoft.com */ public class ComponentPortlet extends FossologyAwarePortlet { @@ -760,19 +761,22 @@ private void prepareDetailView(RenderRequest request, RenderResponse response) { private void setUsingDocs(RenderRequest request, User user, ComponentService.Iface client, Set releaseIds) { Set usingProjects = null; Set usingComponentsForComponent = null; + int allUsingProjectsCount = 0; + if (releaseIds != null && releaseIds.size() > 0) { try { ProjectService.Iface projectClient = thriftClients.makeProjectClient(); usingProjects = projectClient.searchByReleaseIds(releaseIds, user); + allUsingProjectsCount = projectClient.getCountByReleaseIds(releaseIds); usingComponentsForComponent = client.getUsingComponentsForComponent(releaseIds); } catch (TException e) { log.error("Problem filling using docs", e); } - } request.setAttribute(USING_PROJECTS, nullToEmptySet(usingProjects)); request.setAttribute(USING_COMPONENTS, nullToEmptySet(usingComponentsForComponent)); + request.setAttribute(ALL_USING_PROJECTS_COUNT, allUsingProjectsCount); } private void prepareReleaseDetailView(RenderRequest request, RenderResponse response) throws PortletException { @@ -914,12 +918,14 @@ private void setUsingDocs(RenderRequest request, String releaseId, User user, Co ProjectService.Iface projectClient = thriftClients.makeProjectClient(); Set usingProjects = projectClient.searchByReleaseId(releaseId, user); request.setAttribute(USING_PROJECTS, nullToEmptySet(usingProjects)); - + int allUsingProjectsCount = projectClient.getCountByReleaseIds(Collections.singleton(releaseId)); + request.setAttribute(ALL_USING_PROJECTS_COUNT, allUsingProjectsCount); final Set usingComponentsForRelease = client.getUsingComponentsForRelease(releaseId); request.setAttribute(USING_COMPONENTS, nullToEmptySet(usingComponentsForRelease)); } else { request.setAttribute(USING_PROJECTS, Collections.emptySet()); request.setAttribute(USING_COMPONENTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); } } @@ -1050,6 +1056,7 @@ private void prepareRequestForEditAfterDuplicateError(ActionRequest request, Com setAttachmentsInRequest(request, component.getAttachments()); request.setAttribute(USING_PROJECTS, Collections.emptySet()); request.setAttribute(USING_COMPONENTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); } @UsedAsLiferayAction @@ -1117,6 +1124,7 @@ private void prepareRequestForReleaseEditAfterDuplicateError(ActionRequest reque putDirectlyLinkedReleaseRelationsInRequest(request, release); request.setAttribute(USING_PROJECTS, Collections.emptySet()); request.setAttribute(USING_COMPONENTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); } private void fillVendor(Release release) throws TException { diff --git a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/projects/ProjectPortlet.java b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/projects/ProjectPortlet.java index cc8fb192e..d46ec7498 100644 --- a/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/projects/ProjectPortlet.java +++ b/frontend/sw360-portlet/src/main/java/org/eclipse/sw360/portal/portlets/projects/ProjectPortlet.java @@ -756,6 +756,8 @@ private void prepareDetailView(RenderRequest request, RenderResponse response) t putDirectlyLinkedReleasesInRequest(request, project); Set usingProjects = client.searchLinkingProjects(id, user); request.setAttribute(USING_PROJECTS, usingProjects); + int allUsingProjectCount = client.getCountByProjectId(id); + request.setAttribute(ALL_USING_PROJECTS_COUNT, allUsingProjectCount); putReleasesAndProjectIntoRequest(request, id, user); putVulnerabilitiesInRequest(request, id, user); request.setAttribute( @@ -955,6 +957,7 @@ private void prepareProjectEdit(RenderRequest request) { request.setAttribute(DOCUMENT_TYPE, SW360Constants.TYPE_PROJECT); Project project; Set usingProjects; + int allUsingProjectCount = 0; request.setAttribute(DEFAULT_LICENSE_INFO_HEADER_TEXT, getProjectDefaultLicenseInfoHeaderText()); if (id != null) { @@ -963,6 +966,7 @@ private void prepareProjectEdit(RenderRequest request) { ProjectService.Iface client = thriftClients.makeProjectClient(); project = client.getProjectByIdForEdit(id, user); usingProjects = client.searchLinkingProjects(id, user); + allUsingProjectCount = client.getCountByProjectId(id); } catch (TException e) { log.error("Something went wrong with fetching the project", e); setSW360SessionError(request, ErrorMessages.ERROR_GETTING_PROJECT); @@ -982,6 +986,7 @@ private void prepareProjectEdit(RenderRequest request) { } request.setAttribute(USING_PROJECTS, usingProjects); + request.setAttribute(ALL_USING_PROJECTS_COUNT, allUsingProjectCount); Map permissions = project.getPermissions(); DocumentState documentState = project.getDocumentState(); @@ -999,6 +1004,7 @@ private void prepareProjectEdit(RenderRequest request) { log.error("Could not put empty linked projects or linked releases in projects view.", e); } request.setAttribute(USING_PROJECTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); SessionMessages.add(request, "request_processed", "New Project"); } @@ -1023,6 +1029,7 @@ private void prepareProjectDuplicate(RenderRequest request) { putDirectlyLinkedProjectsInRequest(request, newProject, user); putDirectlyLinkedReleasesInRequest(request, newProject); request.setAttribute(USING_PROJECTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); } else { Project project = new Project(); project.setBusinessUnit(user.getDepartment()); @@ -1033,6 +1040,7 @@ private void prepareProjectDuplicate(RenderRequest request) { putDirectlyLinkedReleasesInRequest(request, project); request.setAttribute(USING_PROJECTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); } } catch (TException e) { log.error("Error fetching project from backend!", e); @@ -1099,6 +1107,7 @@ private void prepareRequestForEditAfterDuplicateError(ActionRequest request, Pro request.setAttribute(PROJECT, project); setAttachmentsInRequest(request, project.getAttachments()); request.setAttribute(USING_PROJECTS, Collections.emptySet()); + request.setAttribute(ALL_USING_PROJECTS_COUNT, 0); putDirectlyLinkedProjectsInRequest(request, project, user); putDirectlyLinkedReleasesInRequest(request, project); } diff --git a/frontend/sw360-portlet/src/main/webapp/html/components/detail.jsp b/frontend/sw360-portlet/src/main/webapp/html/components/detail.jsp index 538192e00..1da02dece 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/components/detail.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/components/detail.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ With modifications by Bosch Software Innovations GmbH, 2016. ~ ~ SPDX-License-Identifier: EPL-1.0 @@ -40,6 +40,7 @@ + diff --git a/frontend/sw360-portlet/src/main/webapp/html/components/detailRelease.jsp b/frontend/sw360-portlet/src/main/webapp/html/components/detailRelease.jsp index 7c8dbbcc2..67e959afb 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/components/detailRelease.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/components/detailRelease.jsp @@ -45,6 +45,7 @@ + diff --git a/frontend/sw360-portlet/src/main/webapp/html/components/edit.jsp b/frontend/sw360-portlet/src/main/webapp/html/components/edit.jsp index e1618f812..551b64d35 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/components/edit.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/components/edit.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -50,7 +50,7 @@ - + diff --git a/frontend/sw360-portlet/src/main/webapp/html/moderation/components/merge.jsp b/frontend/sw360-portlet/src/main/webapp/html/moderation/components/merge.jsp index b66ed4a23..13af0104f 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/moderation/components/merge.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/moderation/components/merge.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2016. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -26,6 +26,7 @@ + diff --git a/frontend/sw360-portlet/src/main/webapp/html/moderation/projects/merge.jsp b/frontend/sw360-portlet/src/main/webapp/html/moderation/projects/merge.jsp index 523a40179..123a484e9 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/moderation/projects/merge.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/moderation/projects/merge.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2016. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -20,6 +20,7 @@ <%@ page import="javax.portlet.PortletRequest" %> + diff --git a/frontend/sw360-portlet/src/main/webapp/html/moderation/releases/merge.jsp b/frontend/sw360-portlet/src/main/webapp/html/moderation/releases/merge.jsp index 9e70cf67e..e6bc89589 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/moderation/releases/merge.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/moderation/releases/merge.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2016. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -29,7 +29,7 @@ - + diff --git a/frontend/sw360-portlet/src/main/webapp/html/projects/detail.jsp b/frontend/sw360-portlet/src/main/webapp/html/projects/detail.jsp index 90963dff6..f1fede6c6 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/projects/detail.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/projects/detail.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -24,6 +24,7 @@ + diff --git a/frontend/sw360-portlet/src/main/webapp/html/projects/edit.jsp b/frontend/sw360-portlet/src/main/webapp/html/projects/edit.jsp index 6a29c5f9b..d4eb05d13 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/projects/edit.jsp +++ b/frontend/sw360-portlet/src/main/webapp/html/projects/edit.jsp @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ ~ SPDX-License-Identifier: EPL-1.0 ~ @@ -46,6 +46,7 @@ + diff --git a/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingComponentsTable.jspf b/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingComponentsTable.jspf index f8bcc3725..cdafa5ca5 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingComponentsTable.jspf +++ b/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingComponentsTable.jspf @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ With contributions by Bosch Software Innovations GmbH, 2016. ~ ~ SPDX-License-Identifier: EPL-1.0 @@ -11,7 +11,7 @@ --%> - +
diff --git a/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingProjectsTable.jspf b/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingProjectsTable.jspf index e81d9ee9b..380456ab1 100644 --- a/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingProjectsTable.jspf +++ b/frontend/sw360-portlet/src/main/webapp/html/utils/includes/usingProjectsTable.jspf @@ -1,5 +1,5 @@ <%-- - ~ Copyright Siemens AG, 2013-2017. Part of the SW360 Portal Project. + ~ Copyright Siemens AG, 2013-2018. Part of the SW360 Portal Project. ~ With contributions by Bosch Software Innovations GmbH, 2016. ~ ~ SPDX-License-Identifier: EPL-1.0 @@ -10,12 +10,13 @@ ~ http://www.eclipse.org/legal/epl-v10.html --%> - +
is used by the following components
- + diff --git a/libraries/lib-datahandler/src/main/thrift/projects.thrift b/libraries/lib-datahandler/src/main/thrift/projects.thrift index ba1403dda..312f6c564 100644 --- a/libraries/lib-datahandler/src/main/thrift/projects.thrift +++ b/libraries/lib-datahandler/src/main/thrift/projects.thrift @@ -1,5 +1,5 @@ /* - * Copyright Siemens AG, 2014-2017. Part of the SW360 Portal Project. + * Copyright Siemens AG, 2014-2018. Part of the SW360 Portal Project. * With contributions by Bosch Software Innovations GmbH, 2016. * * SPDX-License-Identifier: EPL-1.0 @@ -294,4 +294,14 @@ service ProjectService { * get clearing status data for all releases linked by the given project and its subprojects */ list getReleaseClearingStatuses(1: string projectId, 2: User user); + + /** + * get the count value of projects which have `id` in releaseIdToUsage + */ + i32 getCountByReleaseIds(1: set ids); + + /** + * get the count value of projects which have `id` in linkedProjects + */ + i32 getCountByProjectId(1: string id); }
is used by the following projects is used by a total of ${allUsingProjectsCount} + (${usingProjects.size()} visible / ${allUsingProjectsCount - usingProjects.size()} restricted) projects
Project NameGroupResponsible