]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1722: Change RulesProfile.parentId to RulesProfile.parentName in order to simpl...
authorGodin <mandrikov@gmail.com>
Tue, 21 Dec 2010 00:20:07 +0000 (00:20 +0000)
committerGodin <mandrikov@gmail.com>
Tue, 21 Dec 2010 00:20:07 +0000 (00:20 +0000)
SONAR-2052: Add test for backup of inherited profiles

24 files changed:
sonar-core/src/test/resources/org/sonar/jpa/dao/RulesDaoTest/shouldAddActiveRulesToProfile-result.xml
sonar-plugin-api/src/main/java/org/sonar/api/profiles/RulesProfile.java
sonar-server/src/main/java/org/sonar/server/configuration/ProfilesManager.java
sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java
sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/models/profile.rb
sonar-server/src/main/webapp/WEB-INF/app/models/rules_profile.rb
sonar-server/src/main/webapp/WEB-INF/app/views/rules_configuration/index.html.erb
sonar-server/src/main/webapp/WEB-INF/db/migrate/169_add_columns_for_profiles_inheritance.rb
sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java
sonar-server/src/test/java/org/sonar/server/configuration/InheritedProfilesTest.java
sonar-server/src/test/java/org/sonar/server/configuration/ProfilesBackupTest.java
sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml
sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren-result.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldActivateInChildren.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent-result.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldChangeParent.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren-result.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldDeactivateInChildren.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent-result.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldRemoveParent.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent-result.xml
sonar-server/src/test/resources/org/sonar/server/configuration/InheritedProfilesTest/shouldSetParent.xml

index 32bf7af86df7b8679f1c31956648937a19205667..55a8577642b26a10ab14bcca47b11ceed54b23c0 100644 (file)
@@ -1,6 +1,6 @@
 <dataset>
 
-  <rules_profiles id="1" parent_id="[null]" provided="true" name="profile" default_profile="1" language="java"/>
+  <rules_profiles id="1" parent_name="[null]" provided="true" name="profile" default_profile="1" language="java"/>
 
   <rules_categories id="1" name="category one" description="[null]"/>
 
index 06fe96c829c93ed8a130866de86569eba3d3c721..6a50730d3088c5096987244cd3c4bc05790992db 100644 (file)
@@ -73,6 +73,9 @@ public class RulesProfile implements Cloneable {
   @Column(name = "language", updatable = true, nullable = false)
   private String language;
 
+  @Column(name = "parent_name", updatable = true, nullable = true)
+  private String parentName;
+
   @OneToMany(mappedBy = "rulesProfile", fetch = FetchType.LAZY, cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REMOVE })
   private List<ActiveRule> activeRules = new ArrayList<ActiveRule>();
 
