]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-9087 add PROJECTS.PRIVATE non null column
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 11 Apr 2017 14:02:58 +0000 (16:02 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 27 Apr 2017 12:25:54 +0000 (14:25 +0200)
96 files changed:
server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl
server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java
server/sonar-db-dao/src/main/resources/org/sonar/db/component/ComponentMapper.xml
server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDaoTest.java
server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDtoTest.java
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/delete-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/delete.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/insert_disabled_component-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/multi-modules.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/selectForIndexing.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_module_files_tree.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/select_provisioned_projects.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/shared_views.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/update-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoTest/update.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentDaoWithDuplicatedKeysTest/schema.sql
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shared.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldUpdateKey-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/ResourceDaoTest/update_authorization_date.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_previous_version_snapshots.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/component/SnapshotDaoTest/select_snapshots_by_query.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/insert.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/duplication/DuplicationDaoTest/select_candidates.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/anonymous_should_be_authorized.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/group_should_be_authorized.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_project_ids_for_anonymous.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_project_ids_for_group.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_project_ids_for_user.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_anonymous.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_group.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/keep_authorized_users_for_role_and_project_for_user.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/should_return_root_project_keys_for_anonymous.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/should_return_root_project_keys_for_group.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/should_return_root_project_keys_for_user.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/permission/AuthorizationDaoTest/user_should_be_authorized.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/property/PropertiesDaoTest/select_module_properties_tree.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeCommandsTest/shouldDeleteResource.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/close_issues_clean_index_and_files_sources_of_specified_components-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/close_issues_clean_index_and_files_sources_of_specified_components.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/delete_project_in_ce_activity_when_deleting_project.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteAbortedBuilds.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteHistoricalDataOfDirectoriesAndFiles.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldDeleteProject.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/shouldPurgeProject.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_all_closed_issues.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues-result.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/should_delete_old_closed_issues.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/purge/PurgeDaoTest/view_sub_view_and_tech_project.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/qualitygate/ProjectQgateAssociationDaoTest/shared.xml
server/sonar-db-dao/src/test/resources/org/sonar/db/qualityprofile/QualityProfileDaoTest/projects.xml
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivate.java [new file with mode: 0644]
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/DbVersion64.java
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullable.java [new file with mode: 0644]
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivate.java [new file with mode: 0644]
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest.java [new file with mode: 0644]
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/DbVersion64Test.java
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest.java [new file with mode: 0644]
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest.java [new file with mode: 0644]
server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest/projects_without_private_column.sql [new file with mode: 0644]
server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest/projects_with_nullable_private_column.sql [new file with mode: 0644]
server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest/projects_with_nullable_private_column.sql [new file with mode: 0644]
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/measure/MeasureRepositoryImplTest/shared.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/empty.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/no_previous_version.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/previous_version_deleted.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/previous_version_is_last_one.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/shared.xml
server/sonar-server/src/test/resources/org/sonar/server/computation/task/projectanalysis/step/LoadPeriodsStepTest/unprocessed_snapshots.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_component_id_from_db.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/load_project_id_from_db.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_insert_new_issues.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/ServerIssueStorageTest/should_update_issues.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index_project.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueResultSetIteratorTest/extract_directory_path.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueResultSetIteratorTest/extract_file_path.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueResultSetIteratorTest/many_projects.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueResultSetIteratorTest/one_issue.xml
server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueResultSetIteratorTest/shared.xml
server/sonar-server/src/test/resources/org/sonar/server/platform/BackendCleanupTest/shared.xml
server/sonar-server/src/test/resources/org/sonar/server/source/ws/HashActionTest/no_source.xml
server/sonar-server/src/test/resources/org/sonar/server/source/ws/HashActionTest/shared.xml
server/sonar-server/src/test/resources/org/sonar/server/source/ws/HashActionTest/show_hashes_on_test_file.xml
server/sonar-server/src/test/resources/org/sonar/server/view/index/ViewIndexerTest/index.xml

index 5255f8fb9f42fb6a466b2131534fea921a51b5f1..33ce502f656ea4d303053970dbb3e42a3e41577a 100644 (file)
@@ -284,6 +284,7 @@ CREATE TABLE "PROJECTS" (
   "MODULE_UUID_PATH" VARCHAR(1500),
   "NAME" VARCHAR(2000),
   "DESCRIPTION" VARCHAR(2000),
+  "PRIVATE" BOOLEAN NOT NULL,
   "TAGS" VARCHAR(500),
   "ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
   "SCOPE" VARCHAR(3),
index 194296b6c77b8e013a2d3d48a194bd2210b56db5..215a248c0c4f66ba118837a7bf8c111496ac2aee 100644 (file)
@@ -121,6 +121,7 @@ public class ComponentDto implements Component {
   private String description;
   private String tags;
   private boolean enabled = true;
+  private boolean isPrivate = false;
 
   private Date createdAt;
   private Long authorizationUpdatedAt;
@@ -395,6 +396,15 @@ public class ComponentDto implements Component {
     return this;
   }
 
+  public boolean isPrivate() {
+    return isPrivate;
+  }
+
+  public ComponentDto setPrivate(boolean flag) {
+    this.isPrivate = flag;
+    return this;
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) {
@@ -435,6 +445,7 @@ public class ComponentDto implements Component {
       .append("language", language)
       .append("enabled", enabled)
       .append("authorizationUpdatedAt", authorizationUpdatedAt)
+      .append("private", isPrivate)
       .toString();
   }
 }
index 85229fc27c24847e55a421b90a83bc893f546f08..1a461df3c41a7eb71613674daf85b90a04475455 100644 (file)
@@ -44,6 +44,7 @@
     p.enabled as enabled,
     p.copy_component_uuid as copyComponentUuid,
     p.developer_uuid as developerUuid,
+    p.private as isPrivate,
     p.authorization_updated_at as authorizationUpdatedAt,
     p.created_at as createdAt
   </sql>
     scope,
     language,
     description,
+    private,
     tags,
     root_uuid,
     path,
     #{scope,jdbcType=VARCHAR},
     #{language,jdbcType=VARCHAR},
     #{description,jdbcType=VARCHAR},
+    #{isPrivate,jdbcType=BOOLEAN},
     #{tagsString, jdbcType=VARCHAR},
     #{rootUuid,jdbcType=VARCHAR},
     #{path,jdbcType=VARCHAR},
index cc76f0b80e10acd5e2103fd98d351291d9573e68..eb6e051d2fd4b46fcc03cd69e14c12d11e671cd2 100644 (file)
@@ -107,6 +107,7 @@ public class ComponentDaoTest {
     assertThat(result.language()).isEqualTo("java");
     assertThat(result.getCopyResourceUuid()).isNull();
     assertThat(result.getDeveloperUuid()).isNull();
+    assertThat(result.isPrivate()).isTrue();
 
     assertThat(underTest.selectByUuid(dbSession, "UNKNOWN")).isAbsent();
   }
@@ -131,6 +132,7 @@ public class ComponentDaoTest {
     assertThat(result.language()).isNull();
     assertThat(result.getCopyResourceUuid()).isEqualTo("U1");
     assertThat(result.getDeveloperUuid()).isEqualTo("developer_uuid_of_U7");
+    assertThat(result.isPrivate()).isFalse();
   }
 
   @Test
index eb2d9264e858d5ff87d830b434f59439654bdde2..0e21d5d86a8cfff542ec4700c1f84dd9e0fb91c0 100644 (file)
@@ -61,6 +61,7 @@ public class ComponentDtoTest {
     assertThat(componentDto.getCopyResourceUuid()).isEqualTo("uuid_5");
     assertThat(componentDto.getDeveloperUuid()).isEqualTo("uuid_6");
     assertThat(componentDto.getAuthorizationUpdatedAt()).isEqualTo(123456789L);
+    assertThat(componentDto.isPrivate()).isFalse();
   }
 
   @Test
index 011fa17ec22c8e2196f286b245255a57d393d51b..0aa6bc0b343316bc8d9fee9cf447bb22ff0bf266 100644 (file)
@@ -15,6 +15,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_resource_id="[null]"
@@ -36,6 +37,7 @@
             name="src/org/struts"
             root_id="2"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_resource_id="[null]"
@@ -58,6 +60,7 @@
             name="RequestContext.java"
             root_id="2"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_resource_id="[null]"
index 9b7272d6d8c7f674e3cbc3b0fa7e5e90b36f2abd..b953654da8c5a18d8c9b76dcb5e4c9b27be1c489 100644 (file)
@@ -15,6 +15,7 @@
             module_uuid="[null]"
             module_uuid_path=".ABCD."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
@@ -38,6 +39,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_resource_id="[null]"
@@ -59,6 +61,7 @@
             name="src/org/struts"
             root_id="2"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_resource_id="[null]"
@@ -81,6 +84,7 @@
             name="RequestContext.java"
             root_id="2"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_resource_id="[null]"
index 280502a5ea86427cc51583c1f824dfad6085fa0a..dfeb40750abf1de6883ef4dd1da38cb024c0dde0 100644 (file)
@@ -17,6 +17,7 @@
             path="src/org/struts/RequestContext.java"
             root_uuid="uuid_3"
             description="description"
+            private="[false]"
             tags="platform,analyzers"
             enabled="[true]"
             copy_component_uuid="uuid_5"
index 7f24dbc859377b271ca90eccd18dffad7d2c30f3..0012dbd3a6cb0d7f78bc2c373733f8e3ee13cfd4 100644 (file)
@@ -16,6 +16,7 @@
             path="src/org/struts/RequestContext.java"
             root_uuid="uuid_3"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[false]"
             copy_component_uuid="[null]"
index c0c504e1790709803c30ac63341387dfc7540cd5..8141e41fc91cae446591b0b73fea122b19b59577 100644 (file)
@@ -15,6 +15,7 @@
             qualifier="TRK"
             long_name="Apache Struts"
             description="the description"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
@@ -47,6 +48,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
@@ -73,6 +75,7 @@
             qualifier="BRC"
             long_name="Struts Data"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="src/org/struts"
             long_name="org.struts"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="RequestContext.java"
             long_name="org.struts.RequestContext"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
             qualifier="BRC"
             long_name="Struts Data"
             description="[null]"
+            private="[false]"
             enabled="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             name="src/org/struts"
             long_name="org.struts"
             description="[null]"
+            private="[false]"
             enabled="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             name="RequestContext.java"
             long_name="org.struts.RequestContext"
             description="[null]"
+            private="[false]"
             enabled="[false]"
             language="java"
             copy_component_uuid="[null]"
index 596dd4eec2fa172ca94de1641a8bc6714702e314..ed56c9a17797a68f0922c0a1711341c3bde5ff76 100644 (file)
@@ -22,6 +22,7 @@
             module_uuid="module_uuid_of_U1"
             module_uuid_path="module_uuid_path_of_U1"
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="java"
@@ -45,6 +46,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
@@ -66,6 +68,7 @@
             module_uuid_path="module_uuid_path_of_U3"
             name="src/org/struts"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
@@ -88,6 +91,7 @@
             module_uuid_path="module_uuid_path_of_U4"
             name="RequestContext.java"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
             module_uuid="module_uuid_of_U5"
             module_uuid_path="module_uuid_path_of_U5"
             description="the description"
+            private="[false]"
             long_name="Some Paper"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Paper Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             module_uuid="[null]"
             module_uuid_path="module_uuid_path_of_DIS7"
             description="the description"
+            private="[false]"
             long_name="Disabled project"
             enabled="[false]"
             language="[null]"
             module_uuid="[null]"
             module_uuid_path="module_uuid_path_of_COPY8"
             description="the description"
+            private="[false]"
             long_name="Copy project"
             enabled="[true]"
             language="[null]"
index 29ae26433978f4d77d686c31e0ed88d128435cf0..963ec860595226485e75822dd959e6791d874601 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path=".ABCD."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
@@ -37,6 +38,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
@@ -58,6 +60,7 @@
             long_name="pom.xml"
             root_uuid="EFGHI"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
@@ -92,6 +95,7 @@
             qualifier="BRC"
             long_name="Struts Data"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             long_name="org.struts"
             root_uuid="EFGHI"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             long_name="org.struts.RequestContext"
             root_uuid="EFGHI"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
index fec30da0d4c3abab6fb05758891399015a53b798..f1a2ed878ac5e86bb0afc6629e4e1e41a6823c04 100644 (file)
@@ -21,6 +21,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="the description"
+            private="[false]"
             long_name="Provisioned Project"
             enabled="[true]"
             language="[null]"
@@ -44,6 +45,7 @@
             module_uuid="[null]"
             module_uuid_path=".ABCD."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="src/org/struts"
             root_uuid="EFGH"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="RequestContext.java"
             root_uuid="EFGH"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
             module_uuid="[null]"
             module_uuid_path="."
             description="the description"
+            private="[false]"
             long_name="Disabled project"
             enabled="[false]"
             language="[null]"
             module_uuid="[null]"
             module_uuid_path=".OPQR."
             description="the description"
+            private="[false]"
             long_name="Anakin Skywalker"
             enabled="[true]"
             language="[null]"
             module_uuid="OPQR"
             module_uuid_path=".OPQR."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
index 9456f3b138bd986087f2836823a9f54306fafe8c..f6d903ddc9266cb5f2065af6a5b609ea35815afd 100644 (file)
@@ -29,6 +29,7 @@
             module_uuid="module_uuid_of_U1"
             module_uuid_path="module_uuid_path_of_U1"
             description="the description"
+            private="[true]"
             long_name="Apache Struts"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             module_uuid_path="module_uuid_path_of_U3"
             name="src/org/struts"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             module_uuid_path="module_uuid_path_of_U4"
             name="RequestContext.java"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
             module_uuid="[null]"
             module_uuid_path="module_uuid_path_of_U5"
             description="the description"
+            private="[false]"
             long_name="Disabled project"
             enabled="[false]"
             language="[null]"
             module_uuid="[null]"
             module_uuid_path="module_uuid_path_of_U6"
             description="the description"
+            private="[false]"
             long_name="Anakin Skywalker"
             enabled="[true]"
             language="[null]"
             module_uuid="module_uuid_of_U7"
             module_uuid_path="module_uuid_path_of_U7"
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
index 9c86662fbfad03fa1f939fe9b3d8963380c0cd57..33195a0ede13b6b5c9dbff88936bc9772eae8321 100644 (file)
@@ -11,6 +11,7 @@
             module_uuid_path=".ABCD."
             copy_component_uuid="[null]"
             enabled="[true]"
+            private="[false]"
             kee="MASTER_PROJECT"
             scope="PRJ"
             qualifier="VW"
@@ -27,6 +28,7 @@
             module_uuid_path=".ABCD."
             copy_component_uuid="JKLM"
             enabled="[true]"
+            private="[false]"
             kee="MASTER_PROJECTorg.struts:struts"
             scope="FIL"
             qualifier="TRK"
@@ -44,6 +46,7 @@
             module_uuid_path=".EFGH."
             copy_component_uuid="[null]"
             enabled="[true]"
+            private="[false]"
             kee="LANGUAGE_VIEW"
             scope="PRJ"
             qualifier="VW"
@@ -59,6 +62,7 @@
             module_uuid_path=".EFGH."
             copy_component_uuid="KLMN"
             enabled="[true]"
+            private="[false]"
             kee="VIEW2org.elasticsearch:elasticsearch"
             scope="FIL"
             qualifier="TRK"
@@ -76,6 +80,7 @@
             module_uuid_path=".EFGH.FGHI."
             copy_component_uuid="[null]"
             enabled="[true]"
+            private="[false]"
             kee="JAVA_PROJECTS"
             scope="PRJ"
             qualifier="SVW"
@@ -92,6 +97,7 @@
             module_uuid_path=".EFGH.FGHI."
             copy_component_uuid="JKLM"
             enabled="[true]"
+            private="[false]"
             kee="VIEW2org.struts:struts"
             scope="FIL"
             qualifier="TRK"
             module_uuid_path=".IJKL."
             copy_component_uuid="[null]"
             enabled="[true]"
+            private="[false]"
             kee="OTHER"
             scope="PRJ"
             qualifier="VW"
             module_uuid="[null]"
             module_uuid_path=".JKLM."
             enabled="[true]"
+            private="[false]"
             copy_component_uuid="[null]"
             path="[null]"/>
   <projects organization_uuid="org1"
             module_uuid="[null]"
             module_uuid_path=".KLMN."
             enabled="[true]"
+            private="[false]"
             copy_component_uuid="[null]"
             path="[null]"/>
 
index a714d3dfc3f8076572e975f1684df9204b898de0..b5e1fd3d88a230617de08fd6adda6b36201f6b87 100644 (file)
@@ -17,6 +17,7 @@
             path="src/org/struts/RequestContext2.java"
             root_uuid="uuid_4"
             description="description2"
+            private="[false]"
             enabled="[false]"
             copy_component_uuid="uuid_6"
             developer_uuid="uuid_9"
index 9aaa040f73bdb8e386087506eb8680e1a2fc2889..83a35b2376593c71698b10a5e0d9fb9333842ff8 100644 (file)
@@ -17,6 +17,7 @@
             path="src/org/struts/RequestContext.java"
             root_uuid="uuid_3"
             description="description"
+            private="[false]"
             enabled="[true]"
             copy_component_uuid="uuid_5"
             developer_uuid="[null]"
index e2f822f02d768fb1382423155c451ce932f969c0..5216e4dc13fd1e3001ed695b74a6accbaf41dcb7 100644 (file)
@@ -25,6 +25,7 @@ CREATE TABLE "PROJECTS" (
   "MODULE_UUID_PATH" VARCHAR(1500),
   "NAME" VARCHAR(2000),
   "DESCRIPTION" VARCHAR(2000),
+  "PRIVATE" BOOLEAN NOT NULL,
   "TAGS" VARCHAR(4000),
   "ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
   "SCOPE" VARCHAR(3),
index a1daa9c18f2f68db7dbfe3442dde6fda6626052e..0b62345e122f761346e2e8d20ad9616c92d74ecb 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -52,6 +53,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -88,6 +90,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Foo Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index 734fce89948fa8713ff02057439b1ca4de2aa16e..2896545423c03214f084f956f9f71c04f452b78e 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -54,6 +55,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -92,6 +94,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Foo Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index e930d3427ca6f24401a68a8dcf72a750a759e688..c337ea840b86d67dc151dfba970d466b7ee7d06d 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -54,6 +55,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -92,6 +94,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Foo Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index 666ebdd23c76b5c9f0f557cbf3ce18d977590c1e..168060a9d15cf2ffd314975a1231bcfc5dda7014 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -54,6 +55,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -90,6 +92,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index a52ab410de54e6875ea74ab0573ba262a400eeb0..2628761a8cdf9c9e15d18a5ac28fb456bd5dcc9a 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -52,6 +53,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -87,6 +89,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index 5cf415c7f97e44c8a00be42d224642fc45121d0e..fb96c3a2b2b926cdf198aed935b17121c1e85e13 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="[null]"
+            private="[false]"
             tags="[null]"
             long_name="Apache Struts"
             enabled="[true]"
@@ -56,6 +57,7 @@
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
@@ -92,6 +94,7 @@
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="B"
             module_uuid_path=".A.B."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Struts UI"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             module_uuid="[null]"
             module_uuid_path=".E."
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
             qualifier="BRC"
             long_name="Foo Struts Core"
             description="[null]"
+            private="[false]"
             tags="[null]"
             enabled="[true]"
             language="java"
index 8d088b90489073c3a4aa7aeb2906c43c59e90138..f01a38d0fd9120856fd5b5540a8cd0070f313224 100644 (file)
@@ -13,6 +13,7 @@
             kee="old key"
             name="old name"
             description="old name"
+            private="[false]"
             tags="[null]"
             long_name="old long name"
             enabled="[false]"
index a0977901d53eddf4888ff98dba8fe231fe18c06b..6381dbc4ab5373542ce42b32c3fd337ca5fa1192 100644 (file)
@@ -13,6 +13,7 @@
             kee="old key"
             name="old name"
             description="old name"
+            private="[false]"
             tags="[null]"
             long_name="old long name"
             enabled="[false]"
index 89e0fb54db9b9b2b1cb7cd9f9ac303c07c77bccc..39f39b466166ad78e48b8f23e2a01fc7bc620d64 100644 (file)
@@ -12,6 +12,7 @@
             uuid="ABCD"
             uuid_path="NOT_USED"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
index 69fe143fbfe3a143a50e4c5bfaa4bf3a37318873..b8111f4f84205c569e86f3f4576336277c016a97 100644 (file)
@@ -14,6 +14,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             qualifier="BRC"
             long_name="Struts Data"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             qualifier="BRC"
             long_name="Struts Deprecated"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
index e2ac1e3b93cefd26f818260365ed61b6ede268ab..e47f11b85b6dbc45b55962fd6d72d06d4e54a202 100644 (file)
@@ -19,7 +19,8 @@
             enabled="1"
             scope="FIL"
             qualifier="CLA"
-            id="1"/>
+            id="1"
+            private="[false]"/>
 
   <duplications_index id="1"
                       analysis_uuid="u1"
index f7ab895c5855986fbaa74b0f9013967a0eb584c5..682da03ecf93ddb610b8a29cc72fcb011c503f4b 100644 (file)
@@ -23,6 +23,7 @@
             enabled="1"
             scope="FIL"
             qualifier="CLA"
-            id="1"/>
+            id="1"
+            private="[false]"/>
 
 </dataset>
index d6d3628fcc266628e8c1752afd84649bbe80e354..337a36a172cf9d0f659a943761cd5de7bf2a38f8 100644 (file)
@@ -24,7 +24,8 @@
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="java"/>
+            language="java"
+            private="[false]"/>
 
   <snapshots id="3"
              uuid="u3"
@@ -50,7 +51,8 @@
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="java"/>
+            language="java"
+            private="[false]"/>
 
   <snapshots id="5"
              uuid="u5"
@@ -76,7 +78,8 @@
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="java"/>
+            language="java"
+            private="[false]"/>
 
   <snapshots id="7"
              uuid="u7"
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="java"/>
+            language="java"
+            private="[false]"/>
 
   <snapshots id="9"
              uuid="u9"
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="java"/>
+            language="java"
+            private="[false]"/>
 
   <snapshots id="11"
              uuid="u11"
             enabled="[true]"
             scope="FIL"
             qualifier="CLA"
-            language="grvy"/>
+            language="grvy"
+            private="[false]"/>
 
   <!-- Old snapshot of another project -->
   <!-- bar-old -->
index f0682ce10cb0dc5086c3c0a5f1ddbc6465fa4f12..cdf2e06ff10669d208b9e7d67988ea068d61c3c2 100644 (file)
@@ -25,7 +25,8 @@
             project_uuid="EDFG"
             uuid="ABCD"
             uuid_path="NOT_USED"
-            module_uuid="EDFG"/>
+            module_uuid="EDFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="302"
             kee="pj-w-snapshot:file"
@@ -33,7 +34,8 @@
             project_uuid="EDFG"
             uuid="BCDE"
             uuid_path="NOT_USED"
-            module_uuid="EDFG"/>
+            module_uuid="EDFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="303"
             kee="pj-w-snapshot:other"
@@ -41,7 +43,8 @@
             project_uuid="EDFG"
             uuid="CDEF"
             uuid_path="NOT_USED"
-            module_uuid="EDFG"/>
+            module_uuid="EDFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="300"
             kee="pj-w-snapshot"
             uuid_path="NOT_USED"
             root_uuid="EDFG"
             project_uuid="EDFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
             uuid="FGHI"
             uuid_path="NOT_USED"
             root_uuid="FGHI"
-            project_uuid="FGHI"/>
+            project_uuid="FGHI"
+            private="[false]"/>
 
 </dataset>
index 4600adb1fd73747593b7e0e1fdc4cfaec447f274..93980ad4a16a859bc4df89994a83fabb17110637 100644 (file)
@@ -27,7 +27,8 @@
             project_uuid="DEFG"
             uuid="ABCD"
             uuid_path="NOT_USED"
-            module_uuid="DEFG"/>
+            module_uuid="DEFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="302"
             kee="pj-w-snapshot:file"
@@ -35,7 +36,8 @@
             project_uuid="DEFG"
             uuid="BCDE"
             uuid_path="NOT_USED"
-            module_uuid="DEFG"/>
+            module_uuid="DEFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="303"
             kee="pj-w-snapshot:other"
@@ -43,7 +45,8 @@
             project_uuid="DEFG"
             uuid="CDEF"
             uuid_path="NOT_USED"
-            module_uuid="DEFG"/>
+            module_uuid="DEFG"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="300"
             kee="pj-w-snapshot"
@@ -51,7 +54,8 @@
             uuid_path="NOT_USED"
             root_uuid="DEFG"
             project_uuid="DEFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -59,6 +63,7 @@
             uuid_path="NOT_USED"
             root_uuid="EFGH"
             project_uuid="EFGH"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
 
 </dataset>
index 48672a816241f8b4b38d05908eb84e716da654ed..569cce15e0de0dbccc02a71994c00deaa671517e 100644 (file)
@@ -21,7 +21,8 @@
             root_uuid="DEFG"
             project_uuid="DEFG"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -30,6 +31,7 @@
             root_uuid="EFGH"
             project_uuid="EFGH"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index 69a8954c9f1bba42df0e1a88345582c762b1ad90..8e18ea4764acdfc0c2c27a472ff2c8b15fd25dc2 100644 (file)
@@ -21,7 +21,8 @@
             root_uuid="DEFG"
             project_uuid="DEFG"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -30,6 +31,7 @@
             root_uuid="EFGH"
             project_uuid="EFGH"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index d5bd2ec06d585eed5a2b3bcc6d2fac150bbfcfa0..28599d864523afd5207a5d0e54e13d0b390954f2 100644 (file)
@@ -20,7 +20,8 @@
             root_uuid="DEFG"
             project_uuid="DEFG"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -29,6 +30,7 @@
             root_uuid="EFGH"
             project_uuid="EFGH"
             module_uuid="[null]"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index 43cc092757f2bbf3f98bf1452773fc4210f75298..5574214916cb359bd61453f59523152dd380fd39 100644 (file)
@@ -42,7 +42,8 @@
             uuid_path="NOT_USED"
             root_uuid="DEFG"
             project_uuid="DEFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -50,6 +51,7 @@
             uuid_path="NOT_USED"
             root_uuid="EFGH"
             project_uuid="EFGH"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
 
 </dataset>
index 11e228bffeafccd3636dfdbd6be4822a027e3c46..8c9cbbf6ffd38b98e8daacaf145b5d26a11aa771 100644 (file)
@@ -42,7 +42,8 @@
             uuid_path="NOT_USED"
             root_uuid="DEFG"
             project_uuid="DEFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -50,6 +51,7 @@
             uuid_path="NOT_USED"
             root_uuid="EFGH"
             project_uuid="EFGH"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
 
 </dataset>
index 59824f33c3b0b1291ea6b8afd2875c7ea88242af..651d68567063aeafddca4367c5768016490bba3a 100644 (file)
@@ -37,7 +37,8 @@
             uuid_path="NOT_USED"
             root_uuid="DEFG"
             project_uuid="DEFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -45,6 +46,7 @@
             uuid_path="NOT_USED"
             root_uuid="EFGH"
             project_uuid="EFGH"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
 
 </dataset>
index 39ae6471835e038171438c0baa43baec49a5282d..5b4a68f376ef705022c6338241c8b6dd4598581a 100644 (file)
@@ -23,7 +23,8 @@
             kee="pj-w-snapshot"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="301"
             uuid="BCDE"
@@ -34,7 +35,8 @@
             kee="pj-w-snapshot1"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="302"
             uuid="CDEF"
@@ -45,7 +47,8 @@
             kee="pj-w-snapshot2"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
   <projects organization_uuid="org1"
             id="303"
@@ -57,6 +60,7 @@
             kee="pj-w-snapshot3"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index 1efb1cccc47823804683dc491e54e3805f0b8c37..4c3775cc29896e7265917ce8033b2c9d49da4e69 100644 (file)
@@ -25,7 +25,8 @@
             kee="pj-w-snapshot"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="301"
             uuid="BCDE"
@@ -36,7 +37,8 @@
             kee="pj-w-snapshot1"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="302"
             uuid="CDEF"
@@ -47,7 +49,8 @@
             kee="pj-w-snapshot2"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
   <projects organization_uuid="org1"
             id="303"
@@ -59,6 +62,7 @@
             kee="pj-w-snapshot3"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index 4ba055aa869d4d2512b09b6672482d8a7d677ca0..a4e80e5265abb9af776afffffd1a8ed9e737c4b6 100644 (file)
@@ -24,7 +24,8 @@
             kee="pj-w-snapshot"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="301"
             uuid="BCDE"
@@ -35,7 +36,8 @@
             kee="pj-w-snapshot1"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="302"
             uuid="CDEF"
@@ -46,7 +48,8 @@
             kee="pj-w-snapshot2"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
   <projects organization_uuid="org1"
             id="303"
@@ -58,6 +61,7 @@
             kee="pj-w-snapshot3"
             scope="PRJ"
             qualifier="TRK"
-            enabled="[true]"/>
+            enabled="[true]"
+            private="[false]"/>
 
 </dataset>
index c4e6323e503c81543e2c30ba6c62852a9b245072..83ef2274fd32aee82c96d07ecd9bb4e382038f42 100644 (file)
@@ -26,7 +26,8 @@
             uuid_path="NOT_USED"
             root_uuid="DEFG"
             project_uuid="DEFG"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
   <projects organization_uuid="org1"
             id="400"
             kee="pj-wo-snapshot"
@@ -34,5 +35,6 @@
             uuid_path="NOT_USED"
             root_uuid="EFGH"
             project_uuid="EFGH"
-            module_uuid="[null]"/>
+            module_uuid="[null]"
+            private="[false]"/>
 </dataset>
index 5a54e126313dbb8f27a07bde150ec6a8707fe75a..74c6cd30c09e47ba156599d768c1acb27c9ac026 100644 (file)
@@ -75,6 +75,7 @@
             module_uuid="[null]"
             module_uuid_path="."
             description="the description"
+            private="[false]"
             long_name="Apache Struts"
             enabled="[true]"
             language="[null]"
             qualifier="BRC"
             long_name="Struts Core"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             qualifier="BRC"
             long_name="Struts Data"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="src/org/struts"
             root_uuid="FGHI"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="[null]"
             copy_component_uuid="[null]"
             name="RequestContext.java"
             root_uuid="FGHI"
             description="[null]"
+            private="[false]"
             enabled="[true]"
             language="java"
             copy_component_uuid="[null]"
index 6794843926f97e37ff822a71488e156e442a5526..6bc921f26ee85c50d5b62ced6b2bca926a23e23f 100644 (file)
@@ -13,6 +13,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"/>
index 5faf33d30fe2f3d754cce920c751fe9f42b81b82..de51ded1e3535e3055436aecd8702f3dad799e3c 100644 (file)
@@ -22,6 +22,7 @@ What has been changed :
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
@@ -59,6 +60,7 @@ What has been changed :
             kee="project:my/dir"
             name="my/dir"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
@@ -96,6 +98,7 @@ What has been changed :
             kee="project:my/dir/File.java"
             name="my/dir/File.java"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
index 067b6bc475eecaabdc3fec5867cc2a910005212b..8db639ce3613dda4893d7dc9bfc5f15197742029 100644 (file)
@@ -14,6 +14,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -50,6 +51,7 @@
             kee="project:my/dir"
             name="my/dir"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -86,6 +88,7 @@
             kee="project:my/dir/File.java"
             name="my/dir/File.java"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index c3aaaf41967f6fecbd9ab36de2d26c6c6b37e23a..f41d2dc1119aca684cdcd1e3f365a5859b988a89 100644 (file)
@@ -1,25 +1,26 @@
 <dataset>
 
-    <!-- project -->
-    <projects organization_uuid="org1"
-              uuid="A"
-              uuid_path="NOT_USED"
-              project_uuid="A"
-              module_uuid="[null]"
-              module_uuid_path=".A."
-              long_name="[null]"
-              scope="PRJ"
-              qualifier="TRK"
-              kee="project"
-              name="project"
-              description="[null]"
-              language="java"
-              copy_component_uuid="[null]"
-              developer_uuid="[null]"
-              authorization_updated_at="[null]"
-              id="1"
-              enabled="[true]"
-              root_id="[null]"/>
+  <!-- project -->
+  <projects organization_uuid="org1"
+            uuid="A"
+            uuid_path="NOT_USED"
+            project_uuid="A"
+            module_uuid="[null]"
+            module_uuid_path=".A."
+            long_name="[null]"
+            scope="PRJ"
+            qualifier="TRK"
+            kee="project"
+            name="project"
+            description="[null]"
+            private="[false]"
+            language="java"
+            copy_component_uuid="[null]"
+            developer_uuid="[null]"
+            authorization_updated_at="[null]"
+            id="1"
+            enabled="[true]"
+            root_id="[null]"/>
 
 
 </dataset>
index 9e44a2747a0a4c4a7f97842e6afbc777fef8e5bb..e5c679bf4c5e0a8f00740c71db85505e794dccc5 100644 (file)
@@ -16,6 +16,7 @@ Snapshot 2 has been deleted
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index 25b0bc85f7214e74aabd6db055e9aaea1f19ed39..9acb701f9e9b700ff819aaad00fad401cb3fadbc 100644 (file)
@@ -11,6 +11,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index 25ebc3a8a454f25a1b9bed473e9f3a00e20471e5..89086990a7611fe8c48d785d6b02cc757d6cd2cb 100644 (file)
@@ -20,6 +20,7 @@ What has been changed : purge_status=1 on snapshot 4 (PRJ) and snapshots 5 and 6
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
@@ -58,6 +59,7 @@ What has been changed : purge_status=1 on snapshot 4 (PRJ) and snapshots 5 and 6
             kee="project:my/dir"
             name="my/dir"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
@@ -96,6 +98,7 @@ What has been changed : purge_status=1 on snapshot 4 (PRJ) and snapshots 5 and 6
             kee="project:my/dir/File.java"
             name="my/dir/File.java"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
index c16f17c37fb8be6cf5f0565db685b191e00040f6..38e737bf8f5b627451aa1c8a79763b2e94170e6a 100644 (file)
@@ -14,6 +14,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -50,6 +51,7 @@
             kee="project:my/dir"
             name="my/dir"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -86,6 +88,7 @@
             kee="project:my/dir/File.java"
             name="my/dir/File.java"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index a9aa7de88592985ce043947760e430d1895eb0ab..703004ce3915d13ca0113793cdf9534911f6c8f1 100644 (file)
@@ -13,6 +13,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
             kee="module1"
             name="module1"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
             kee="module2"
             name="module2"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
             kee="module2:File.java"
             name="File"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index 4a779c3b667d4c8717da0f08122dddd1a58bc4d7..5bfd2ffe1f54d61767a1e7fd420d47b44af78c0f 100644 (file)
@@ -16,6 +16,7 @@
             name="project"
             root_uuid="P1"
             description="[null]"
+            private="[false]"
             tags="[null]"
             language="java"
             copy_component_uuid="[null]"
index bacd6410fdd95536e1c89db2372ba86d144a1795..8b86cbd140a325b1fcd403e648e956154ad46dc9 100644 (file)
@@ -16,6 +16,7 @@
             name="project"
             root_uuid="P1"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index 0134fc7d46afcddb0f63b2acc1449d6b09cc2f6f..2d594175e37a361917d33b0c62894df2c6bf5525 100644 (file)
@@ -17,6 +17,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index 95bb3dfba072b81b832cb79c3ab04e362553f45b..75014b07a852f7dc9fab73c0cfeadd57791157a9 100644 (file)
@@ -13,6 +13,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index ebd202e3d58138bb1792fbf97b6e3e99c1a9546a..694bfcc96887b66e259143f619973cf742294553 100644 (file)
@@ -12,6 +12,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index a27f41c6b1436a6f98fc42218ffc8f42251e6600..4d97e9a281fa0cf3a5eab7569d6ec72f200af0ca 100644 (file)
@@ -13,6 +13,7 @@
             kee="project"
             name="project"
             description="[null]"
+            private="[false]"
             language="java"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index cfbf18b903a6413f2a4e23431bd55581aa88a0dd..022e4bedd886220058a4b00e6138327fa3224fb3 100644 (file)
@@ -13,6 +13,7 @@
             kee="view"
             name="view"
             description="[null]"
+            private="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -34,6 +35,7 @@
             kee="subview1"
             name="subview2"
             description="[null]"
+            private="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -54,6 +56,7 @@
             kee="subview2"
             name="subview2"
             description="[null]"
+            private="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
@@ -75,6 +78,7 @@
             kee="TechProject"
             name="TechProject"
             description="[null]"
+            private="[false]"
             language="[null]"
             copy_component_uuid="[null]"
             developer_uuid="[null]"
index b0c08cb330ffa494f307300753996a4874744b0a..2c53537979d652e34202f4d4d22e0821bf59bbaa 100644 (file)
@@ -16,7 +16,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="1"/>
+            id="1"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="B"
             uuid_path="NOT_USED"
@@ -28,7 +29,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="2"/>
+            id="2"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="C"
             uuid_path="NOT_USED"
@@ -40,7 +42,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="3"/>
+            id="3"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="D"
             uuid_path="NOT_USED"
@@ -52,7 +55,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="4"/>
+            id="4"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="E"
             uuid_path="NOT_USED"
@@ -64,7 +68,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="5"/>
+            id="5"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="F"
             uuid_path="NOT_USED"
@@ -76,7 +81,8 @@
             scope="PRJ"
             enabled="[true]"
             copy_component_uuid="[null]"
-            id="6"/>
+            id="6"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="G"
             uuid_path="NOT_USED"
@@ -88,7 +94,8 @@
             scope="FIL"
             enabled="[true]"
             copy_component_uuid="C"
-            id="7"/>
+            id="7"
+            private="[false]"/>
 
   <properties id="1"
               prop_key="sonar.qualitygate"
index c9465a2abd63b45fc94135666fbc198afe54ccb5..96d563ec076b589921384493205589f3d1938451 100644 (file)
@@ -29,7 +29,8 @@
             kee="org.codehaus.sonar:sonar"
             name="SonarQube"
             enabled="[true]"
-            id="1"/>
+            id="1"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="B"
             uuid_path="NOT_USED"
@@ -38,7 +39,8 @@
             kee="org.codehaus.sonar-plugins.java:java"
             name="SonarQube Java"
             enabled="[true]"
-            id="2"/>
+            id="2"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="C"
             uuid_path="NOT_USED"
@@ -47,7 +49,8 @@
             kee="disabled:project"
             name="Disabled Project"
             enabled="[false]"
-            id="3"/>
+            id="3"
+            private="[false]"/>
 
   <project_qprofiles id="1"
                      project_uuid="A"
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivate.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivate.java
new file mode 100644 (file)
index 0000000..90be5be
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import org.sonar.db.Database;
+import org.sonar.server.platform.db.migration.sql.AddColumnsBuilder;
+import org.sonar.server.platform.db.migration.step.DdlChange;
+
+import static org.sonar.server.platform.db.migration.def.BooleanColumnDef.newBooleanColumnDefBuilder;
+
+public class AddColumnProjectsPrivate extends DdlChange {
+  public AddColumnProjectsPrivate(Database db) {
+    super(db);
+  }
+
+  @Override
+  public void execute(Context context) throws SQLException {
+    context.execute(new AddColumnsBuilder(getDialect(), "projects")
+      .addColumn(newBooleanColumnDefBuilder()
+        .setColumnName("private")
+        .setIsNullable(true)
+        .build())
+      .build());
+  }
+}
index 189c0ee588dc5d3802bc734da4857ecc535302c9..28ed47d8abb7425612d05f78473f8990f836c606 100644 (file)
@@ -60,6 +60,11 @@ public class DbVersion64 implements DbVersion {
       .add(1629, "Make CE_QUEUE.EXECUTION_COUNT not nullable", MakeCeQueueExecutionCountNotNullable.class)
       .add(1630, "Add columns CE_ACTIVITY.WORKER_UUID and EXECUTION_COUNT", AddCeActivityWorkerUuidAndExecutionCount.class)
       .add(1631, "Make columns CE_ACTIVITY.EXECUTION_COUNT not nullable", MakeCeActivityExecutionCountNotNullable.class)
-      .add(1632, "Make PROJECTS.PROJECT_UUID not nullable", MakeProjectUuidNotNullable.class);
+      .add(1632, "Make PROJECTS.PROJECT_UUID not nullable", MakeProjectUuidNotNullable.class)
+      .add(1633, "Purge rows with null PROJECTS.PROJECT_UUID", PurgeComponentsWithoutProjectUuid.class)
+      .add(1634, "Make PROJECTS.PROJECT_UUID not nullable", MakeProjectUuidNotNullable.class)
+      .add(1635, "Add column PROJECTS.PRIVATE", AddColumnProjectsPrivate.class)
+      .add(1636, "Populate column PROJECTS.PRIVATE", PopulateColumnProjectsPrivate.class)
+      .add(1637, "Make column PROJECTS.PRIVATE not nullable", MakeColumnProjectsPrivateNotNullable.class);
   }
 }
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullable.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullable.java
new file mode 100644 (file)
index 0000000..be26132
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import org.sonar.db.Database;
+import org.sonar.server.platform.db.migration.sql.AlterColumnsBuilder;
+import org.sonar.server.platform.db.migration.step.DdlChange;
+
+import static org.sonar.server.platform.db.migration.def.BooleanColumnDef.newBooleanColumnDefBuilder;
+
+public class MakeColumnProjectsPrivateNotNullable extends DdlChange {
+  public MakeColumnProjectsPrivateNotNullable(Database db) {
+    super(db);
+  }
+
+  @Override
+  public void execute(Context context) throws SQLException {
+    context.execute(new AlterColumnsBuilder(getDialect(), "projects")
+      .updateColumn(newBooleanColumnDefBuilder()
+        .setColumnName("private")
+        .setIsNullable(false)
+        .build())
+      .build());
+  }
+}
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivate.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivate.java
new file mode 100644 (file)
index 0000000..9e1b9b3
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import org.sonar.db.Database;
+import org.sonar.server.platform.db.migration.step.DataChange;
+import org.sonar.server.platform.db.migration.step.MassUpdate;
+import org.sonar.server.platform.db.migration.step.Select;
+import org.sonar.server.platform.db.migration.step.SqlStatement;
+
+public class PopulateColumnProjectsPrivate extends DataChange {
+  public PopulateColumnProjectsPrivate(Database db) {
+    super(db);
+  }
+
+  @Override
+  protected void execute(Context context) throws SQLException {
+    MassUpdate massUpdate = context.prepareMassUpdate();
+    massUpdate.select("select distinct root_uuid from projects where private is null");
+    massUpdate.update("update projects set private = ? where root_uuid = ?");
+    massUpdate.rowPluralName("component tree without private flag");
+    massUpdate.execute(PopulateColumnProjectsPrivate::handle);
+  }
+
+  private static boolean handle(Select.Row row, SqlStatement update) throws SQLException {
+    String rootUuid = row.getString(1);
+
+    update.setBoolean(1, false);
+    update.setString(2, rootUuid);
+
+    return true;
+  }
+}
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest.java
new file mode 100644 (file)
index 0000000..a3878d2
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import java.sql.Types;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.sonar.db.CoreDbTester;
+
+public class AddColumnProjectsPrivateTest {
+  @Rule
+  public CoreDbTester db = CoreDbTester.createForSchema(AddColumnProjectsPrivateTest.class, "projects_without_private_column.sql");
+  @Rule
+  public ExpectedException expectedException = ExpectedException.none();
+
+  private AddColumnProjectsPrivate underTest = new AddColumnProjectsPrivate(db.database());
+
+  @Test
+  public void execute_adds_nullable_boolean_column_private_to_table_PROJECTS() throws SQLException {
+    underTest.execute();
+
+    db.assertColumnDefinition("projects", "private", Types.BOOLEAN, null, true);
+  }
+
+  @Test
+  public void execute_is_not_reentrant() throws SQLException {
+    underTest.execute();
+
+    expectedException.expect(IllegalStateException.class);
+    
+    underTest.execute();
+  }
+}
index bc815f2998a03f0f9563b66c45e19cefbdea58cf..d0b01dfb792ffe8d2e13e9efcd57d0d9736d4a29 100644 (file)
@@ -35,6 +35,6 @@ public class DbVersion64Test {
 
   @Test
   public void verify_migration_count() {
-    verifyMigrationCount(underTest, 33);
+    verifyMigrationCount(underTest, 38);
   }
 }
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest.java
new file mode 100644 (file)
index 0000000..876d3a4
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import java.sql.Types;
+import org.junit.Rule;
+import org.junit.Test;
+import org.sonar.db.CoreDbTester;
+
+public class MakeColumnProjectsPrivateNotNullableTest {
+  @Rule
+  public CoreDbTester db = CoreDbTester.createForSchema(MakeColumnProjectsPrivateNotNullableTest.class, "projects_with_nullable_private_column.sql");
+
+  private MakeColumnProjectsPrivateNotNullable underTest = new MakeColumnProjectsPrivateNotNullable(db.database());
+
+  @Test
+  public void execute_makes_column_private_not_nullable() throws SQLException {
+    db.assertColumnDefinition("projects", "private", Types.BOOLEAN, null, true);
+
+    underTest.execute();
+
+    db.assertColumnDefinition("projects", "private", Types.BOOLEAN, null, false);
+  }
+}
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest.java
new file mode 100644 (file)
index 0000000..514e166
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v64;
+
+import java.sql.SQLException;
+import javax.annotation.Nullable;
+import org.junit.Rule;
+import org.junit.Test;
+import org.sonar.db.CoreDbTester;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class PopulateColumnProjectsPrivateTest {
+  private static final Boolean NO_PRIVATE_FLAG = null;
+
+  @Rule
+  public CoreDbTester db = CoreDbTester.createForSchema(PopulateColumnProjectsPrivateTest.class, "projects_with_nullable_private_column.sql");
+
+  private PopulateColumnProjectsPrivate underTest = new PopulateColumnProjectsPrivate(db.database());
+
+  @Test
+  public void execute_has_no_effect_if_table_PROJECTS_is_empty() throws SQLException {
+    underTest.execute();
+
+    assertThat(db.countRowsOfTable("PROJECTS")).isEqualTo(0);
+  }
+
+  @Test
+  public void execute_updates_rows_with_null_private_column_to_false() throws SQLException {
+    insertRow(1, NO_PRIVATE_FLAG);
+    insertRow(2, NO_PRIVATE_FLAG);
+    insertRow(3, NO_PRIVATE_FLAG);
+
+    assertThat(countRowsWithPrivateFlag(null)).isEqualTo(3);
+    assertThat(countRowsWithPrivateFlag(true)).isEqualTo(0);
+    assertThat(countRowsWithPrivateFlag(false)).isEqualTo(0);
+
+    underTest.execute();
+
+    assertThat(countRowsWithPrivateFlag(null)).isEqualTo(0);
+    assertThat(countRowsWithPrivateFlag(true)).isEqualTo(0);
+    assertThat(countRowsWithPrivateFlag(false)).isEqualTo(3);
+  }
+
+  @Test
+  public void execute_does_not_change_rows_with_non_null_private_column() throws SQLException {
+    insertRow(2, true);
+    insertRow(3, false);
+
+    underTest.execute();
+
+    assertThat(countRowsWithPrivateFlag(null)).isEqualTo(0);
+    assertThat(countRowsWithPrivateFlag(true)).isEqualTo(1);
+    assertThat(countRowsWithPrivateFlag(false)).isEqualTo(1);
+  }
+
+  @Test
+  public void execute_is_reentreant() throws SQLException {
+    insertRow(1, true);
+    insertRow(2, false);
+    insertRow(3, NO_PRIVATE_FLAG);
+
+    underTest.execute();
+
+    underTest.execute();
+  }
+
+  private int countRowsWithPrivateFlag(@Nullable Boolean privateFlag) {
+    if (privateFlag == null) {
+      return db.countSql("select count(1) from projects where private is null");
+    }
+    return db.countSql("select count(1) from projects where private=" + privateFlag);
+  }
+
+  private void insertRow(int id, @Nullable Boolean privateFlag) {
+    db.executeInsert(
+      "PROJECTS",
+      "ORGANIZATION_UUID", "org_" + id,
+      "UUID", "uuid_" + id,
+      "UUID_PATH", "uuid_path_" + id,
+      "ROOT_UUID", "root_uuid_" + id,
+      "PRIVATE", privateFlag == null ? null : privateFlag.toString());
+  }
+}
diff --git a/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest/projects_without_private_column.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/AddColumnProjectsPrivateTest/projects_without_private_column.sql
new file mode 100644 (file)
index 0000000..95331fa
--- /dev/null
@@ -0,0 +1,44 @@
+CREATE TABLE "PROJECTS" (
+  "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
+  "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
+  "KEE" VARCHAR(400),
+  "UUID" VARCHAR(50) NOT NULL,
+  "UUID_PATH" VARCHAR(1500) NOT NULL,
+  "ROOT_UUID" VARCHAR(50) NOT NULL,
+  "PROJECT_UUID" VARCHAR(50),
+  "MODULE_UUID" VARCHAR(50),
+  "MODULE_UUID_PATH" VARCHAR(1500),
+  "NAME" VARCHAR(2000),
+  "DESCRIPTION" VARCHAR(2000),
+  "TAGS" VARCHAR(500),
+  "ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
+  "SCOPE" VARCHAR(3),
+  "QUALIFIER" VARCHAR(10),
+  "DEPRECATED_KEE" VARCHAR(400),
+  "PATH" VARCHAR(2000),
+  "LANGUAGE" VARCHAR(20),
+  "COPY_COMPONENT_UUID" VARCHAR(50),
+  "LONG_NAME" VARCHAR(2000),
+  "DEVELOPER_UUID" VARCHAR(50),
+  "CREATED_AT" TIMESTAMP,
+  "AUTHORIZATION_UPDATED_AT" BIGINT,
+  "B_CHANGED" BOOLEAN,
+  "B_COPY_COMPONENT_UUID" VARCHAR(50),
+  "B_DESCRIPTION" VARCHAR(2000),
+  "B_ENABLED" BOOLEAN,
+  "B_UUID_PATH" VARCHAR(1500),
+  "B_LANGUAGE" VARCHAR(20),
+  "B_LONG_NAME" VARCHAR(500),
+  "B_MODULE_UUID" VARCHAR(50),
+  "B_MODULE_UUID_PATH" VARCHAR(1500),
+  "B_NAME" VARCHAR(500),
+  "B_PATH" VARCHAR(2000),
+  "B_QUALIFIER" VARCHAR(10)
+);
+CREATE INDEX "PROJECTS_ORGANIZATION" ON "PROJECTS" ("ORGANIZATION_UUID");
+CREATE UNIQUE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE");
+CREATE INDEX "PROJECTS_ROOT_UUID" ON "PROJECTS" ("ROOT_UUID");
+CREATE UNIQUE INDEX "PROJECTS_UUID" ON "PROJECTS" ("UUID");
+CREATE INDEX "PROJECTS_PROJECT_UUID" ON "PROJECTS" ("PROJECT_UUID");
+CREATE INDEX "PROJECTS_MODULE_UUID" ON "PROJECTS" ("MODULE_UUID");
+CREATE INDEX "PROJECTS_QUALIFIER" ON "PROJECTS" ("QUALIFIER");
diff --git a/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest/projects_with_nullable_private_column.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/MakeColumnProjectsPrivateNotNullableTest/projects_with_nullable_private_column.sql
new file mode 100644 (file)
index 0000000..64d498d
--- /dev/null
@@ -0,0 +1,45 @@
+CREATE TABLE "PROJECTS" (
+  "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
+  "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
+  "KEE" VARCHAR(400),
+  "UUID" VARCHAR(50) NOT NULL,
+  "UUID_PATH" VARCHAR(1500) NOT NULL,
+  "ROOT_UUID" VARCHAR(50) NOT NULL,
+  "PROJECT_UUID" VARCHAR(50),
+  "MODULE_UUID" VARCHAR(50),
+  "MODULE_UUID_PATH" VARCHAR(1500),
+  "NAME" VARCHAR(2000),
+  "DESCRIPTION" VARCHAR(2000),
+  "PRIVATE" BOOLEAN,
+  "TAGS" VARCHAR(500),
+  "ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
+  "SCOPE" VARCHAR(3),
+  "QUALIFIER" VARCHAR(10),
+  "DEPRECATED_KEE" VARCHAR(400),
+  "PATH" VARCHAR(2000),
+  "LANGUAGE" VARCHAR(20),
+  "COPY_COMPONENT_UUID" VARCHAR(50),
+  "LONG_NAME" VARCHAR(2000),
+  "DEVELOPER_UUID" VARCHAR(50),
+  "CREATED_AT" TIMESTAMP,
+  "AUTHORIZATION_UPDATED_AT" BIGINT,
+  "B_CHANGED" BOOLEAN,
+  "B_COPY_COMPONENT_UUID" VARCHAR(50),
+  "B_DESCRIPTION" VARCHAR(2000),
+  "B_ENABLED" BOOLEAN,
+  "B_UUID_PATH" VARCHAR(1500),
+  "B_LANGUAGE" VARCHAR(20),
+  "B_LONG_NAME" VARCHAR(500),
+  "B_MODULE_UUID" VARCHAR(50),
+  "B_MODULE_UUID_PATH" VARCHAR(1500),
+  "B_NAME" VARCHAR(500),
+  "B_PATH" VARCHAR(2000),
+  "B_QUALIFIER" VARCHAR(10)
+);
+CREATE INDEX "PROJECTS_ORGANIZATION" ON "PROJECTS" ("ORGANIZATION_UUID");
+CREATE UNIQUE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE");
+CREATE INDEX "PROJECTS_ROOT_UUID" ON "PROJECTS" ("ROOT_UUID");
+CREATE UNIQUE INDEX "PROJECTS_UUID" ON "PROJECTS" ("UUID");
+CREATE INDEX "PROJECTS_PROJECT_UUID" ON "PROJECTS" ("PROJECT_UUID");
+CREATE INDEX "PROJECTS_MODULE_UUID" ON "PROJECTS" ("MODULE_UUID");
+CREATE INDEX "PROJECTS_QUALIFIER" ON "PROJECTS" ("QUALIFIER");
diff --git a/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest/projects_with_nullable_private_column.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v64/PopulateColumnProjectsPrivateTest/projects_with_nullable_private_column.sql
new file mode 100644 (file)
index 0000000..64d498d
--- /dev/null
@@ -0,0 +1,45 @@
+CREATE TABLE "PROJECTS" (
+  "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
+  "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
+  "KEE" VARCHAR(400),
+  "UUID" VARCHAR(50) NOT NULL,
+  "UUID_PATH" VARCHAR(1500) NOT NULL,
+  "ROOT_UUID" VARCHAR(50) NOT NULL,
+  "PROJECT_UUID" VARCHAR(50),
+  "MODULE_UUID" VARCHAR(50),
+  "MODULE_UUID_PATH" VARCHAR(1500),
+  "NAME" VARCHAR(2000),
+  "DESCRIPTION" VARCHAR(2000),
+  "PRIVATE" BOOLEAN,
+  "TAGS" VARCHAR(500),
+  "ENABLED" BOOLEAN NOT NULL DEFAULT TRUE,
+  "SCOPE" VARCHAR(3),
+  "QUALIFIER" VARCHAR(10),
+  "DEPRECATED_KEE" VARCHAR(400),
+  "PATH" VARCHAR(2000),
+  "LANGUAGE" VARCHAR(20),
+  "COPY_COMPONENT_UUID" VARCHAR(50),
+  "LONG_NAME" VARCHAR(2000),
+  "DEVELOPER_UUID" VARCHAR(50),
+  "CREATED_AT" TIMESTAMP,
+  "AUTHORIZATION_UPDATED_AT" BIGINT,
+  "B_CHANGED" BOOLEAN,
+  "B_COPY_COMPONENT_UUID" VARCHAR(50),
+  "B_DESCRIPTION" VARCHAR(2000),
+  "B_ENABLED" BOOLEAN,
+  "B_UUID_PATH" VARCHAR(1500),
+  "B_LANGUAGE" VARCHAR(20),
+  "B_LONG_NAME" VARCHAR(500),
+  "B_MODULE_UUID" VARCHAR(50),
+  "B_MODULE_UUID_PATH" VARCHAR(1500),
+  "B_NAME" VARCHAR(500),
+  "B_PATH" VARCHAR(2000),
+  "B_QUALIFIER" VARCHAR(10)
+);
+CREATE INDEX "PROJECTS_ORGANIZATION" ON "PROJECTS" ("ORGANIZATION_UUID");
+CREATE UNIQUE INDEX "PROJECTS_KEE" ON "PROJECTS" ("KEE");
+CREATE INDEX "PROJECTS_ROOT_UUID" ON "PROJECTS" ("ROOT_UUID");
+CREATE UNIQUE INDEX "PROJECTS_UUID" ON "PROJECTS" ("UUID");
+CREATE INDEX "PROJECTS_PROJECT_UUID" ON "PROJECTS" ("PROJECT_UUID");
+CREATE INDEX "PROJECTS_MODULE_UUID" ON "PROJECTS" ("MODULE_UUID");
+CREATE INDEX "PROJECTS_QUALIFIER" ON "PROJECTS" ("QUALIFIER");
index f3a65f34b6284d23e289ddc880c7aec4c851e9b1..6440827f5b60b599185926d35c212b577bb70833 100644 (file)
@@ -6,7 +6,8 @@
             project_uuid="uuid_1"
             kee="file cpt key"
             enabled="[true]"
-            id="567"/>
+            id="567"
+            private="[false]"/>
   <snapshots id="123"
              uuid="u123"
              component_uuid="uuid_1"
index 09c8dbd8eae55bc1a78a661d9d56019da7bd4a3b..98fb91c83d04f6b517f7f4442b9cc7e9d00f28b5 100644 (file)
@@ -6,6 +6,7 @@
             id="1"
             root_uuid="ABCD"
             project_uuid="ABCD"
-            kee="ROOT_KEY"/>
+            kee="ROOT_KEY"
+            private="[false]"/>
 
 </dataset>
index 96e2d645fb0cdf267ddaa011340b11ba04191b09..4c2fca27ce59eb34f1fe5e1094616e262b485f88 100644 (file)
@@ -14,7 +14,8 @@
             project_uuid="ABCD"
             id="1"
             kee="ROOT_KEY"
-            name="project"/>
+            name="project"
+            private="[false]"/>
 
   <!-- 2008-11-11 -->
   <!-- Version 0.9 -->
index e8c8a98f1d630ea80d10040ee3140799c39d77ff..df0e28c48ae1baef5d4a7fb59ef123e56fa8f393 100644 (file)
@@ -13,7 +13,8 @@
             uuid="ABCD"
             uuid_path="NOT_USED"
             root_uuid="ABCD"
-            project_uuid="ABCD"/>
+            project_uuid="ABCD"
+            private="[false]"/>
 
   <!-- 2008-11-11 -->
   <!-- Version 0.9 -->
index a98ff3c3813ac09fd4c2c64dccf88843001450fd..9bda949568028c87a3deb0df577efe02b3dd95bf 100644 (file)
@@ -14,7 +14,8 @@
             project_uuid="ABCD"
             id="1"
             kee="ROOT_KEY"
-            name="project"/>
+            name="project"
+            private="[false]"/>
 
   <!-- 2008-11-11 -->
   <!-- Version 0.9 -->
index 5c8540038f24e3e972956478eeabce73d9950ba6..761666879ec1e3d4d7c082163b28f888586ad3fc 100644 (file)
@@ -14,7 +14,8 @@
             uuid="ABCD"
             uuid_path="NOT_USED"
             root_uuid="ABCD"
-            project_uuid="ABCD"/>
+            project_uuid="ABCD"
+            private="[false]"/>
 
   <!-- 2008-11-11 -->
   <!-- Version 0.9 -->
index b1c2cd050dc992a54fbac45fb778a22b4aca126b..fd783cd7c00f03e7e4a4613ee32aeaa4529f0e91 100644 (file)
@@ -15,7 +15,8 @@
             kee="PROJECT_KEY"
             name="project"
             long_name="[null]"
-            description="[null]"/>
+            description="[null]"
+            private="[false]"/>
 
   <!-- Unprocessed snapshot -->
   <snapshots id="1000"
index 646067a29abc9772225bb7c2f8a3a7f67f8efb21..3be757d999c02afac88cb3c502bd0d9b1f8ea5a9 100644 (file)
@@ -16,7 +16,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <snapshots id="10"
              uuid="u10"
              component_uuid="ABCD"
@@ -31,7 +32,8 @@
             scope="FIL"
             qualifier="CLA"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
   <snapshots id="100"
              uuid="u100"
              component_uuid="BCDE"
index fcba2ae688f70570d3af699fc469bb558716af2b..addb010461b7db3b476fc72e9b4d35e1092a3156 100644 (file)
             id="1"
             kee="struts"
             root_uuid="ABCD"
-            project_uuid="ABCD"/>
+            project_uuid="ABCD"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="BCDE"
             uuid_path="NOT_USED"
             id="2"
             kee="struts:Action.java"
             root_uuid="ABCD"
-            project_uuid="ABCD"/>
+            project_uuid="ABCD"
+            private="[false]"/>
 
   <snapshots id="1"
              uuid="u1"
index 646067a29abc9772225bb7c2f8a3a7f67f8efb21..3be757d999c02afac88cb3c502bd0d9b1f8ea5a9 100644 (file)
@@ -16,7 +16,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <snapshots id="10"
              uuid="u10"
              component_uuid="ABCD"
@@ -31,7 +32,8 @@
             scope="FIL"
             qualifier="CLA"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
   <snapshots id="100"
              uuid="u100"
              component_uuid="BCDE"
index 00e7637b8dcb8ef7f1c8f5d593910a0696be112d..f3cb2add5d50542533f39b2010eaba1f01ea95c7 100644 (file)
@@ -16,7 +16,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <snapshots id="10"
              uuid="u10"
              component_uuid="ABCD"
@@ -31,7 +32,8 @@
             scope="FIL"
             qualifier="CLA"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
   <snapshots id="100"
              uuid="u100"
              component_uuid="BCDE"
index 2307ecfe86fdafaa50ab8fc2cbbbe06e247b4ef2..391706e80300e3f178e8c58fb87ccff7be6ef5fb 100644 (file)
@@ -18,7 +18,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="the_project"
-            name="TheProject"/>
+            name="TheProject"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="THE_FILE"
             uuid_path="NOT_USED"
@@ -31,7 +32,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="abcde"
-            name="TheFile"/>
+            name="TheFile"
+            private="[false]"/>
 
   <issues id="1"
           kee="ABCDE"
index b9a05b8e4ca643898bf6b2aafd998dc7cb0350c4..48aa3d889f41346ab032f109753ae5ecb7e85365 100644 (file)
@@ -19,7 +19,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="the_project_1"
-            name="TheProject1"/>
+            name="TheProject1"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="THE_FILE_1"
             uuid_path="NOT_USED"
@@ -32,7 +33,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="the_file_1"
-            name="TheFile1"/>
+            name="TheFile1"
+            private="[false]"/>
 
   <issues id="1"
           kee="ABCDE"
@@ -74,7 +76,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="the_project_2"
-            name="TheProject2"/>
+            name="TheProject2"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="THE_FILE_2"
             uuid_path="NOT_USED"
@@ -86,7 +89,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="the_file_2"
-            name="TheFile2"/>
+            name="TheFile2"
+            private="[false]"/>
 
   <issues id="10"
           kee="EDCBA"
index 8dac8110ecfb0cf0b887101bf97d724ec0fcd346..d914cc3a7766f599583254c6ed011b0d5fa353f5 100644 (file)
@@ -17,7 +17,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="MODULE"
             uuid_path="NOT_USED"
@@ -29,7 +30,8 @@
             scope="PRJ"
             qualifier="BRC"
             kee="struts-core"
-            name="Struts Core"/>
+            name="Struts Core"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="FILE"
             uuid_path="NOT_USED"
@@ -41,7 +43,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="ROOT_FILE"
             uuid_path="NOT_USED"
@@ -53,7 +56,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="pom"
-            name="pom.xml"/>
+            name="pom.xml"
+            private="[false]"/>
 
   <issues id="1"
           kee="ABC"
index 740d4c92b476c417c858fc4b54d286c2c85614cc..cfd138bcab1f91ad18a024f2ac3003be5c306a98 100644 (file)
@@ -17,7 +17,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="MODULE"
             uuid_path="NOT_USED"
@@ -29,7 +30,8 @@
             scope="PRJ"
             qualifier="BRC"
             kee="struts-core"
-            name="Struts Core"/>
+            name="Struts Core"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="FILE"
             uuid_path="NOT_USED"
@@ -41,7 +43,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="ROOT_FILE"
             uuid_path="NOT_USED"
@@ -53,7 +56,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="pom"
-            name="pom.xml"/>
+            name="pom.xml"
+            private="[false]"/>
 
   <issues
     id="1"
index 8f234e0ee696989276846071ffa8f37ed1de8962..7f9dd0ba1e0ca1bb7cda5a79516d148bd11a4d8a 100644 (file)
@@ -19,7 +19,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="the_project_1"
-            name="TheProject1"/>
+            name="TheProject1"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="THE_FILE_1"
             uuid_path="NOT_USED"
@@ -32,7 +33,8 @@
             scope="FIL"
             qualifier="FIL"
             kee="the_file_1"
-            name="TheFile1"/>
+            name="TheFile1"
+            private="[false]"/>
 
   <issues
       id="1"
             scope="PRJ"
             qualifier="TRK"
             kee="the_project_2"
-            name="TheProject2"/>
+            name="TheProject2"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="THE_FILE_2"
             uuid_path="NOT_USED"
             scope="FIL"
             qualifier="FIL"
             kee="the_file_2"
-            name="TheFile2"/>
+            name="TheFile2"
+            private="[false]"/>
 
   <issues id="10"
           kee="EDCBA"
index 00b894b8f6dd05205ff8c7ce5998df8f3c5aca07..757dbfb067dcc90a38f3f72619cb7380192e73c9 100644 (file)
@@ -17,7 +17,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="MODULE1"
             uuid_path="NOT_USED"
@@ -29,7 +30,8 @@
             scope="PRJ"
             qualifier="BRC"
             kee="struts:struts-tiles"
-            name="Struts Tiles"/>
+            name="Struts Tiles"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="DIR1"
             uuid_path="NOT_USED"
@@ -41,7 +43,8 @@
             scope="DIR"
             qualifier="DIR"
             kee="struts:struts-tiles:/"
-            name="src/main/java/"/>
+            name="src/main/java/"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="FILE1"
             uuid_path="NOT_USED"
@@ -53,7 +56,8 @@
             scope="FIL"
             qualifier="CLA"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
 
   <issues
       id="1"
index 1bc5d17855f09f656ca20602a66dd490dc090ce2..e952552b8f5748b16f8bc488ac216f1d375885a7 100644 (file)
@@ -17,7 +17,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="MODULE1"
             uuid_path="NOT_USED"
@@ -29,7 +30,8 @@
             scope="PRJ"
             qualifier="BRC"
             kee="struts:struts-tiles"
-            name="Struts Tiles"/>
+            name="Struts Tiles"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="DIR1"
             uuid_path="NOT_USED"
@@ -41,7 +43,8 @@
             scope="DIR"
             qualifier="DIR"
             kee="struts:struts-tiles:/"
-            name="src/main/java/"/>
+            name="src/main/java/"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="FILE1"
             uuid_path="NOT_USED"
@@ -53,7 +56,8 @@
             scope="FIL"
             qualifier="CLA"
             kee="struts:Action"
-            name="Action"/>
+            name="Action"
+            private="[false]"/>
 
   <issues
     id="1"
index 1733b52abe4f46e85d7a3ad00f5989f24159c769..f43e80a4c8ff099cacd8499b7efbfd3998210f22 100644 (file)
@@ -13,7 +13,8 @@
             scope="PRJ"
             qualifier="TRK"
             kee="org.struts:struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
 
   <snapshots id="100"
              uuid="u100"
index 666faef481429226273722b9df0d43f1d9fa2090..c4e2888ef4f03e8acca000df24c79d55f146927d 100644 (file)
@@ -18,7 +18,8 @@
             kee="struts"
             root_uuid="ABCD"
             qualifier="TRK"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="CDEF"
             uuid_path="NOT_USED"
@@ -30,6 +31,7 @@
             kee="Action.java"
             root_uuid="ABCD"
             qualifier="CLA"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
 
 </dataset>
index 1c8ccadae3b2ca2a7b203eac4913100a21ab11c1..e6e6839c83b09e907bb0c7d5fb54668245972fea 100644 (file)
@@ -18,7 +18,8 @@
             kee="struts"
             root_uuid="ABCD"
             qualifier="TRK"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="CDEF"
             uuid_path="NOT_USED"
@@ -30,7 +31,8 @@
             kee="Action.java"
             root_uuid="ABCD"
             qualifier="CLA"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
 
   <file_sources id="101"
                 project_uuid="ABCD"
index e63a709b461d42a1a767052afba64a435bab62f2..2b46f5381e6fae0daa65d5a42450642db89a2adf 100644 (file)
@@ -18,7 +18,8 @@
             kee="struts"
             root_uuid="ABCD"
             qualifier="TRK"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
   <projects organization_uuid="org1"
             uuid="CDEF"
             uuid_path="NOT_USED"
@@ -30,7 +31,8 @@
             kee="ActionTest.java"
             root_uuid="ABCD"
             qualifier="CLA"
-            scope="PRJ"/>
+            scope="PRJ"
+            private="[false]"/>
 
   <file_sources id="100"
                 project_uuid="ABCD"
index fb134f3f10121f0d50ec7dd0c9175d3ffe5f303a..244adfdff60abb161176c141136bfe70c07aec83 100644 (file)
@@ -15,7 +15,8 @@
             qualifier="VW"
             name="All projects"
             path="[null]"
-            id="10"/>
+            id="10"
+            private="[false]"/>
   <snapshots id="10"
              uuid="u10"
              component_uuid="ABCD"
@@ -41,7 +42,8 @@
             qualifier="TRK"
             name="Struts"
             path="[null]"
-            id="110"/>
+            id="110"
+            private="[false]"/>
   <snapshots id="110"
              uuid="u110"
              component_uuid="BCDE"
@@ -68,7 +70,8 @@
             qualifier="VW"
             name="By Language"
             path="[null]"
-            id="11"/>
+            id="11"
+            private="[false]"/>
   <snapshots id="11"
              uuid="u11"
              component_uuid="EFGH"
@@ -93,7 +96,8 @@
             qualifier="TRK"
             name="SSLR"
             path="[null]"
-            id="112"/>
+            id="112"
+            private="[false]"/>
   <snapshots id="112"
              uuid="u112"
              component_uuid="GHIJ"
             qualifier="SVW"
             name="Java projects"
             path="[null]"
-            id="13"/>
+            id="13"
+            private="[false]"/>
   <snapshots id="13"
              uuid="u13"
              component_uuid="FGHI"
             qualifier="TRK"
             name="Struts"
             path="[null]"
-            id="113"/>
+            id="113"
+            private="[false]"/>
   <snapshots id="113"
              uuid="u113"
              component_uuid="HIJK"
             qualifier="VW"
             name="Other projects"
             path="[null]"
-            id="14"/>
+            id="14"
+            private="[false]"/>
   <snapshots id="14"
              uuid="u14"
              component_uuid="IJKL"
             scope="PRJ"
             qualifier="TRK"
             kee="org.struts:struts"
-            name="Struts"/>
+            name="Struts"
+            private="[false]"/>
   <snapshots id="100"
              uuid="u100"
              component_uuid="JKLM"
             scope="PRJ"
             qualifier="TRK"
             kee="org.elasticsearch:elasticsearch"
-            name="Elasticsearch"/>
+            name="Elasticsearch"
+            private="[false]"/>
   <snapshots id="101"
              uuid="u101"
              component_uuid="KLMN"