IDEA-19061 Integrate the Rearranger-plugin into core-IDE

ArrangmentSettingsNode -> ArrangementMatchCondition
This commit is contained in:
Denis.Zhdanov
2012-08-23 13:34:41 +04:00
parent 8b60941b28
commit c38865bbaa
27 changed files with 262 additions and 264 deletions
@@ -18,16 +18,15 @@ package com.intellij.application.options.codeStyle.arrangement;
import com.intellij.psi.codeStyle.arrangement.JavaRearranger;
import com.intellij.psi.codeStyle.arrangement.match.ArrangementEntryType;
import com.intellij.psi.codeStyle.arrangement.match.ArrangementModifier;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementAtomMatchCondition;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementMatchCondition;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingType;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingsAtomNode;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingsNode;
import com.intellij.ui.treeStructure.Tree;
import gnu.trove.TIntObjectHashMap;
import org.jetbrains.annotations.NotNull;
import org.junit.Before;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.util.Arrays;
@@ -55,11 +54,11 @@ public abstract class AbstractArrangementRuleEditingModelTest {
myGrouper = new JavaRearranger();
}
protected void configure(@NotNull ArrangementSettingsNode settingsNode) {
myBuilder.build(settingsNode, myTree, myRoot, myGrouper, myRowMappings);
protected void configure(@NotNull ArrangementMatchCondition matchCondition) {
myBuilder.build(matchCondition, myTree, myRoot, myGrouper, myRowMappings);
}
protected static ArrangementSettingsAtomNode atom(@NotNull Object condition) {
protected static ArrangementAtomMatchCondition atom(@NotNull Object condition) {
final ArrangementSettingType type;
if (condition instanceof ArrangementEntryType) {
type = ArrangementSettingType.TYPE;
@@ -70,7 +69,7 @@ public abstract class AbstractArrangementRuleEditingModelTest {
else {
throw new IllegalArgumentException(String.format("Unexpected condition of class %s: %s", condition.getClass(), condition));
}
return new ArrangementSettingsAtomNode(type, condition);
return new ArrangementAtomMatchCondition(type, condition);
}
protected void checkRows(int... rows) {
@@ -16,7 +16,7 @@
package com.intellij.application.options.codeStyle.arrangement
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingType
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingsAtomNode
import com.intellij.psi.codeStyle.arrangement.model.ArrangementAtomMatchCondition
import gnu.trove.TIntIntHashMap
import org.jetbrains.annotations.NotNull
import org.jetbrains.annotations.Nullable
@@ -351,7 +351,7 @@ public class TreeNodeBuilder extends BuilderSupport {
@Override
protected Object createNode(Object name) {
def result = new ArrangementTreeNode(new ArrangementSettingsAtomNode(ArrangementSettingType.MODIFIER, name))
def result = new ArrangementTreeNode(new ArrangementAtomMatchCondition(ArrangementSettingType.MODIFIER, name))
currentNode?.add(result)
result
}
@@ -15,11 +15,9 @@
*/
package com.intellij.application.options.codeStyle.arrangement;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingsNode;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementMatchCondition;
import org.junit.Test;
import javax.swing.tree.DefaultMutableTreeNode;
import static com.intellij.psi.codeStyle.arrangement.ArrangementUtil.and;
import static com.intellij.psi.codeStyle.arrangement.match.ArrangementEntryType.FIELD;
import static com.intellij.psi.codeStyle.arrangement.match.ArrangementModifier.*;
@@ -33,21 +31,21 @@ public class ArrangementRuleEditingModelBuilderTest extends AbstractArrangementR
@Test
public void mapToTheSameLayer() {
ArrangementSettingsNode settingsNode = and(atom(PUBLIC), atom(STATIC));
myBuilder.build(settingsNode, myTree, myRoot, myGrouper, myRowMappings);
ArrangementMatchCondition matchCondition = and(atom(PUBLIC), atom(STATIC));
myBuilder.build(matchCondition, myTree, myRoot, myGrouper, myRowMappings);
checkRows(1);
ArrangementRuleEditingModel model = myRowMappings.get(1);
assertTrue(model.hasCondition(PUBLIC));
assertTrue(model.hasCondition(STATIC));
assertFalse(model.hasCondition(PRIVATE));
assertEquals(1, myRoot.getChildCount());
assertEquals(settingsNode, myRoot.getFirstChild().getBackingSetting());
assertEquals(matchCondition, myRoot.getFirstChild().getBackingSetting());
}
@Test
public void splitIntoTwoLayers() {
ArrangementSettingsNode settingsNode = and(atom(FIELD), atom(PUBLIC), atom(STATIC));
myBuilder.build(settingsNode, myTree, myRoot, myGrouper, myRowMappings);
ArrangementMatchCondition matchCondition = and(atom(FIELD), atom(PUBLIC), atom(STATIC));
myBuilder.build(matchCondition, myTree, myRoot, myGrouper, myRowMappings);
checkRows(2);
@@ -15,7 +15,7 @@
*/
package com.intellij.application.options.codeStyle.arrangement;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementSettingsNode;
import com.intellij.psi.codeStyle.arrangement.model.ArrangementMatchCondition;
import org.junit.Test;
import static com.intellij.psi.codeStyle.arrangement.ArrangementUtil.and;
@@ -39,9 +39,9 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
ArrangementTreeNode child = myRoot.getFirstChild();
assertNotNull(child);
ArrangementSettingsNode expectedSettingsNode = and(atom(PUBLIC), atom(STATIC));
assertEquals(expectedSettingsNode, child.getBackingSetting());
assertEquals(expectedSettingsNode, model.getSettingsNode());
ArrangementMatchCondition expectedMatchCondition = and(atom(PUBLIC), atom(STATIC));
assertEquals(expectedMatchCondition, child.getBackingSetting());
assertEquals(expectedMatchCondition, model.getMatchCondition());
}
@Test
@@ -54,7 +54,7 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
model.addAndCondition(atom(FIELD));
assertEquals(2, model.getRow());
assertEquals(and(atom(FIELD), atom(PUBLIC)), model.getSettingsNode());
assertEquals(and(atom(FIELD), atom(PUBLIC)), model.getMatchCondition());
ArrangementTreeNode fieldNode = myRoot.getFirstChild();
assertNotNull(fieldNode);
@@ -76,7 +76,7 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
assertEquals(1, myRowMappings.size());
assertSame(model, myRowMappings.get(2));
assertEquals(and(atom(FIELD), atom(PUBLIC), atom(STATIC)), model.getSettingsNode());
assertEquals(and(atom(FIELD), atom(PUBLIC), atom(STATIC)), model.getMatchCondition());
ArrangementTreeNode fieldNode = myRoot.getFirstChild();
assertNotNull(fieldNode);
@@ -98,7 +98,7 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
assertEquals(1, myRowMappings.size());
assertSame(model, myRowMappings.get(2));
assertEquals(and(atom(FIELD), atom(STATIC)), model.getSettingsNode());
assertEquals(and(atom(FIELD), atom(STATIC)), model.getMatchCondition());
ArrangementTreeNode fieldNode = myRoot.getFirstChild();
assertNotNull(fieldNode);
@@ -119,7 +119,7 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
model.removeAndCondition(atom(PUBLIC));
assertEquals(1, model.getRow());
assertEquals(atom(FIELD), model.getSettingsNode());
assertEquals(atom(FIELD), model.getMatchCondition());
ArrangementTreeNode fieldNode = myRoot.getFirstChild();
assertNotNull(fieldNode);
@@ -143,10 +143,10 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
modelToChange.removeAndCondition(atom(PUBLIC));
assertSame(1, modelToChange.getRow());
assertEquals(atom(FIELD), modelToChange.getSettingsNode());
assertEquals(atom(FIELD), modelToChange.getMatchCondition());
assertSame(3, siblingModel.getRow());
assertEquals(and(atom(FIELD), atom(STATIC)), siblingModel.getSettingsNode());
assertEquals(and(atom(FIELD), atom(STATIC)), siblingModel.getMatchCondition());
ArrangementTreeNode atomFieldNode = myRoot.getFirstChild();
assertNotNull(atomFieldNode);
@@ -177,10 +177,10 @@ public class ArrangementRuleEditingModelImplTest extends AbstractArrangementRule
assertEquals(2, myRowMappings.size());
assertSame(siblingModel, myRowMappings.get(2));
assertEquals(and(atom(FIELD), atom(PUBLIC)), siblingModel.getSettingsNode());
assertEquals(and(atom(FIELD), atom(PUBLIC)), siblingModel.getMatchCondition());
assertSame(modelToChange, myRowMappings.get(3));
assertEquals(atom(FIELD), modelToChange.getSettingsNode());
assertEquals(atom(FIELD), modelToChange.getMatchCondition());
ArrangementTreeNode compositeFieldNode = myRoot.getFirstChild();
assertNotNull(compositeFieldNode);