@@ -82,13 +85,6 @@ public class RulesProfile implements Cloneable {
   @OneToMany(mappedBy = "rulesProfile", fetch = FetchType.LAZY)
   private List<ResourceModel> projects = new ArrayList<ResourceModel>();
 
-  // @ManyToOne(fetch = FetchType.LAZY)
-  // @JoinColumn(name = "parent_id", updatable = true, nullable = true)
-  // private RulesProfile parentProfile;
-
-  @Column(name = "parent_id", updatable = true, nullable = true)
-  private Integer parentId;
-
   /**
    * @deprecated use the factory method create()
    */
@@ -201,8 +197,8 @@ public class RulesProfile implements Cloneable {
    * 
    * @since 2.5
    */
-  public Integer getParentId() {
-    return parentId;
+  public String getParentName() {
+    return parentName;
   }
 
   /**
@@ -210,8 +206,8 @@ public class RulesProfile implements Cloneable {
    * 
    * @since 2.5
    */
-  public void setParentId(Integer parentId) {
-    this.parentId = parentId;
+  public void setParentName(String parentName) {
+    this.parentName = parentName;
   }
 
   /**
@@ -332,7 +328,7 @@ public class RulesProfile implements Cloneable {
     RulesProfile clone = RulesProfile.create(getName(), getLanguage());
     clone.setDefaultProfile(getDefaultProfile());
     clone.setProvided(getProvided());
-    clone.setParentId(getParentId());
+    clone.setParentName(getParentName());
     if (CollectionUtils.isNotEmpty(getActiveRules())) {
       clone.setActiveRules(new ArrayList<ActiveRule>(CollectionUtils.collect(getActiveRules(), new Transformer() {
         public Object transform(Object input) {
index c5c118dc1cbabeb4c981994981f85eb0f5aa340e..549f71742f22628b905e4186e5371326e6f7261e 100644 (file)
@@ -73,11 +73,12 @@ public class ProfilesManager extends BaseDao {
   // Managing inheritance of profiles
   // Only one level of inheritance supported
 
-  public void changeParentProfile(Integer profileId, Integer parentId) {
+  public void changeParentProfile(Integer profileId, String parentName) {
     RulesProfile profile = getSession().getEntity(RulesProfile.class, profileId);
-    if (profile != null && !profile.getProvided() && profileId != parentId) {
-      RulesProfile oldParent = getProfile(profile.getParentId());
-      RulesProfile newParent = getProfile(parentId);
+    // TODO check cycles
+    if (profile != null && !profile.getProvided()) {
+      RulesProfile oldParent = getParentProfile(profile);
+      RulesProfile newParent = getProfile(profile.getLanguage(), parentName);
       // Deactivate all inherited rules
       if (oldParent != null) {
         for (ActiveRule activeRule : oldParent.getActiveRules()) {
@@ -89,8 +90,9 @@ public class ProfilesManager extends BaseDao {
         for (ActiveRule activeRule : newParent.getActiveRules()) {
           activateOrChange(profile, activeRule);
         }
+      } else {
       }
-      profile.setParentId(parentId);
+      profile.setParentName(newParent == null ? null : newParent.getName());
       getSession().saveWithoutFlush(profile);
       getSession().commit();
     }
@@ -128,7 +130,7 @@ public class ProfilesManager extends BaseDao {
     RulesProfile profile = getSession().getEntity(RulesProfile.class, profileId);
     ActiveRule activeRule = getSession().getEntity(ActiveRule.class, activeRuleId);
     if (activeRule != null && activeRule.isInherited() && activeRule.isOverrides()) {
-      ActiveRule parentActiveRule = getProfile(profile.getParentId()).getActiveRule(activeRule.getRule());
+      ActiveRule parentActiveRule = getParentProfile(profile).getActiveRule(activeRule.getRule());
       removeActiveRule(profile, activeRule);
       activeRule = (ActiveRule) parentActiveRule.clone();
       activeRule.setRulesProfile(profile);
@@ -170,7 +172,11 @@ public class ProfilesManager extends BaseDao {
   }
 
   private List<RulesProfile> getChildren(int parentId) {
-    return getSession().getResults(RulesProfile.class, "parentId", parentId, "provided", false);
+    RulesProfile parent = getProfile(parentId);
+    return getSession().getResults(RulesProfile.class,
+        "language", parent.getLanguage(),
+        "parentName", parent.getName(),
+        "provided", false);
   }
 
   private void removeActiveRule(RulesProfile profile, ActiveRule activeRule) {
@@ -182,4 +188,17 @@ public class ProfilesManager extends BaseDao {
     return id == null ? null : getSession().getEntity(RulesProfile.class, id);
   }
 
+  private RulesProfile getProfile(String language, String name) {
+    return getSession().getSingleResult(RulesProfile.class,
+        "language", language,
+        "name", name);
+  }
+
+  private RulesProfile getParentProfile(RulesProfile profile) {
+    if (profile.getParentName() == null) {
+      return null;
+    }
+    return getProfile(profile.getLanguage(), profile.getParentName());
+  }
+
 }
index 1808547126f5a79c5693076d9c68be780599643e..d4e89669dbd2ea13c1c70efcf3b1cdc035d0a7d9 100644 (file)
@@ -197,8 +197,8 @@ public final class JRubyFacade implements ServerComponent {
     getProfilesManager().deleteProfile((int) profileId);
   }
 
-  public void changeParentProfile(int profileId, Integer parentId) {
-    getProfilesManager().changeParentProfile(profileId, parentId);
+  public void changeParentProfile(int profileId, String parentName) {
+    getProfilesManager().changeParentProfile(profileId, parentName);
   }
 
   public void ruleActivatedOrChanged(int parentProfileId, int activeRuleId) {
index 5cd988308d322a51105a472735742f9f78cabe8a..ddeb9a1fa209c9524877465b34f1a52572e733aa 100644 (file)
@@ -55,8 +55,8 @@ class RulesConfigurationController < ApplicationController
     @select_priority = ANY_SELECTION + RULE_PRIORITIES\r
     @select_status = [['Any',''], ["Active", STATUS_ACTIVE], ["Inactive", STATUS_INACTIVE]]\r
 
-    @child_profiles = RulesProfile.find(:all, :conditions => {:parent_id => @profile.id})
-    @select_parent = [['', nil]] + RulesProfile.find(:all, :conditions => {:language => @profile.language, :parent_id => nil}).collect { |profile| [profile.name, profile.id] }.sort
+    @child_profiles = RulesProfile.find(:all, :conditions => {:language => @profile.language, :parent_name => @profile.name})
+    @select_parent = [['', nil]] + RulesProfile.find(:all).collect { |profile| [profile.name, profile.name] }.sort
 
     @rules = Rule.search(java_facade, {\r
         :profile => @profile, :status => @status, :priorities => @priorities,\r
@@ -80,16 +80,16 @@ class RulesConfigurationController < ApplicationController
 
   #
   #
-  # POST /rules_configuration/change_parent?id=<profile id>&parent_id=<parent profile id>
+  # POST /rules_configuration/change_parent?id=<profile id>&parent_name=<parent profile name>
   #
   #
   def change_parent
     id = params[:id].to_i
-    parent_id = params[:parent_id]
-    if parent_id.blank?
+    parent_name = params[:parent_name]
+    if parent_name.blank?
       java_facade.changeParentProfile(id, nil)
     else
-      java_facade.changeParentProfile(id, parent_id.to_i)
+      java_facade.changeParentProfile(id, parent_name)
     end
     redirect_to :action => 'index', :id => params[:id]
   end
index e975efc473f719735ec55950d31dbe4c9bdc7bb3..13b9559f964076317c8340749ebf3f6b975119e5 100644 (file)
@@ -20,8 +20,6 @@
 class Profile < ActiveRecord::Base
   set_table_name 'rules_profiles'
 
-  belongs_to :parent_profile, :class_name => 'Profile', :foreign_key => 'parent_id'
-
   has_many :alerts, :dependent => :delete_all
   has_many :active_rules, :class_name => 'ActiveRule', :foreign_key => 'profile_id', :dependent => :destroy, :include => ['rule']
   has_many :projects, :order => 'name asc'
index d9471196c3c1e3d976656b5f92a898ff91455ccf..9dd57c058fc7e7a59e2d660285eb8cbef5b3f285 100644 (file)
@@ -21,8 +21,6 @@
 
 # DEPRECATED - use profile.rb instead
 class RulesProfile < ActiveRecord::Base
-  belongs_to :parent_profile, :class_name => 'Profile', :foreign_key => 'parent_id'
-
   has_many :active_rules, :class_name => 'ActiveRule', :foreign_key => 'profile_id',
       :dependent => :destroy, :include => ['rule']
 
index 9b3726d4d60cac31ba43ec2b1474f2ec66497142..8a502bb3341f11287b66262c6012ec41af7510f0 100644 (file)
   <div>
     <% if @child_profiles.size == 0 %>
       <% if !@profile.provided? %>
-        <% parent_id = @profile.parent_profile.id if @profile.parent_profile %>
         <% form_tag({:action => 'change_parent'}, {:method => 'post'}) do %>
           <%= hidden_field_tag "id", @id %>
-          Parent profile: <%= select_tag "parent_id", options_for_select(@select_parent, parent_id), :disabled => !enable_modification %>
+          Parent profile: <%= select_tag "parent_name", options_for_select(@select_parent, @profile.parent_name), :disabled => !enable_modification %>
           <%= submit_tag "Change", :id => 'submit_parent', :disabled => !enable_modification %>
         <% end %>
       <% end %>
index 1424404baf87c052c6073f719608e64842722b8a..2119cbe479b753a3ba0c39b8901962e9564f83d5 100644 (file)
@@ -29,7 +29,7 @@ class AddColumnsForProfilesInheritance < ActiveRecord::Migration
     ActiveRule.reset_column_information
     ActiveRule.update_all(ActiveRule.sanitize_sql_for_assignment({:inherited => false, :overrides => false}))
 
-    add_column 'rules_profiles', 'parent_id', :integer, :null => true
+    add_column 'rules_profiles', 'parent_name', :string, :limit => 40, :null => true
     Profile.reset_column_information
   end
 
index a9eac6a43a866fd90836ad7454ac438f7ed3cf13..c9afa4d3daeec4d451bce12c65f2acdad9f74d4d 100644 (file)
@@ -114,9 +114,10 @@ public class BackupTest {
     }
 
     Collection<RulesProfile> profiles = sonarConfig.getProfiles();
-    assertEquals(2, profiles.size());
+    assertEquals(3, profiles.size());
 
-    RulesProfile testProfile = profiles.iterator().next();
+    Iterator<RulesProfile> profilesIter = profiles.iterator();
+    RulesProfile testProfile = profilesIter.next();
     assertEquals("test name", testProfile.getName());
     assertEquals(true, testProfile.getDefaultProfile());
     assertEquals("test language", testProfile.getLanguage());
@@ -142,6 +143,9 @@ public class BackupTest {
     assertNotNull(testAlert.getMetric());
     assertEquals("test key", testAlert.getMetric().getKey());
 
+    testProfile = profilesIter.next();
+    assertEquals("test2 parent", testProfile.getParentName());
+
     Collection<Rule> rules = sonarConfig.getRules();
     assertThat(rules.size(), is(1));
     Rule rule = rules.iterator().next();
@@ -246,7 +250,11 @@ public class BackupTest {
     profile1.setProvided(true);
     profiles.add(profile1);
 
+    RulesProfile parentProfile = RulesProfile.create("test2 parent", "test2 language");
+    profiles.add(parentProfile);
+
     RulesProfile profile2 = RulesProfile.create("test2 name", "test2 language");
+    profile2.setParentName(parentProfile.getName());
     profiles.add(profile2);
 
     Rule rule = Rule.create("test plugin", "test key", null);
index cd91617045bd64592c56e391c5b39abaf5b075c3..6d146700f2dc2a3b36b6291933ffb27b12f27057 100644 (file)
@@ -15,14 +15,14 @@ public class InheritedProfilesTest extends AbstractDbUnitTestCase {
   @Test
   public void shouldSetParent() {
     setupData("shouldSetParent");
-    profilesManager.changeParentProfile(2, 1);
+    profilesManager.changeParentProfile(2, "parent");
     checkTables("shouldSetParent", "active_rules", "rules_profiles");
   }
 
   @Test
   public void shouldChangeParent() {
     setupData("shouldChangeParent");
-    profilesManager.changeParentProfile(3, 2);
+    profilesManager.changeParentProfile(3, "new_parent");
     checkTables("shouldChangeParent", "active_rules", "rules_profiles");
   }
 
index 3fbef0fa3c9599b9f39d8a9c06e2139880e66ea9..d129f7e524c811129d1d22c164ba43882dbfb495 100644 (file)
@@ -21,11 +21,11 @@ package org.sonar.server.configuration;
 
 import org.junit.Before;
 import org.junit.Test;
-import org.sonar.jpa.test.AbstractDbUnitTestCase;
 import org.sonar.api.measures.Metric;
 import org.sonar.api.profiles.Alert;
 import org.sonar.api.profiles.RulesProfile;
 import org.sonar.api.rules.*;
+import org.sonar.jpa.test.AbstractDbUnitTestCase;
 
 import java.util.Arrays;
 
index 2f3f7dfa4e2705634cafa3fd33f93504740a65f6..e549391d960802c8a997f053d36fb6fc72b44182 100644 (file)
       <default-profile><![CDATA[false]]></default-profile>
       <provided><![CDATA[false]]></provided>
       <language><![CDATA[test2 language]]></language>
+      <parentName><![CDATA[test2 parent]]></parentName>
+      <active-rules/>
+      <alerts/>
+    </profile>
+    <profile>
+      <name><![CDATA[test2 parent]]></name>
+      <default-profile><![CDATA[false]]></default-profile>
+      <provided><![CDATA[false]]></provided>
+      <language><![CDATA[test2 language]]></language>
       <active-rules/>
       <alerts/>
     </profile>
index 37b9a64a06b83ae6d713369aba11046691f0e9c3..7d0db470c7792fe1fb80da3027d6fe24bbc5faab 100644 (file)
         </alert>
       </alerts>
     </profile>
+    <profile>
+      <name><![CDATA[test2 parent]]></name>
+      <default-profile><![CDATA[false]]></default-profile>
+      <provided><![CDATA[false]]></provided>
+      <language><![CDATA[test2 language]]></language>
+      <active-rules/>
+      <alerts/>
+    </profile>
     <profile>
       <name><![CDATA[test2 name]]></name>
       <default-profile><![CDATA[false]]></default-profile>
       <provided><![CDATA[false]]></provided>
       <language><![CDATA[test2 language]]></language>
+      <parentName><![CDATA[test2 parent]]></parentName>
       <active-rules/>
       <alerts/>
     </profile>
index 0ac85d5be68ccca6b059a385c33e0f44681a9753..04db426da65218117f8e1f3a8739c2d0a194b337 100644 (file)
@@ -5,9 +5,9 @@
   
   <rules_parameters id="1" rule_id="1" name="param1" description="[null]" param_type="r"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
   <active_rule_parameters id="1" active_rule_id="1" rules_parameter_id="1" value="30"/>
index 0275a315e522dcfb1529bc97c8a7e24d05f1b944..0cc852064636d75214a5d1cc529925624429e0e4 100644 (file)
@@ -5,9 +5,9 @@
 
   <rules_parameters id="1" rule_id="1" name="param1" description="[null]" param_type="r"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
   <active_rule_parameters id="1" active_rule_id="1" rules_parameter_id="1" value="30"/>
index 6dbe9f97c5fb43b7d014e531650ccc059c597e04..c93d81534ff4a43d3ceb11b4f6b2c14068a656f9 100644 (file)
@@ -6,11 +6,11 @@
   <rules id="2" name="bar" description="test" plugin_config_key="checker/bar"
          plugin_rule_key="checkstyle.rule2" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="new_child" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="2" provided="false" name="new_parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="3" provided="false" name="old_child" default_profile="0" language="java" parent_id="2"/>
+  <rules_profiles id="3" provided="false" name="child" default_profile="0" language="java" parent_name="new_parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index 09be1a33357f5e3b7fcdf420aaf342b04886a8e4..d93a6684d193ed36b504e3a0376891f6c093e6af 100644 (file)
@@ -6,11 +6,11 @@
   <rules id="2" name="bar" description="test" plugin_config_key="checker/bar"
          plugin_rule_key="checkstyle.rule2" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="new_child" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="2" provided="false" name="new_parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="3" provided="false" name="old_child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="3" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index 2b7e4f1d92fe620caae61d6012353806fe8a99f6..6f68f9f6338be782ab865dc5453f3c7a9fc54a2b 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index a66038a776093e86886730fa1312269160deaf91..73010f07a0bfb844f6467b801eae770652e332ec 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index 0c458b31a8ca96ea657671f179e45556fecb1236..7c93dac1ad3b3628e28a2cf0cf419e063cc943da 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="[null]"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index a66038a776093e86886730fa1312269160deaf91..73010f07a0bfb844f6467b801eae770652e332ec 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index a66038a776093e86886730fa1312269160deaf91..73010f07a0bfb844f6467b801eae770652e332ec 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="1"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="parent"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>
 
index 0c458b31a8ca96ea657671f179e45556fecb1236..7c93dac1ad3b3628e28a2cf0cf419e063cc943da 100644 (file)
@@ -3,9 +3,9 @@
   <rules id="1" name="foo" description="test" plugin_config_key="checker/foo"
          plugin_rule_key="checkstyle.rule1" plugin_name="plugin" enabled="true" cardinality="SINGLE" parent_id="[null]"/>
 
-  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="1" provided="false" name="parent" default_profile="0" language="java" parent_name="[null]"/>
   
-  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_id="[null]"/>
+  <rules_profiles id="2" provided="false" name="child" default_profile="0" language="java" parent_name="[null]"/>
 
   <active_rules id="1" profile_id="1" rule_id="1" failure_level="2" inherited="false" overrides="[null]"/>