Initial import.
This commit is contained in:
parent
1457c02c00
commit
f473693052
25 changed files with 2468 additions and 0 deletions
47
META-INF/plugin.xml
Normal file
47
META-INF/plugin.xml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<idea-plugin url="http://www.intellij.org/twiki/bin/view/Main/TestNGGenerator">
|
||||||
|
<name>TestNG Generator</name>
|
||||||
|
<description>
|
||||||
|
<![CDATA[
|
||||||
|
Automatically generates a TestNG test class skeleton for all of the current class methods.<br>
|
||||||
|
The output is produced using a Velocity template, which can be modified to meet your specific needs.<br>
|
||||||
|
If a test class already exists, your will be prompted to either
|
||||||
|
overwrite or compare the test class using diff panels.<br>
|
||||||
|
]]>
|
||||||
|
</description>
|
||||||
|
<version>@VERSION@</version>
|
||||||
|
<vendor email="erik@thauvin.net" url="http://erik.thauvin.net/">Erik C. Thauvin</vendor>
|
||||||
|
<idea-version since-build="4155"/>
|
||||||
|
|
||||||
|
<change-notes>
|
||||||
|
<![CDATA[
|
||||||
|
<b>1.0</b> Based on Alex Nazimok's JUnit Generator 1.1.6<br>
|
||||||
|
]]>
|
||||||
|
</change-notes>
|
||||||
|
|
||||||
|
|
||||||
|
<application-components>
|
||||||
|
<component>
|
||||||
|
<implementation-class>org.intellij.plugins.testnggen.TestNGGenerator</implementation-class>
|
||||||
|
<interface-class>org.intellij.plugins.testnggen.TestNGGenerator</interface-class>
|
||||||
|
</component>
|
||||||
|
|
||||||
|
<component>
|
||||||
|
<implementation-class>org.intellij.plugins.testnggen.ui.TestNGGenConfig</implementation-class>
|
||||||
|
<option name="workspace" value="true"/>
|
||||||
|
</component>
|
||||||
|
</application-components>
|
||||||
|
|
||||||
|
<actions>
|
||||||
|
<action id="Actions.ActionsPlugin.TestNGGenerator"
|
||||||
|
class="org.intellij.plugins.testnggen.TestNGGeneratorAction"
|
||||||
|
text="TestNG Test Class"
|
||||||
|
description="Generates TestNG test class skeleton, including all methods of the tested class.">
|
||||||
|
</action>
|
||||||
|
|
||||||
|
<group>
|
||||||
|
<reference id="Actions.ActionsPlugin.TestNGGenerator"/>
|
||||||
|
<add-to-group group-id="GenerateGroup" anchor="after" relative-to-action="GenerateEquals"/>
|
||||||
|
</group>
|
||||||
|
</actions>
|
||||||
|
|
||||||
|
</idea-plugin>
|
1
build.properties
Normal file
1
build.properties
Normal file
|
@ -0,0 +1 @@
|
||||||
|
version=1.0
|
64
build.xml
Normal file
64
build.xml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<project name="testnggen" basedir="." default="all">
|
||||||
|
<target name="init" description="initializes all the variables for the build">
|
||||||
|
<property file="build.properties"/>
|
||||||
|
|
||||||
|
<fail unless="version" message="version property is missing, see build.properties"/>
|
||||||
|
|
||||||
|
<property name="src.dir" value="${basedir}/src"/>
|
||||||
|
<property name="dist.dir" value="${basedir}/dist"/>
|
||||||
|
<property name="lib.dir" value="${basedir}/lib"/>
|
||||||
|
|
||||||
|
<property name="jar.file" location="${dist.dir}/${ant.project.name}.jar"/>
|
||||||
|
<property name="dist.file" value="${dist.dir}/${ant.project.name}-${version}"/>
|
||||||
|
|
||||||
|
<filterset id="dirs.filterset">
|
||||||
|
<filter token="VERSION" value="${version}"/>
|
||||||
|
</filterset>
|
||||||
|
|
||||||
|
<path id="class.path">
|
||||||
|
<fileset dir="${lib.dir}">
|
||||||
|
<include name="**/*.jar"/>
|
||||||
|
</fileset>
|
||||||
|
</path>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="all" depends="clean, compile, deploy" description="executes all the targets in the build file"/>
|
||||||
|
|
||||||
|
<target name="compile" depends="init" description="compiles the source">
|
||||||
|
<mkdir dir="classes"/>
|
||||||
|
<javac srcdir="${src.dir}" destdir="${basedir}/classes" deprecation="true" debug="true">
|
||||||
|
<include name="**/*.java"/>
|
||||||
|
<classpath refid="class.path"/>
|
||||||
|
</javac>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="deploy" depends="compile"
|
||||||
|
description="creates all the needed distribution files and packages them into zip file.">
|
||||||
|
<mkdir dir="${dist.dir}"/>
|
||||||
|
|
||||||
|
<zip destfile="${dist.file}-src.zip" basedir="${basedir}" excludes="classes/**,dist/**"/>
|
||||||
|
|
||||||
|
<mkdir dir="${dist.dir}"/>
|
||||||
|
<copy todir="${basedir}/classes">
|
||||||
|
<fileset dir="${basedir}" includes="META-INF/**"/>
|
||||||
|
<filterset refid="dirs.filterset"/>
|
||||||
|
</copy>
|
||||||
|
|
||||||
|
<jar jarfile="${jar.file}" basedir="${basedir}/classes">
|
||||||
|
<fileset dir="${src.dir}" includes="**/*.gif"/>
|
||||||
|
</jar>
|
||||||
|
|
||||||
|
<zip destfile="${dist.file}.zip">
|
||||||
|
<zipfileset dir="${basedir}" includes="resources/**"/>
|
||||||
|
<zipfileset file="${jar.file}"/>
|
||||||
|
</zip>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="clean" depends="init" description="cleans the classes and dist directories.">
|
||||||
|
<delete quiet="true" includeEmptyDirs="true">
|
||||||
|
<fileset dir="${basedir}/classes" includes="*,*/**"/>
|
||||||
|
<fileset dir="${dist.dir}" includes="*,*/**"/>
|
||||||
|
</delete>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
</project>
|
BIN
lib/extensions.jar
Normal file
BIN
lib/extensions.jar
Normal file
Binary file not shown.
BIN
lib/openapi.jar
Normal file
BIN
lib/openapi.jar
Normal file
Binary file not shown.
BIN
lib/velocity.jar
Normal file
BIN
lib/velocity.jar
Normal file
Binary file not shown.
16
resources/testnggen.properties
Normal file
16
resources/testnggen.properties
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
## Output Pattern definition file.
|
||||||
|
##
|
||||||
|
## Available variables:
|
||||||
|
## $SOURCEPATH$ - location where source code for current project resides
|
||||||
|
## $PACKAGE$ - package path where TestedClass resides
|
||||||
|
## $FILENAME$ - Filename of the testClass. Note: if you modify filename only
|
||||||
|
## the file name will be affected not a class name
|
||||||
|
##
|
||||||
|
## Anything before $SOURCEPATH$ will be ignored. If you need to go outside of the
|
||||||
|
## sourcepath use $SOURCEPATH$/../
|
||||||
|
##
|
||||||
|
## For project sepcific configuration you can add seporate line for every project.
|
||||||
|
## Earch line must start with project name. i.e
|
||||||
|
## myproject=$SOURCEPATH$/testing/$PACKAGE$/$FILENAME$
|
||||||
|
## If project specific configuration does not exist, the following line will be used.
|
||||||
|
output=$SOURCEPATH$/test/$PACKAGE$/$FILENAME$
|
79
resources/testnggen.vm
Normal file
79
resources/testnggen.vm
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
########################################################################################
|
||||||
|
##
|
||||||
|
## Available variables:
|
||||||
|
## $entryList.methodList - ArrayList of method names
|
||||||
|
## $entryList.fieldList - ArrayList of class scope field names
|
||||||
|
## $entryList.className - class name
|
||||||
|
## $entryList.packageName - package name
|
||||||
|
## $today - Today's date in "MM/DD/YYYY" format
|
||||||
|
## $todayLong - Today's date in "Month Day, Year" format
|
||||||
|
## $author - The author (current user) name.
|
||||||
|
## $hasAnnotations - Is set to true if annotations (>= JDK 1.5) are available.
|
||||||
|
##
|
||||||
|
## You can configure the output class name using "testClass" variable below.
|
||||||
|
## Here are some examples:
|
||||||
|
## Test${entry.ClassName} - will produce TestSomeClass
|
||||||
|
## ${entry.className}Test - will produce SomeClassTest
|
||||||
|
##
|
||||||
|
########################################################################################
|
||||||
|
##
|
||||||
|
#macro (cap $strIn)$strIn.valueOf($strIn.charAt(0)).toUpperCase()$strIn.substring(1)#end
|
||||||
|
## Iteratre through the list and generate testcase for every entry.
|
||||||
|
#foreach ($entry in $entryList)
|
||||||
|
#set( $testClass="${entry.className}Test")
|
||||||
|
##
|
||||||
|
package $entry.packageName;
|
||||||
|
|
||||||
|
#if($hasAnnotations)
|
||||||
|
import org.testng.annotations.*;
|
||||||
|
#else
|
||||||
|
import org.testng.Assert;
|
||||||
|
#end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${entry.className} Tester.
|
||||||
|
*
|
||||||
|
* @author $author
|
||||||
|
* @version $Revision$, $Date$
|
||||||
|
* @created $todayLong
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
public class $testClass
|
||||||
|
{
|
||||||
|
#if($hasAnnotations)
|
||||||
|
@Configuration(beforeTestClass = true)
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* Test Setup.
|
||||||
|
*
|
||||||
|
* @testng.configuration beforeTestClass = "true"
|
||||||
|
*/
|
||||||
|
#end
|
||||||
|
public void setUp()
|
||||||
|
{
|
||||||
|
//TODO: Code that will be invoked when this test is instantiated
|
||||||
|
}
|
||||||
|
|
||||||
|
#foreach($method in $entry.methodList)
|
||||||
|
#if($hasAnnotations)
|
||||||
|
@Test
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* $method Tester.
|
||||||
|
*
|
||||||
|
* @testng.test
|
||||||
|
*/
|
||||||
|
#end
|
||||||
|
public void test#cap(${method})()
|
||||||
|
{
|
||||||
|
//TODO: Test goes here...
|
||||||
|
#if($hasAnnotations)
|
||||||
|
assert false : "test#cap(${method}) not implemented.";
|
||||||
|
#else
|
||||||
|
Assert.assertFalse(true, "test#cap(${method}) not implemented.");
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
|
||||||
|
#end
|
||||||
|
}
|
||||||
|
#end
|
31
src/org/intellij/plugins/testnggen/Const.java
Normal file
31
src/org/intellij/plugins/testnggen/Const.java
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constants
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @author <a href="mailto:erik@thauvin.net">Erik C. Thauvin</a>
|
||||||
|
* @since <pre>Aug 30, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class Const {
|
||||||
|
public static final String RELATIVE_DIR_NAME = "resources";
|
||||||
|
public static final String ENTRY_LIST_VAR_NAME = "entryList";
|
||||||
|
public static final String TODAY_VAR_NAME = "today";
|
||||||
|
public static final String TODAY_LONG_VAR_NAME = "todayLong";
|
||||||
|
public static final String AUTHOR_VAR_NAME = "author";
|
||||||
|
public static final String HAS_ANNOTATIONS_VAR_NAME = "hasAnnotations";
|
||||||
|
public static final String TEMPLATE_NAME = "testnggen.vm";
|
||||||
|
public static final String RESOURCE_LOADER_TYPE = "file";
|
||||||
|
public static final String RESOURCE_LOADER_CLASS_KEY = "file.resource.loader.class";
|
||||||
|
public static final String RESOURCE_LOADER_CLASS_VALUE = "org.apache.velocity.runtime.resource.loader.FileResourceLoader";
|
||||||
|
public static final String PROPERTIES_FILE_NAME = "testnggen.properties";
|
||||||
|
public static final String OUTPUT_KEY = "output";
|
||||||
|
public static final String OVERWRITE_MSG =
|
||||||
|
"File already exists. Do you want to see the difference between the old and the new test cases?\n"
|
||||||
|
+ "By answering 'No' you will overwrite an existing file.";
|
||||||
|
public static final String CLASS_NAME_VAR = "testClass";
|
||||||
|
public static final String DATE_FORMAT_VAR = "dateFormat";
|
||||||
|
|
||||||
|
private Const() {}
|
||||||
|
}
|
125
src/org/intellij/plugins/testnggen/FileCreator.java
Normal file
125
src/org/intellij/plugins/testnggen/FileCreator.java
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
|
import com.intellij.openapi.fileEditor.FileEditorManager;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
|
import com.intellij.openapi.vfs.VirtualFileSystem;
|
||||||
|
import com.intellij.psi.PsiJavaFile;
|
||||||
|
import org.intellij.plugins.testnggen.diff.DiffFileAction;
|
||||||
|
import org.intellij.plugins.testnggen.util.GenUtil;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Responsible for writing test case out to the file and bringing
|
||||||
|
* new editor window up.
|
||||||
|
* Must implement runnable since we are using Application.runWriteAction in
|
||||||
|
* TestNGGeneratorAction to refresh the content of the VirtualFileSystem.
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @author <a href="mailto:erik@thauvin.net">Erik C. Thauvin</a>
|
||||||
|
* @since <pre>Sep 1, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class FileCreator implements Runnable {
|
||||||
|
private final String _outputFile;
|
||||||
|
private final StringWriter _writer;
|
||||||
|
private final DataContext _ctx;
|
||||||
|
private final PsiJavaFile _file;
|
||||||
|
private final GeneratorContext _genCtx;
|
||||||
|
private final boolean _overwrite;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default constructor
|
||||||
|
* @param outputFile output file name
|
||||||
|
* @param writer holds the content of the file
|
||||||
|
* @param genCtx generator context
|
||||||
|
*/
|
||||||
|
public FileCreator(String outputFile, StringWriter writer, GeneratorContext genCtx, boolean overwrite) {
|
||||||
|
_outputFile = outputFile + ".java";
|
||||||
|
_writer = writer;
|
||||||
|
_ctx = genCtx.getDataContext();
|
||||||
|
_file = genCtx.getFile();
|
||||||
|
_genCtx = genCtx;
|
||||||
|
_overwrite = overwrite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When an object implementing interface <code>Runnable</code> is used
|
||||||
|
* to create a thread, starting the thread causes the object's
|
||||||
|
* <code>run</code> method to be called in that separately executing
|
||||||
|
* thread.
|
||||||
|
* <p>
|
||||||
|
* The general contract of the method <code>run</code> is that it may
|
||||||
|
* take any action whatsoever.
|
||||||
|
*
|
||||||
|
* @see java.lang.Thread#run()
|
||||||
|
*/
|
||||||
|
public final void run() {
|
||||||
|
final File newFile = new File(_outputFile);
|
||||||
|
int overwriteInd = JOptionPane.NO_OPTION;
|
||||||
|
|
||||||
|
if (!newFile.getParentFile().exists()) {
|
||||||
|
newFile.getParentFile().mkdirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newFile.exists() && !_overwrite) {
|
||||||
|
overwriteInd =
|
||||||
|
JOptionPane.showOptionDialog(null, Const.OVERWRITE_MSG, "View the difference?",
|
||||||
|
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JOptionPane.NO_OPTION == overwriteInd) {
|
||||||
|
FileWriter w = null;
|
||||||
|
try {
|
||||||
|
w = new FileWriter(newFile);
|
||||||
|
w.write(_writer.toString());
|
||||||
|
w.flush();
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
if (w != null) {
|
||||||
|
try {
|
||||||
|
w.close();
|
||||||
|
}
|
||||||
|
catch (IOException ignore) {
|
||||||
|
; // Do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Refresh and open new file in the editor
|
||||||
|
final Project project = GenUtil.getProject(_ctx);
|
||||||
|
final VirtualFileSystem vfs = _file.getVirtualFile().getFileSystem();
|
||||||
|
|
||||||
|
GenUtil.getLogger(getClass().getName()).info("OutputFile: " + _outputFile);
|
||||||
|
final VirtualFile fileToOpen = vfs.refreshAndFindFileByPath(_outputFile);
|
||||||
|
|
||||||
|
if(fileToOpen != null) {
|
||||||
|
FileEditorManager.getInstance(project).openFile(fileToOpen, true);
|
||||||
|
try {
|
||||||
|
// Demetra doesn't support this call, for some reason
|
||||||
|
vfs.forceRefreshFile(fileToOpen);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodError ignore) {
|
||||||
|
; // Do nothing.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new IllegalArgumentException("Unable to find: " + _outputFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (JOptionPane.YES_OPTION == overwriteInd) {
|
||||||
|
final VirtualFileSystem vfs = _file.getVirtualFile().getFileSystem();
|
||||||
|
DiffFileAction.showDiff(_writer.toString(), vfs.findFileByPath(_outputFile), _genCtx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
58
src/org/intellij/plugins/testnggen/GeneratorContext.java
Normal file
58
src/org/intellij/plugins/testnggen/GeneratorContext.java
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
|
import com.intellij.psi.PsiClass;
|
||||||
|
import com.intellij.psi.PsiJavaFile;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data holder/distributer object.
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Sep 3, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class GeneratorContext {
|
||||||
|
private final DataContext _ctx;
|
||||||
|
private final PsiJavaFile _file;
|
||||||
|
private final PsiClass _psiClass;
|
||||||
|
private String _outputFileName;
|
||||||
|
|
||||||
|
public GeneratorContext(DataContext ctx, PsiJavaFile file, PsiClass psiClass) {
|
||||||
|
_ctx = ctx;
|
||||||
|
_file = file;
|
||||||
|
_psiClass = psiClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final DataContext getDataContext() {
|
||||||
|
return _ctx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final PsiJavaFile getFile() {
|
||||||
|
return _file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final PsiClass getPsiClass() {
|
||||||
|
return _psiClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getPackageName() {
|
||||||
|
return _file.getPackageName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getClassName(boolean qualified) {
|
||||||
|
if (!qualified) {
|
||||||
|
return _psiClass.getName();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return _psiClass.getQualifiedName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getOutputFileName() {
|
||||||
|
return _outputFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void setOutputFileName(String outputFileName) {
|
||||||
|
_outputFileName = outputFileName;
|
||||||
|
}
|
||||||
|
}
|
30
src/org/intellij/plugins/testnggen/TestNGGenerator.java
Normal file
30
src/org/intellij/plugins/testnggen/TestNGGenerator.java
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.components.ApplicationComponent;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ApplicationComponent implementation
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Aug 29, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class TestNGGenerator implements ApplicationComponent {
|
||||||
|
/**
|
||||||
|
* Method is called after plugin is already created and configured. Plugin can start to communicate with
|
||||||
|
* other plugins only in this method.
|
||||||
|
*/
|
||||||
|
public final void initComponent() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called on plugin disposal.
|
||||||
|
*/
|
||||||
|
public final void disposeComponent() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name of component
|
||||||
|
* @return String representing component name. Use plugin_name.component_name notation.
|
||||||
|
*/
|
||||||
|
public final String getComponentName() {
|
||||||
|
return "TestNGGenerator.TestNGGenerator";
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
|
import com.intellij.openapi.actionSystem.Presentation;
|
||||||
|
import com.intellij.openapi.editor.Editor;
|
||||||
|
import com.intellij.openapi.editor.actionSystem.EditorAction;
|
||||||
|
import com.intellij.psi.PsiJavaFile;
|
||||||
|
import org.intellij.plugins.testnggen.util.GenUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TestNGGenerator action implementation
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Aug 28, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class TestNGGeneratorAction extends EditorAction {
|
||||||
|
public TestNGGeneratorAction() {
|
||||||
|
super(new TestNGGeneratorActionHandler());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables Generate popup for Java files only.
|
||||||
|
* @param editor
|
||||||
|
* @param presentation
|
||||||
|
* @param dataContext
|
||||||
|
*/
|
||||||
|
public final void update(Editor editor, Presentation presentation, DataContext dataContext) {
|
||||||
|
final PsiJavaFile javaFile = GenUtil.getSelectedJavaFile(dataContext);
|
||||||
|
presentation.setEnabled(javaFile != null);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,207 @@
|
||||||
|
package org.intellij.plugins.testnggen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
|
import com.intellij.openapi.diagnostic.Logger;
|
||||||
|
import com.intellij.openapi.editor.Editor;
|
||||||
|
import com.intellij.openapi.editor.actionSystem.EditorWriteActionHandler;
|
||||||
|
import com.intellij.psi.*;
|
||||||
|
import com.intellij.pom.java.LanguageLevel;
|
||||||
|
import org.apache.velocity.Template;
|
||||||
|
import org.apache.velocity.VelocityContext;
|
||||||
|
import org.apache.velocity.app.VelocityEngine;
|
||||||
|
import org.intellij.plugins.testnggen.util.GenUtil;
|
||||||
|
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is where the magic happens.
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @author <a href="mailto:erik@thauvin.net">Erik C. Thauvin</a>
|
||||||
|
* @since <pre>Sep 3, 2003</pre>
|
||||||
|
* @noinspection InnerClassMayBeStatic
|
||||||
|
*/
|
||||||
|
public class TestNGGeneratorActionHandler extends EditorWriteActionHandler {
|
||||||
|
private static final Logger logger = GenUtil.getLogger(TestNGGeneratorActionHandler.class.getName());
|
||||||
|
private List entryList;
|
||||||
|
private GeneratorContext genCtx;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executed upon action in the Editor
|
||||||
|
*
|
||||||
|
* @param editor IDEA Editor
|
||||||
|
* @param dataContext DataCOntext
|
||||||
|
*/
|
||||||
|
public final void executeWriteAction(Editor editor, DataContext dataContext) {
|
||||||
|
final PsiJavaFile file = GenUtil.getSelectedJavaFile(dataContext);
|
||||||
|
|
||||||
|
if (file == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final PsiClass[] psiClasses = file.getClasses();
|
||||||
|
|
||||||
|
if (psiClasses == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < psiClasses.length; i++) {
|
||||||
|
if ((psiClasses[i] != null) && (psiClasses[i].getQualifiedName() != null)) {
|
||||||
|
genCtx = new GeneratorContext(dataContext, file, psiClasses[i]);
|
||||||
|
entryList = new ArrayList(0);
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (psiClasses[i] == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!psiClasses[i].isInterface()) {
|
||||||
|
final List methodList = new ArrayList(0);
|
||||||
|
final List fieldList = new ArrayList(0);
|
||||||
|
|
||||||
|
buildMethodList(psiClasses[i].getMethods(), methodList);
|
||||||
|
buildFieldList(psiClasses[i].getFields(), fieldList);
|
||||||
|
|
||||||
|
final PsiClass[] innerClass = psiClasses[i].getAllInnerClasses();
|
||||||
|
|
||||||
|
for (int idx = 0; idx < innerClass.length; idx++) {
|
||||||
|
buildMethodList(innerClass[idx].getMethods(), methodList);
|
||||||
|
buildFieldList(psiClasses[i].getFields(), fieldList);
|
||||||
|
}
|
||||||
|
|
||||||
|
entryList.add(new TemplateEntry(genCtx.getClassName(false),
|
||||||
|
genCtx.getPackageName(),
|
||||||
|
methodList,
|
||||||
|
fieldList));
|
||||||
|
process();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
GenUtil.getLogger(getClass().getName()).error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds a list of class scope fields from an array of PsiFields
|
||||||
|
* @param fields an array of fields
|
||||||
|
* @param fieldList list to be populated
|
||||||
|
*/
|
||||||
|
private static void buildFieldList(PsiField[] fields, List fieldList) {
|
||||||
|
for(int i = 0; i < fields.length; i++){
|
||||||
|
fieldList.add(fields[i].getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds method List from an array of PsiMethods
|
||||||
|
*
|
||||||
|
* @param methods array of methods
|
||||||
|
* @param methodList list to be populated
|
||||||
|
*/
|
||||||
|
private static void buildMethodList(PsiMethod[] methods, List methodList) {
|
||||||
|
for (int j = 0; j < methods.length; j++) {
|
||||||
|
if (!methods[j].isConstructor()) {
|
||||||
|
final PsiModifierList modifiers = methods[j].getModifierList();
|
||||||
|
|
||||||
|
if (!modifiers.hasModifierProperty("private")) {
|
||||||
|
final String methodName = methods[j].getName();
|
||||||
|
|
||||||
|
if (!methodList.contains(methodName)) {
|
||||||
|
methodList.add(methodName);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
for (int k = 1; k < methods.length; k++) {
|
||||||
|
if (!methodList.contains(methodName + k)) {
|
||||||
|
methodList.add(methodName + k);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets all the needed vars in VelocityContext and
|
||||||
|
* merges the template
|
||||||
|
*/
|
||||||
|
private void process() {
|
||||||
|
try {
|
||||||
|
final Properties velocityProperties = new Properties();
|
||||||
|
velocityProperties.setProperty(VelocityEngine.RESOURCE_LOADER, Const.RESOURCE_LOADER_TYPE);
|
||||||
|
velocityProperties.setProperty(Const.RESOURCE_LOADER_CLASS_KEY, Const.RESOURCE_LOADER_CLASS_VALUE);
|
||||||
|
velocityProperties.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH,
|
||||||
|
GenUtil.getResourcePath(Const.RELATIVE_DIR_NAME));
|
||||||
|
|
||||||
|
final VelocityContext context = new VelocityContext();
|
||||||
|
context.put(Const.ENTRY_LIST_VAR_NAME, entryList);
|
||||||
|
context.put(Const.TODAY_VAR_NAME, GenUtil.formatDate("MM/dd/yyyy"));
|
||||||
|
context.put(Const.TODAY_LONG_VAR_NAME, GenUtil.formatDate("MMMM d, yyyy"));
|
||||||
|
context.put(Const.AUTHOR_VAR_NAME, System.getProperty("user.name", ""));
|
||||||
|
|
||||||
|
final LanguageLevel level = PsiManager.getInstance(GenUtil.getProject(genCtx.getDataContext())).getEffectiveLanguageLevel();
|
||||||
|
final boolean hasAnnotations = !(level == LanguageLevel.JDK_1_4 || level == LanguageLevel.JDK_1_3);
|
||||||
|
context.put(Const.HAS_ANNOTATIONS_VAR_NAME, Boolean.valueOf(hasAnnotations));
|
||||||
|
|
||||||
|
|
||||||
|
final VelocityEngine ve = new VelocityEngine();
|
||||||
|
ve.init(velocityProperties);
|
||||||
|
|
||||||
|
final Template template = ve.getTemplate(Const.TEMPLATE_NAME);
|
||||||
|
final StringWriter writer = new StringWriter();
|
||||||
|
template.merge(context, writer);
|
||||||
|
genCtx.setOutputFileName((String) context.get(Const.CLASS_NAME_VAR));
|
||||||
|
ApplicationManager.getApplication().runWriteAction(new FileCreator(GenUtil.getOutputFile(genCtx,
|
||||||
|
genCtx.getOutputFileName()), writer, genCtx, false));
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
logger.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataHolder class. Needs to be public since velocity is using it in the
|
||||||
|
* template.
|
||||||
|
* @noinspection CanBeStatic,PublicInnerClass,NonStaticInnerClassInSecureContext
|
||||||
|
*/
|
||||||
|
public class TemplateEntry {
|
||||||
|
private List _methodList = new ArrayList(0);
|
||||||
|
private List _fieldList = new ArrayList(0);
|
||||||
|
|
||||||
|
private final String _className;
|
||||||
|
private final String _packageName;
|
||||||
|
|
||||||
|
|
||||||
|
public TemplateEntry(String className, String packageName, List methodList, List fieldList) {
|
||||||
|
_className = className;
|
||||||
|
_packageName = packageName;
|
||||||
|
_methodList = methodList;
|
||||||
|
_fieldList = fieldList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getClassName() {
|
||||||
|
return _className;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getPackageName() {
|
||||||
|
return _packageName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final List getMethodList() {
|
||||||
|
return _methodList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final List getFieldList() {
|
||||||
|
return _fieldList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
62
src/org/intellij/plugins/testnggen/diff/DiffFileAction.java
Normal file
62
src/org/intellij/plugins/testnggen/diff/DiffFileAction.java
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
package org.intellij.plugins.testnggen.diff;
|
||||||
|
|
||||||
|
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.ui.Messages;
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
|
import com.intellij.openapi.actionSystem.DataConstants;
|
||||||
|
import org.intellij.plugins.testnggen.GeneratorContext;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
||||||
|
public final class DiffFileAction {
|
||||||
|
/**
|
||||||
|
* Disables the default constructor.
|
||||||
|
*
|
||||||
|
* @throws UnsupportedOperationException if the constructor is called.
|
||||||
|
*/
|
||||||
|
private DiffFileAction() throws UnsupportedOperationException {
|
||||||
|
throw new UnsupportedOperationException("Illegal constructor call.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void showDiff(String paneTwoContents, VirtualFile paneTwoFile, GeneratorContext genCtx) {
|
||||||
|
final Project project =
|
||||||
|
(Project) genCtx.getDataContext().getData(DataConstants.PROJECT);
|
||||||
|
|
||||||
|
if (project != null) {
|
||||||
|
if ((paneTwoFile != null) && (paneTwoContents != null)) {
|
||||||
|
DiffFileToken paneOneToken = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
paneOneToken = DiffFileToken.createForVirtualFile(paneTwoFile);
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
System.err.println(new StringBuffer("DiffFile plugin: could not read selected file: ").append(
|
||||||
|
paneTwoFile.getPath()).toString());
|
||||||
|
e.printStackTrace();
|
||||||
|
|
||||||
|
Messages.showDialog(project, "Could not read contents of selected file.", // message
|
||||||
|
"Diff File Error", // title
|
||||||
|
new String[] { "Dismiss" }, 0, Messages.getErrorIcon());
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (paneOneToken != null) {
|
||||||
|
final DiffFileToken paneTwoToken = new DiffFileToken();
|
||||||
|
|
||||||
|
paneTwoToken.setName("Editor Contents");
|
||||||
|
paneTwoToken.setTitle("Temporary Buffer");
|
||||||
|
paneTwoToken.setContents(paneTwoContents);
|
||||||
|
paneTwoToken.setType(FileTypeManager.getInstance().getFileTypeByExtension(paneTwoFile.getExtension()));
|
||||||
|
|
||||||
|
final DiffViewerFrame diffViewer =
|
||||||
|
new DiffViewerFrame(project /*, paneTwoFile */ , paneOneToken, paneTwoToken, genCtx);
|
||||||
|
|
||||||
|
diffViewer.setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
73
src/org/intellij/plugins/testnggen/diff/DiffFileToken.java
Normal file
73
src/org/intellij/plugins/testnggen/diff/DiffFileToken.java
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
package org.intellij.plugins.testnggen.diff;
|
||||||
|
|
||||||
|
import com.intellij.openapi.fileTypes.FileType;
|
||||||
|
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A basic Java bean that holds information about a file that is relevant for a diff viewer.
|
||||||
|
*/
|
||||||
|
public final class DiffFileToken {
|
||||||
|
private String _name;
|
||||||
|
private String _title;
|
||||||
|
private String _contents;
|
||||||
|
private FileType _type;
|
||||||
|
|
||||||
|
public DiffFileToken() {}
|
||||||
|
|
||||||
|
public DiffFileToken(String name, String title, String fileContents, FileType fileType) {
|
||||||
|
_name = name;
|
||||||
|
_title = title;
|
||||||
|
_contents = fileContents;
|
||||||
|
_type = fileType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a token based upon the specified virtual file. The file's path is used for the name,
|
||||||
|
* the contents are extracted, and the file type is inferred from the file's extension.
|
||||||
|
*
|
||||||
|
* @param file The file the token will be based upon.
|
||||||
|
* @return A new DiffFileToken.
|
||||||
|
* @throws IOException If the contents of the virtual file can not be read.
|
||||||
|
*/
|
||||||
|
public static DiffFileToken createForVirtualFile(VirtualFile file)
|
||||||
|
throws IOException {
|
||||||
|
return new DiffFileToken(file.getName(), file.getPath(), String.valueOf(file.contentsToCharArray()),
|
||||||
|
FileTypeManager.getInstance().getFileTypeByExtension(file.getExtension()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return _name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
_name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return _title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
_title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContents() {
|
||||||
|
return _contents;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContents(String contents) {
|
||||||
|
_contents = contents;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileType getType() {
|
||||||
|
return _type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(FileType type) {
|
||||||
|
_type = type;
|
||||||
|
}
|
||||||
|
}
|
74
src/org/intellij/plugins/testnggen/diff/DiffPanelHelper.java
Normal file
74
src/org/intellij/plugins/testnggen/diff/DiffPanelHelper.java
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
package org.intellij.plugins.testnggen.diff;
|
||||||
|
|
||||||
|
import com.intellij.openapi.diff.DiffManager;
|
||||||
|
import com.intellij.openapi.diff.DiffPanel;
|
||||||
|
import com.intellij.openapi.diff.SimpleContent;
|
||||||
|
import com.intellij.openapi.fileTypes.FileType;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class to add some convenience abilities to the DiffPanel.
|
||||||
|
*/
|
||||||
|
public final class DiffPanelHelper {
|
||||||
|
private Project _project = null;
|
||||||
|
private DiffFileToken _paneTwoToken = null;
|
||||||
|
private DiffFileToken _paneOneToken = null;
|
||||||
|
private DiffPanel _panel = null;
|
||||||
|
private Window _window = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new DiffPanelHelper for the specified window, project, backing file, and contents.
|
||||||
|
* The virtual file is used when a line number is selected.
|
||||||
|
*
|
||||||
|
* @param window The window that will contain the diffPanel.
|
||||||
|
* @param project The project this window is associated with.
|
||||||
|
* @param paneOneToken A token containing information about the file to be placed in the left
|
||||||
|
* hand pane.
|
||||||
|
* @param paneTwoToken A token containing information about the file to be placed in the right
|
||||||
|
*/
|
||||||
|
public DiffPanelHelper(Window window, Project project, DiffFileToken paneOneToken, DiffFileToken paneTwoToken) {
|
||||||
|
_window = window;
|
||||||
|
_project = project;
|
||||||
|
_paneTwoToken = paneTwoToken;
|
||||||
|
_paneOneToken = paneOneToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return new StringBuffer(_paneOneToken.getName()).
|
||||||
|
append(" vs. ").append(_paneTwoToken.getName()) .toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public DiffPanel getDiffPanel() {
|
||||||
|
initDiffPanel();
|
||||||
|
|
||||||
|
return _panel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void closeDiffPanel() {
|
||||||
|
if (_panel != null) {
|
||||||
|
_panel.dispose();
|
||||||
|
_panel = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initDiffPanel() {
|
||||||
|
if (_panel == null) {
|
||||||
|
_panel = DiffManager.getInstance().createDiffPanel(_window, _project);
|
||||||
|
|
||||||
|
FileType fileType = _paneTwoToken.getType();
|
||||||
|
|
||||||
|
if (fileType == null) {
|
||||||
|
fileType = _paneOneToken.getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
_panel.setTitle1(_paneOneToken.getTitle());
|
||||||
|
_panel.setTitle2(_paneTwoToken.getTitle());
|
||||||
|
_panel.setContents(new SimpleContent(_paneOneToken.getContents(), fileType),
|
||||||
|
new SimpleContent(_paneTwoToken.getContents(), fileType));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
149
src/org/intellij/plugins/testnggen/diff/DiffViewerFrame.java
Normal file
149
src/org/intellij/plugins/testnggen/diff/DiffViewerFrame.java
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
package org.intellij.plugins.testnggen.diff;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataConstants;
|
||||||
|
import com.intellij.openapi.actionSystem.DataProvider;
|
||||||
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.util.DimensionService;
|
||||||
|
import org.intellij.plugins.testnggen.FileCreator;
|
||||||
|
import org.intellij.plugins.testnggen.GeneratorContext;
|
||||||
|
import org.intellij.plugins.testnggen.util.GenUtil;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
|
||||||
|
|
||||||
|
public final class DiffViewerFrame extends JFrame implements DataProvider {
|
||||||
|
private static final String DIMENSION_KEY = "DiffViewer.JFrame";
|
||||||
|
private Project _project = null;
|
||||||
|
private DiffPanelHelper _diffPanelHelper = null;
|
||||||
|
private final GeneratorContext _ctx;
|
||||||
|
private final String _content;
|
||||||
|
|
||||||
|
public DiffViewerFrame(Project project /*, VirtualFile backingFile */, DiffFileToken paneOneToken,
|
||||||
|
DiffFileToken paneTwoToken, GeneratorContext ctx) {
|
||||||
|
setProject(project);
|
||||||
|
_diffPanelHelper = new DiffPanelHelper(this, project, paneOneToken, paneTwoToken);
|
||||||
|
|
||||||
|
_ctx = ctx;
|
||||||
|
_content = paneTwoToken.getContents();
|
||||||
|
setTitle(buildTitle());
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Project getProject() {
|
||||||
|
return _project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProject(Project project) {
|
||||||
|
_project = project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getData(String dataId) {
|
||||||
|
if (DataConstants.PROJECT.equals(dataId)) {
|
||||||
|
return _project;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void dispose() {
|
||||||
|
_diffPanelHelper.closeDiffPanel();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init() {
|
||||||
|
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||||
|
setIconImage(new ImageIcon(getClass().getResource("/diff/Diff.png")).getImage());
|
||||||
|
|
||||||
|
getRootPane().registerKeyboardAction(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
}, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
|
||||||
|
|
||||||
|
addWindowListener(new WindowAdapter() {
|
||||||
|
public void windowClosed(WindowEvent e) {
|
||||||
|
final DimensionService dimensionService = DimensionService.getInstance();
|
||||||
|
dimensionService.setSize(DIMENSION_KEY, getSize());
|
||||||
|
dimensionService.setLocation(DIMENSION_KEY, getLocation());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
final Container contentPane = getContentPane();
|
||||||
|
contentPane.setLayout(new BorderLayout(8, 0));
|
||||||
|
contentPane.add(createCenterPanel(), BorderLayout.CENTER);
|
||||||
|
contentPane.add(createButtonPanel(), BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
|
||||||
|
final DimensionService dimensionService = DimensionService.getInstance();
|
||||||
|
final Dimension size = dimensionService.getSize(DIMENSION_KEY);
|
||||||
|
|
||||||
|
if (size != null) {
|
||||||
|
setSize(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
final Point location = dimensionService.getLocation(DIMENSION_KEY);
|
||||||
|
|
||||||
|
if (location != null) {
|
||||||
|
setLocation(location);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setLocationRelativeTo(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JComponent createButtonPanel() {
|
||||||
|
final JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 8, 8));
|
||||||
|
final Action[] actions = createActions();
|
||||||
|
|
||||||
|
for (int index = 0; index < actions.length; index++) {
|
||||||
|
panel.add(new JButton(actions[index]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return panel;
|
||||||
|
}
|
||||||
|
|
||||||
|
JComponent createCenterPanel() {
|
||||||
|
return _diffPanelHelper.getDiffPanel().getComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
Action[] createActions() {
|
||||||
|
final Action closeAction =
|
||||||
|
new AbstractAction("Close") {
|
||||||
|
public void actionPerformed(ActionEvent actionevent) {
|
||||||
|
DiffViewerFrame.this.setVisible(false);
|
||||||
|
DiffViewerFrame.this.dispose();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
final Action overwriteAction =
|
||||||
|
new AbstractAction("Overwrite") {
|
||||||
|
public void actionPerformed(ActionEvent actionevent) {
|
||||||
|
final StringWriter writer = new StringWriter();
|
||||||
|
writer.write(_content);
|
||||||
|
|
||||||
|
try {
|
||||||
|
ApplicationManager.getApplication().runWriteAction(new FileCreator(GenUtil.getOutputFile(_ctx,
|
||||||
|
_ctx.getOutputFileName()), writer, _ctx, true));
|
||||||
|
DiffViewerFrame.this.setVisible(false);
|
||||||
|
DiffViewerFrame.this.dispose();
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return new Action[] { overwriteAction, closeAction };
|
||||||
|
}
|
||||||
|
|
||||||
|
private String buildTitle() {
|
||||||
|
return new StringBuffer("Diff: ").append(_diffPanelHelper.getTitle()).toString();
|
||||||
|
}
|
||||||
|
}
|
158
src/org/intellij/plugins/testnggen/ui/TestNGGenConfig.java
Normal file
158
src/org/intellij/plugins/testnggen/ui/TestNGGenConfig.java
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) United Parcel Service of America, Inc.
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* The use, disclosure, reproduction, modification, transfer, or transmittal
|
||||||
|
* of this work for any purpose in any form or by any means without the
|
||||||
|
* written permission of United Parcel Service is strictly prohibited.
|
||||||
|
* Confidential, Unpublished Property of United Parcel Service.
|
||||||
|
* Use and Distribution Limited Solely to Authorized Personnel.
|
||||||
|
*/
|
||||||
|
package org.intellij.plugins.testnggen.ui;
|
||||||
|
|
||||||
|
import com.intellij.openapi.components.ApplicationComponent;
|
||||||
|
import com.intellij.openapi.editor.Editor;
|
||||||
|
import com.intellij.openapi.editor.EditorFactory;
|
||||||
|
import com.intellij.openapi.options.Configurable;
|
||||||
|
import com.intellij.openapi.options.ConfigurationException;
|
||||||
|
import org.intellij.plugins.testnggen.Const;
|
||||||
|
import org.intellij.plugins.testnggen.util.GenUtil;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.RandomAccessFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TestNGGenerator configuration UI.
|
||||||
|
* Could be accessed via File->Settings->(IDE Settings) TestNG Generator
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Sep 7, 2004</pre>
|
||||||
|
*/
|
||||||
|
public class TestNGGenConfig implements ApplicationComponent, Configurable {
|
||||||
|
private Editor templateEditor;
|
||||||
|
private Editor propsEditor;
|
||||||
|
|
||||||
|
private String templateContent = "";
|
||||||
|
private String propsContent = "";
|
||||||
|
|
||||||
|
private static final String TEMPLATE_FILE = GenUtil.getResourcePath(Const.RELATIVE_DIR_NAME) + File.separator + Const.TEMPLATE_NAME;
|
||||||
|
private static final String PROPS_FILE = GenUtil.getResourcePath(Const.RELATIVE_DIR_NAME) + File.separator + Const.PROPERTIES_FILE_NAME;
|
||||||
|
|
||||||
|
public final String getDisplayName() {
|
||||||
|
return "TestNG Generator";
|
||||||
|
}
|
||||||
|
|
||||||
|
public final Icon getIcon() {
|
||||||
|
return new ImageIcon(TestNGGenConfig.class.getResource("smalllogo.gif"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getHelpTopic() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final String getComponentName() {
|
||||||
|
return "TestNGGeneratorPlugin.TestNGGenConfig";
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void initComponent() {
|
||||||
|
templateContent = readFile(TEMPLATE_FILE);
|
||||||
|
propsContent = readFile(PROPS_FILE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final JComponent createComponent() {
|
||||||
|
final JTabbedPane tabbedPane = new JTabbedPane();
|
||||||
|
|
||||||
|
// test-case template configuration tab
|
||||||
|
final EditorFactory factory = EditorFactory.getInstance();
|
||||||
|
final char[] chars = new char[templateContent.length()];
|
||||||
|
templateContent.getChars(0, templateContent.length(), chars, 0);
|
||||||
|
|
||||||
|
templateEditor = factory.createEditor(factory.createDocument(chars));
|
||||||
|
tabbedPane.addTab("Velocity Template", templateEditor.getComponent());
|
||||||
|
|
||||||
|
templateEditor.getComponent().setBorder(BorderFactory.createCompoundBorder(
|
||||||
|
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), TEMPLATE_FILE),
|
||||||
|
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
|
||||||
|
|
||||||
|
// Output Properties configuration tab
|
||||||
|
propsEditor = factory.createEditor(factory.createDocument(propsContent));
|
||||||
|
tabbedPane.addTab("Output Pattern", propsEditor.getComponent());
|
||||||
|
|
||||||
|
propsEditor.getComponent().setBorder(BorderFactory.createCompoundBorder(
|
||||||
|
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), PROPS_FILE),
|
||||||
|
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
|
||||||
|
|
||||||
|
return tabbedPane;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final boolean isModified() {
|
||||||
|
return !templateContent.equals(templateEditor.getDocument().getText()) ||
|
||||||
|
!propsContent.equals(propsEditor.getDocument().getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void apply() throws ConfigurationException {
|
||||||
|
templateContent = templateEditor.getDocument().getText();
|
||||||
|
propsContent = propsEditor.getDocument().getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String readFile(String filename) {
|
||||||
|
RandomAccessFile file = null;
|
||||||
|
try {
|
||||||
|
file = new RandomAccessFile(filename, "r");
|
||||||
|
final byte[] bytes = new byte[(int) file.length()];
|
||||||
|
file.readFully(bytes);
|
||||||
|
return new String(bytes);
|
||||||
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
GenUtil.getLogger(getClass().getName()).error(ex);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
if (file != null) {
|
||||||
|
try {
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
catch (IOException ignore) {
|
||||||
|
; // Do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new RuntimeException("Unable to read config files.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void writeFile(String filename, String content) {
|
||||||
|
FileWriter file = null;
|
||||||
|
try {
|
||||||
|
file = new FileWriter(new File(filename), false);
|
||||||
|
file.write(content);
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
GenUtil.getLogger(getClass().getName()).error(e);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
if (file != null) {
|
||||||
|
try {
|
||||||
|
file.close();
|
||||||
|
}
|
||||||
|
catch (IOException ignore) {
|
||||||
|
; // Do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void disposeUIResources() {
|
||||||
|
writeFile(TEMPLATE_FILE, templateContent);
|
||||||
|
writeFile(PROPS_FILE, propsContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void disposeComponent() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void reset() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
BIN
src/org/intellij/plugins/testnggen/ui/smalllogo.gif
Normal file
BIN
src/org/intellij/plugins/testnggen/ui/smalllogo.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 315 B |
177
src/org/intellij/plugins/testnggen/util/GenUtil.java
Normal file
177
src/org/intellij/plugins/testnggen/util/GenUtil.java
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
package org.intellij.plugins.testnggen.util;
|
||||||
|
|
||||||
|
import com.intellij.openapi.actionSystem.DataConstants;
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
|
import com.intellij.openapi.application.PathManager;
|
||||||
|
import com.intellij.openapi.diagnostic.Logger;
|
||||||
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.roots.ProjectRootManager;
|
||||||
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
|
import com.intellij.psi.PsiClass;
|
||||||
|
import com.intellij.psi.PsiFile;
|
||||||
|
import com.intellij.psi.PsiJavaFile;
|
||||||
|
import org.intellij.plugins.testnggen.Const;
|
||||||
|
import org.intellij.plugins.testnggen.GeneratorContext;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* General purpose utility class.
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Aug 30, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class GenUtil {
|
||||||
|
/**
|
||||||
|
* Disables the default constructor.
|
||||||
|
*
|
||||||
|
* @throws UnsupportedOperationException if the constructor is called.
|
||||||
|
*/
|
||||||
|
private GenUtil() throws UnsupportedOperationException {
|
||||||
|
throw new UnsupportedOperationException("Illegal constructor call.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns full path to the relativePath.
|
||||||
|
*
|
||||||
|
* @param relativePath directory relative to IDEA's home.
|
||||||
|
* @return Full path to the relativePath passed in.
|
||||||
|
*/
|
||||||
|
public static String getResourcePath(String relativePath) {
|
||||||
|
if (relativePath == null) {
|
||||||
|
throw new IllegalArgumentException("relative path should not be null");
|
||||||
|
}
|
||||||
|
String pluginPath = PathManager.getPluginsPath();
|
||||||
|
pluginPath = pluginPath + File.separator + relativePath;
|
||||||
|
|
||||||
|
return pluginPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get's the javafile that's currently selected in the editor. Returns null if it's not a javafile.
|
||||||
|
*
|
||||||
|
* @param dataContext data context.
|
||||||
|
* @return The current javafile. Null if not a javafile.
|
||||||
|
*/
|
||||||
|
public static PsiJavaFile getSelectedJavaFile(DataContext dataContext) {
|
||||||
|
final PsiFile psiFile = (PsiFile) dataContext.getData("psi.File");
|
||||||
|
|
||||||
|
if (!(psiFile instanceof PsiJavaFile)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return (PsiJavaFile) psiFile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns Project from DataContext
|
||||||
|
*
|
||||||
|
* @param ctx DataContext
|
||||||
|
* @return Project object
|
||||||
|
*/
|
||||||
|
public static Project getProject(DataContext ctx) {
|
||||||
|
return (Project) ctx.getData(DataConstants.PROJECT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger
|
||||||
|
*
|
||||||
|
* @param className class name for which logger should be constructed
|
||||||
|
* @return a logger instance
|
||||||
|
*/
|
||||||
|
public static Logger getLogger(String className) {
|
||||||
|
return Logger.getInstance(className);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns source paths for currently selected java file
|
||||||
|
*
|
||||||
|
* @param clss psiClass
|
||||||
|
* @return list of source paths
|
||||||
|
*/
|
||||||
|
public static String getSourcePath(PsiClass clss, DataContext ctx) {
|
||||||
|
|
||||||
|
final VirtualFile[] roots = ProjectRootManager.getInstance(getProject(ctx)).getContentSourceRoots();
|
||||||
|
final String className = clss.getContainingFile().getVirtualFile().getPath();
|
||||||
|
|
||||||
|
for (int i = 0; i < roots.length; i++) {
|
||||||
|
if (className.startsWith(roots[i].getPath())) {
|
||||||
|
return roots[i].getPath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an output pattern
|
||||||
|
*
|
||||||
|
* @return output pattern
|
||||||
|
* @throws java.io.IOException
|
||||||
|
*/
|
||||||
|
public static String getOutputPattern(GeneratorContext genCtx)
|
||||||
|
throws IOException {
|
||||||
|
final String resourcePath = getResourcePath(Const.RELATIVE_DIR_NAME);
|
||||||
|
final Properties configProps = new Properties();
|
||||||
|
configProps.load(new FileInputStream(resourcePath + '/' + Const.PROPERTIES_FILE_NAME));
|
||||||
|
String outputPattern = configProps.getProperty(getProject(genCtx.getDataContext()).getName());
|
||||||
|
|
||||||
|
if (outputPattern == null || outputPattern.trim().length() == 0) {
|
||||||
|
outputPattern = configProps
|
||||||
|
.getProperty(Const.OUTPUT_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
return outputPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns absolute path + filename of the output file
|
||||||
|
*
|
||||||
|
* @param genCtx GeneratorContext
|
||||||
|
* @return absolute path + filename of the output file
|
||||||
|
* @throws java.io.IOException
|
||||||
|
*/
|
||||||
|
public static String getOutputFile(GeneratorContext genCtx, String testClassName)
|
||||||
|
throws IOException {
|
||||||
|
String outputPattern = getOutputPattern(genCtx);
|
||||||
|
String sourcePath = getSourcePath(genCtx.getPsiClass(), genCtx.getDataContext());
|
||||||
|
|
||||||
|
if (sourcePath == null) {
|
||||||
|
throw new IllegalArgumentException("Sourcepath cannot be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
final String packageName = genCtx.getFile().getPackageName();
|
||||||
|
|
||||||
|
final int indexOf = sourcePath.indexOf("$SOURCEPATH$");
|
||||||
|
|
||||||
|
if (indexOf != -1) {
|
||||||
|
sourcePath = sourcePath.substring(indexOf);
|
||||||
|
}
|
||||||
|
|
||||||
|
outputPattern = StringUtil.replace(outputPattern, "$SOURCEPATH$", sourcePath);
|
||||||
|
outputPattern = StringUtil.replace(outputPattern, "$PACKAGE$", packageName.replace('.', '/'));
|
||||||
|
outputPattern = StringUtil.replace(outputPattern, "$FILENAME$", testClassName);
|
||||||
|
|
||||||
|
return outputPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns Current date as formatted string, format specified by pattern argument.
|
||||||
|
*
|
||||||
|
* @param pattern date format
|
||||||
|
* @return current date as formatted string, format specified by pattern argument.
|
||||||
|
* @see SimpleDateFormat
|
||||||
|
*/
|
||||||
|
public static String formatDate(String pattern) {
|
||||||
|
final SimpleDateFormat sdf = new SimpleDateFormat(pattern);
|
||||||
|
|
||||||
|
return sdf.format(new Date());
|
||||||
|
}
|
||||||
|
}
|
76
src/org/intellij/plugins/testnggen/util/StringUtil.java
Normal file
76
src/org/intellij/plugins/testnggen/util/StringUtil.java
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
package org.intellij.plugins.testnggen.util;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Alex Nazimok (SCI)
|
||||||
|
* @since <pre>Aug 30, 2003</pre>
|
||||||
|
*/
|
||||||
|
public class StringUtil {
|
||||||
|
/**
|
||||||
|
* Disables the default constructor.
|
||||||
|
*
|
||||||
|
* @throws UnsupportedOperationException if the constructor is called.
|
||||||
|
*/
|
||||||
|
private StringUtil() throws UnsupportedOperationException {
|
||||||
|
throw new UnsupportedOperationException("Illegal constructor call.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces all occurrences of <code>replPattern</code> in the <code>inputStr</code>
|
||||||
|
* with <code>replaceWith</code> string.
|
||||||
|
* @param inputStr input string
|
||||||
|
* @param replPattern replace pattern
|
||||||
|
* @param replaceWith string to replace replPattern
|
||||||
|
* @return inputStr with all occurrences of replPattern being replaced with relaceWith string.
|
||||||
|
*/
|
||||||
|
public static String replace(String inputStr, String replPattern, String replaceWith) {
|
||||||
|
while (true) {
|
||||||
|
final int indexOf = inputStr.indexOf(replPattern);
|
||||||
|
|
||||||
|
if (indexOf == -1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
final int end = indexOf + replPattern.length();
|
||||||
|
|
||||||
|
inputStr = inputStr.substring(0, indexOf) + replaceWith + inputStr.substring(end);
|
||||||
|
}
|
||||||
|
|
||||||
|
return inputStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Capitalizes string passed in
|
||||||
|
* @param strIn string to be capitalized
|
||||||
|
* @return capitalized string
|
||||||
|
* @throws java.lang.IndexOutOfBoundsException
|
||||||
|
*/
|
||||||
|
public static String cap(String strIn) throws IndexOutOfBoundsException {
|
||||||
|
if ((strIn == null) || (strIn.trim().length() == 0)) {
|
||||||
|
throw new IllegalArgumentException("Argumnet strIn in method GenUtil.cap must not be null.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return String.valueOf(strIn.charAt(0)).toUpperCase() + strIn.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes package name from classname
|
||||||
|
* @param className class name
|
||||||
|
* @return class name without package name
|
||||||
|
*/
|
||||||
|
public static String trimPackageName(String className) {
|
||||||
|
if (className == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final int indexOf = className.lastIndexOf('.');
|
||||||
|
|
||||||
|
if (indexOf != -1) {
|
||||||
|
return className.substring(indexOf + 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return className;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
42
testnggen.iml
Normal file
42
testnggen.iml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module version="4" relativePaths="true" type="JAVA_MODULE">
|
||||||
|
<component name="ModuleRootManager" />
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<output url="file://$MODULE_DIR$/classes" />
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/velocity.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/openapi.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MODULE_DIR$/lib/extensions.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntryProperties />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
|
|
256
testnggen.ipr
Normal file
256
testnggen.ipr
Normal file
|
@ -0,0 +1,256 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4" relativePaths="true">
|
||||||
|
<component name="AntConfiguration">
|
||||||
|
<defaultAnt bundledAnt="true" />
|
||||||
|
<buildFile url="file://$PROJECT_DIR$/build.xml">
|
||||||
|
<additionalClassPath />
|
||||||
|
<antReference projectDefault="true" />
|
||||||
|
<customJdkName value="" />
|
||||||
|
<maximumHeapSize value="128" />
|
||||||
|
<properties />
|
||||||
|
</buildFile>
|
||||||
|
</component>
|
||||||
|
<component name="BSFConsole">
|
||||||
|
<sendcommandbycontrolenter>false</sendcommandbycontrolenter>
|
||||||
|
<restoresystemstreams>false</restoresystemstreams>
|
||||||
|
<outwaitsforerr>false</outwaitsforerr>
|
||||||
|
<errwaitsforout>false</errwaitsforout>
|
||||||
|
<storedupsinrecentcommands>false</storedupsinrecentcommands>
|
||||||
|
<moduleforclasspath />
|
||||||
|
<includeoutputpath>false</includeoutputpath>
|
||||||
|
<includetestsoutputpath>false</includetestsoutputpath>
|
||||||
|
<languages>
|
||||||
|
<language name="ant" engine="org.kos.bsfconsoleplugin.languages.AntConsoleBSFEngine" />
|
||||||
|
<language name="beanshell" engine="bsh.util.BeanShellBSFEngine" />
|
||||||
|
<language name="netrexx" engine="org.apache.bsf.engines.netrexx.NetRexxEngine" />
|
||||||
|
<language name="xslt" engine="org.apache.bsf.engines.xslt.XSLTEngine" />
|
||||||
|
<language name="beanbasic" engine="org.apache.bsf.engines.beanbasic.BeanBasicEngine" />
|
||||||
|
<language name="bml" engine="org.apache.bml.ext.BMLEngine" />
|
||||||
|
<language name="groovy" engine="org.codehaus.groovy.bsf.GroovyEngine" />
|
||||||
|
<language name="jacl" engine="org.apache.bsf.engines.jacl.JaclEngine" />
|
||||||
|
<language name="java" engine="org.apache.bsf.engines.java.JavaEngine" />
|
||||||
|
<language name="javaclass" engine="org.apache.bsf.engines.javaclass.JavaClassEngine" />
|
||||||
|
<language name="javascript" engine="org.apache.bsf.engines.javascript.JavaScriptEngine" />
|
||||||
|
<language name="jpython" engine="org.apache.bsf.engines.jpython.JPythonEngine" />
|
||||||
|
<language name="jruby" engine="org.jruby.javasupport.bsf.JRubyEngine" />
|
||||||
|
<language name="jscript" engine="org.apache.bsf.engines.activescript.ActiveScriptEngine" />
|
||||||
|
<language name="judoscript" engine="com.judoscript.BSFJudoEngine" />
|
||||||
|
<language name="jython" engine="org.apache.bsf.engines.jython.JythonEngine" />
|
||||||
|
<language name="lotusscript" engine="org.apache.bsf.engines.lotusscript.LsEngine" />
|
||||||
|
<language name="perl" engine="org.apache.bsf.engines.perl.PerlEngine" />
|
||||||
|
<language name="perlscript" engine="org.apache.bsf.engines.activescript.ActiveScriptEngine" />
|
||||||
|
<language name="pnuts" engine="pnuts.ext.PnutsBSFEngine" />
|
||||||
|
<language name="vbscript" engine="org.apache.bsf.engines.activescript.ActiveScriptEngine" />
|
||||||
|
</languages>
|
||||||
|
<startupscripts />
|
||||||
|
<preferredrecentcommandsdividerlocations>
|
||||||
|
<dividerlocationd language="ant" position="1214" />
|
||||||
|
<dividerlocationd language="beanshell" position="1214" />
|
||||||
|
</preferredrecentcommandsdividerlocations>
|
||||||
|
<BSFConsoleSearchOptions searchfromcursor="false">
|
||||||
|
<recentsearches />
|
||||||
|
</BSFConsoleSearchOptions>
|
||||||
|
</component>
|
||||||
|
<component name="CodeStyleSettingsManager">
|
||||||
|
<option name="PER_PROJECT_SETTINGS" />
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<option name="DEFAULT_COMPILER" value="Javac" />
|
||||||
|
<option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
|
||||||
|
<option name="DEPLOY_AFTER_MAKE" value="0" />
|
||||||
|
<resourceExtensions>
|
||||||
|
<entry name=".+\.(properties|xml|html|dtd|tld)" />
|
||||||
|
<entry name=".+\.(gif|png|jpeg|jpg)" />
|
||||||
|
</resourceExtensions>
|
||||||
|
<wildcardResourcePatterns>
|
||||||
|
<entry name="?*.properties" />
|
||||||
|
<entry name="?*.xml" />
|
||||||
|
<entry name="?*.gif" />
|
||||||
|
<entry name="?*.png" />
|
||||||
|
<entry name="?*.jpeg" />
|
||||||
|
<entry name="?*.jpg" />
|
||||||
|
<entry name="?*.html" />
|
||||||
|
<entry name="?*.dtd" />
|
||||||
|
<entry name="?*.tld" />
|
||||||
|
<entry name="?*.properties" />
|
||||||
|
<entry name="?*.xml" />
|
||||||
|
<entry name="?*.html" />
|
||||||
|
<entry name="?*.dtd" />
|
||||||
|
<entry name="?*.tld" />
|
||||||
|
<entry name="?*.gif" />
|
||||||
|
<entry name="?*.png" />
|
||||||
|
<entry name="?*.jpeg" />
|
||||||
|
<entry name="?*.jpg" />
|
||||||
|
</wildcardResourcePatterns>
|
||||||
|
</component>
|
||||||
|
<component name="DataSourceManagerImpl" />
|
||||||
|
<component name="DependenciesAnalyzeManager">
|
||||||
|
<option name="myForwardDirection" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DependencyValidationManager" />
|
||||||
|
<component name="EntryPointsManager">
|
||||||
|
<entry_points />
|
||||||
|
</component>
|
||||||
|
<component name="ExportToHTMLSettings">
|
||||||
|
<option name="PRINT_LINE_NUMBERS" value="false" />
|
||||||
|
<option name="OPEN_IN_BROWSER" value="false" />
|
||||||
|
<option name="OUTPUT_DIRECTORY" />
|
||||||
|
</component>
|
||||||
|
<component name="GUI Designer component loader factory" />
|
||||||
|
<component name="JavacSettings">
|
||||||
|
<option name="DEBUGGING_INFO" value="true" />
|
||||||
|
<option name="GENERATE_NO_WARNINGS" value="false" />
|
||||||
|
<option name="DEPRECATION" value="true" />
|
||||||
|
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
|
||||||
|
<option name="MAXIMUM_HEAP_SIZE" value="128" />
|
||||||
|
</component>
|
||||||
|
<component name="JavadocGenerationManager">
|
||||||
|
<option name="OUTPUT_DIRECTORY" />
|
||||||
|
<option name="OPTION_SCOPE" value="protected" />
|
||||||
|
<option name="OPTION_HIERARCHY" value="true" />
|
||||||
|
<option name="OPTION_NAVIGATOR" value="true" />
|
||||||
|
<option name="OPTION_INDEX" value="true" />
|
||||||
|
<option name="OPTION_SEPARATE_INDEX" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_USE" value="false" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
|
||||||
|
<option name="OPTION_DEPRECATED_LIST" value="true" />
|
||||||
|
<option name="OTHER_OPTIONS" value="" />
|
||||||
|
<option name="HEAP_SIZE" />
|
||||||
|
<option name="OPEN_IN_BROWSER" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="JikesSettings">
|
||||||
|
<option name="JIKES_PATH" value="" />
|
||||||
|
<option name="DEBUGGING_INFO" value="true" />
|
||||||
|
<option name="DEPRECATION" value="true" />
|
||||||
|
<option name="GENERATE_NO_WARNINGS" value="false" />
|
||||||
|
<option name="IS_EMACS_ERRORS_MODE" value="true" />
|
||||||
|
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/testnggen.iml" filepath="$PROJECT_DIR$/testnggen.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="false" project-jdk-name="1.4.x" />
|
||||||
|
<component name="RmicSettings">
|
||||||
|
<option name="IS_EANABLED" value="false" />
|
||||||
|
<option name="DEBUGGING_INFO" value="true" />
|
||||||
|
<option name="GENERATE_NO_WARNINGS" value="false" />
|
||||||
|
<option name="GENERATE_IIOP_STUBS" value="false" />
|
||||||
|
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="libraryTable" />
|
||||||
|
<component name="uidesigner-configuration">
|
||||||
|
<option name="INSTRUMENT_CLASSES" value="true" />
|
||||||
|
<option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
|
||||||
|
</component>
|
||||||
|
<UsedPathMacros />
|
||||||
|
</project>
|
||||||
|
|
712
testnggen.iws
Normal file
712
testnggen.iws
Normal file
|
@ -0,0 +1,712 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4" relativePaths="true">
|
||||||
|
<component name="AspectsView" />
|
||||||
|
<component name="BookmarkManager" />
|
||||||
|
<component name="ChangeBrowserSettings">
|
||||||
|
<option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
|
||||||
|
<option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
|
||||||
|
<option name="USE_DATE_BEFORE_FILTER" value="false" />
|
||||||
|
<option name="USE_DATE_AFTER_FILTER" value="false" />
|
||||||
|
<option name="USE_CHANGE_BEFORE_FILTER" value="false" />
|
||||||
|
<option name="USE_CHANGE_AFTER_FILTER" value="false" />
|
||||||
|
<option name="DATE_BEFORE" value="" />
|
||||||
|
<option name="DATE_AFTER" value="" />
|
||||||
|
<option name="CHANGE_BEFORE" value="" />
|
||||||
|
<option name="CHANGE_AFTER" value="" />
|
||||||
|
<option name="USE_USER_FILTER" value="false" />
|
||||||
|
<option name="USER" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="CheckinPanelState" />
|
||||||
|
<component name="Commander">
|
||||||
|
<leftPanel />
|
||||||
|
<rightPanel />
|
||||||
|
<splitter proportion="0.5" />
|
||||||
|
</component>
|
||||||
|
<component name="CompilerWorkspaceConfiguration">
|
||||||
|
<option name="COMPILE_IN_BACKGROUND" value="false" />
|
||||||
|
<option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
|
||||||
|
<option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
|
||||||
|
<option name="COMPILE_DEPENDENT_FILES" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="Cvs2Configuration">
|
||||||
|
<option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
|
||||||
|
<option name="MERGING_MODE" value="0" />
|
||||||
|
<option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
|
||||||
|
<option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
|
||||||
|
<option name="RESET_STICKY" value="false" />
|
||||||
|
<option name="CREATE_NEW_DIRECTORIES" value="true" />
|
||||||
|
<option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
|
||||||
|
<option name="PROCESS_UNKNOWN_FILES" value="false" />
|
||||||
|
<option name="PROCESS_DELETED_FILES" value="false" />
|
||||||
|
<option name="PROCESS_IGNORED_FILES" value="false" />
|
||||||
|
<option name="RESERVED_EDIT" value="false" />
|
||||||
|
<option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
|
||||||
|
<value>
|
||||||
|
<option name="BRANCH" value="" />
|
||||||
|
<option name="DATE" value="" />
|
||||||
|
<option name="USE_BRANCH" value="false" />
|
||||||
|
<option name="USE_DATE" value="false" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="UPDATE_DATE_OR_REVISION_SETTINGS">
|
||||||
|
<value>
|
||||||
|
<option name="BRANCH" value="" />
|
||||||
|
<option name="DATE" value="" />
|
||||||
|
<option name="USE_BRANCH" value="false" />
|
||||||
|
<option name="USE_DATE" value="false" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="SHOW_CHANGES_REVISION_SETTINGS">
|
||||||
|
<value>
|
||||||
|
<option name="BRANCH" value="" />
|
||||||
|
<option name="DATE" value="" />
|
||||||
|
<option name="USE_BRANCH" value="false" />
|
||||||
|
<option name="USE_DATE" value="false" />
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="SHOW_OUTPUT" value="false" />
|
||||||
|
<option name="ADD_WATCH_INDEX" value="0" />
|
||||||
|
<option name="REMOVE_WATCH_INDEX" value="0" />
|
||||||
|
<option name="UPDATE_KEYWORD_SUBSTITUTION" />
|
||||||
|
<option name="MAKE_NEW_FILES_READONLY" value="false" />
|
||||||
|
<option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
|
||||||
|
<option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
|
||||||
|
<option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
|
||||||
|
<option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
|
||||||
|
<option name="CLEAN_COPY" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DaemonCodeAnalyzer">
|
||||||
|
<disable_hints />
|
||||||
|
</component>
|
||||||
|
<component name="DebuggerManager">
|
||||||
|
<breakpoint_any>
|
||||||
|
<breakpoint>
|
||||||
|
<option name="NOTIFY_CAUGHT" value="true" />
|
||||||
|
<option name="NOTIFY_UNCAUGHT" value="true" />
|
||||||
|
<option name="ENABLED" value="false" />
|
||||||
|
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
||||||
|
<option name="LOG_ENABLED" value="false" />
|
||||||
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
|
<option name="COUNT_FILTER_ENABLED" value="false" />
|
||||||
|
<option name="COUNT_FILTER" value="0" />
|
||||||
|
<option name="CONDITION_ENABLED" value="false" />
|
||||||
|
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
||||||
|
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
||||||
|
<option name="CONDITION" value="" />
|
||||||
|
<option name="LOG_MESSAGE" value="" />
|
||||||
|
</breakpoint>
|
||||||
|
<breakpoint>
|
||||||
|
<option name="NOTIFY_CAUGHT" value="true" />
|
||||||
|
<option name="NOTIFY_UNCAUGHT" value="true" />
|
||||||
|
<option name="ENABLED" value="false" />
|
||||||
|
<option name="SUSPEND_POLICY" value="SuspendAll" />
|
||||||
|
<option name="LOG_ENABLED" value="false" />
|
||||||
|
<option name="LOG_EXPRESSION_ENABLED" value="false" />
|
||||||
|
<option name="COUNT_FILTER_ENABLED" value="false" />
|
||||||
|
<option name="COUNT_FILTER" value="0" />
|
||||||
|
<option name="CONDITION_ENABLED" value="false" />
|
||||||
|
<option name="CLASS_FILTERS_ENABLED" value="false" />
|
||||||
|
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
|
||||||
|
<option name="CONDITION" value="" />
|
||||||
|
<option name="LOG_MESSAGE" value="" />
|
||||||
|
</breakpoint>
|
||||||
|
</breakpoint_any>
|
||||||
|
<breakpoint_rules />
|
||||||
|
<ui_properties />
|
||||||
|
</component>
|
||||||
|
<component name="ErrorTreeViewConfiguration">
|
||||||
|
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
<option name="HIDE_WARNINGS" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="FavoritesViewImpl">
|
||||||
|
<favorites_list name="testnggen">
|
||||||
|
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
<option name="IS_SHOW_MEMBERS" value="false" />
|
||||||
|
<option name="IS_STRUCTURE_VIEW" value="false" />
|
||||||
|
<option name="IS_SHOW_MODULES" value="true" />
|
||||||
|
<option name="IS_FLATTEN_PACKAGES" value="false" />
|
||||||
|
<option name="IS_ABBREVIATION_PACKAGE_NAMES" value="false" />
|
||||||
|
<option name="IS_HIDE_EMPTY_MIDDLE_PACKAGES" value="false" />
|
||||||
|
<option name="IS_SHOW_LIBRARY_CONTENTS" value="true" />
|
||||||
|
</favorites_list>
|
||||||
|
<option name="myCurrentFavoritesList" value="testnggen" />
|
||||||
|
</component>
|
||||||
|
<component name="FileEditorManager">
|
||||||
|
<leaf>
|
||||||
|
<file leaf-file-name="DiffFileAction.java" pinned="false" current="true" current-in-tab="true">
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/diff/DiffFileAction.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="21" column="58" selection-start="678" selection-end="678" vertical-scroll-proportion="0.22731614">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
</leaf>
|
||||||
|
</component>
|
||||||
|
<component name="FindManager">
|
||||||
|
<FindUsagesManager>
|
||||||
|
<setting name="OPEN_NEW_TAB" value="false" />
|
||||||
|
</FindUsagesManager>
|
||||||
|
</component>
|
||||||
|
<component name="HierarchyBrowserManager">
|
||||||
|
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
<option name="SORT_ALPHABETICALLY" value="false" />
|
||||||
|
<option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="InspectionManager">
|
||||||
|
<option name="AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
<option name="SPLITTER_PROPORTION" value="0.5" />
|
||||||
|
<option name="GROUP_BY_SEVERITY" value="false" />
|
||||||
|
<option name="ANALYZE_TEST_SOURCES" value="false" />
|
||||||
|
<option name="SCOPE_TYPE" value="1" />
|
||||||
|
<option name="CUSTOM_SCOPE_NAME" value="Project Files" />
|
||||||
|
<profile name="Erik's Inspections" />
|
||||||
|
</component>
|
||||||
|
<component name="J2EEProjectPane">
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.j2ee.module.view.nodes.J2EEProjectNodeDescriptor" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<setting name="SHOW_AS_DEPLOYMENT_VIEW" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="ModuleEditorState">
|
||||||
|
<option name="LAST_EDITED_MODULE_NAME" value="testnggen" />
|
||||||
|
<option name="LAST_EDITED_TAB_NAME" value="Libraries (Classpath)" />
|
||||||
|
</component>
|
||||||
|
<component name="NamedScopeManager" />
|
||||||
|
<component name="PackagesPane">
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="org.intellij.plugins.testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="org.intellij.plugins.testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="ui" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="org.intellij.plugins.testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="diff" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
</component>
|
||||||
|
<component name="PerforceChangeBrowserSettings">
|
||||||
|
<option name="USE_CLIENT_FILTER" value="true" />
|
||||||
|
<option name="CLIENT" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="PerforceDirect.Settings">
|
||||||
|
<option name="useP4CONFIG" value="true" />
|
||||||
|
<option name="port" value="jasper:1666" />
|
||||||
|
<option name="client" value="" />
|
||||||
|
<option name="user" value="" />
|
||||||
|
<option name="passwd" value="" />
|
||||||
|
<option name="showCmds" value="false" />
|
||||||
|
<option name="useNativeApi" value="true" />
|
||||||
|
<option name="pathToExec" value="p4" />
|
||||||
|
<option name="useCustomPathToExec" value="false" />
|
||||||
|
<option name="SYNC_FORCE" value="false" />
|
||||||
|
<option name="SYNC_RUN_RESOLVE" value="true" />
|
||||||
|
<option name="REVERT_UNCHANGED_FILES" value="true" />
|
||||||
|
<option name="CHARSET" value="none" />
|
||||||
|
<option name="SHOW_BRANCHES_HISTORY" value="true" />
|
||||||
|
<option name="ENABLED" value="true" />
|
||||||
|
<option name="USE_LOGIN" value="false" />
|
||||||
|
<option name="LOGIN_SILENTLY" value="false" />
|
||||||
|
<option name="INTEGRATE_BRANCH_NAME" />
|
||||||
|
<option name="INTEGRATE_CHANGELIST_NUM" value="-1" />
|
||||||
|
<option name="INTEGRATE_RUN_RESOLVE" value="true" />
|
||||||
|
<option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
|
||||||
|
<option name="INTEGRATE_CHANGE_LIST_NUMBER" value="" />
|
||||||
|
<option name="INTEGRATE_CHANGE_LIST" value="false" />
|
||||||
|
<option name="INTEGRATE_REVERSE" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectLevelVcsManager">
|
||||||
|
<OptionsSetting value="true" id="Add" />
|
||||||
|
<OptionsSetting value="true" id="Remove" />
|
||||||
|
<OptionsSetting value="true" id="Checkin" />
|
||||||
|
<OptionsSetting value="true" id="Checkout" />
|
||||||
|
<OptionsSetting value="true" id="Update" />
|
||||||
|
<OptionsSetting value="true" id="Status" />
|
||||||
|
<OptionsSetting value="true" id="Edit" />
|
||||||
|
<OptionsSetting value="true" id="Undo Check Out" />
|
||||||
|
<OptionsSetting value="true" id="Compare with SourceSafe Version" />
|
||||||
|
<OptionsSetting value="true" id="Get Latest Version" />
|
||||||
|
<ConfirmationsSetting value="0" id="Add" />
|
||||||
|
<ConfirmationsSetting value="0" id="Remove" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectPane">
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="PsiDirectory:C:\Documents and Settings\erik\My Documents\My Downloads\testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="PsiDirectory:C:\Documents and Settings\erik\My Documents\My Downloads\testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="PsiDirectory:C:\Documents and Settings\erik\My Documents\My Downloads\testnggen\resources" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen.ipr" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="PsiDirectory:C:\Documents and Settings\erik\My Documents\My Downloads\testnggen" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="PsiDirectory:C:\Documents and Settings\erik\My Documents\My Downloads\testnggen\META-INF" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectReloadState">
|
||||||
|
<option name="STATE" value="0" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectView">
|
||||||
|
<navigator currentView="PackagesPane" splitterProportion="0.5">
|
||||||
|
<flattenPackages />
|
||||||
|
<showMembers />
|
||||||
|
<showModules />
|
||||||
|
<showLibraryContents />
|
||||||
|
<hideEmptyPackages />
|
||||||
|
<abbreviatePackageNames />
|
||||||
|
<showStructure PackagesPane="false" ProjectPane="false" />
|
||||||
|
<autoscrollToSource />
|
||||||
|
<autoscrollFromSource />
|
||||||
|
<sortByType />
|
||||||
|
</navigator>
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">
|
||||||
|
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||||
|
<property name="GoToClass.includeLibraries" value="false" />
|
||||||
|
<property name="MemberChooser.showClasses" value="true" />
|
||||||
|
<property name="MemberChooser.sorted" value="false" />
|
||||||
|
<property name="RunManagerConfig.compileBeforeRunning" value="true" />
|
||||||
|
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||||
|
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||||
|
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="ReadonlyStatusHandler">
|
||||||
|
<option name="SHOW_DIALOG" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="RecentsManager" />
|
||||||
|
<component name="Regex">
|
||||||
|
<option name="pos1" value="218" />
|
||||||
|
<option name="pos2" value="218" />
|
||||||
|
<option name="pos3" value="162" />
|
||||||
|
<option name="pos4" value="444" />
|
||||||
|
<option name="pos5" value="162" />
|
||||||
|
<option name="autoUpdate" value="true" />
|
||||||
|
<option name="referenceOn" value="false" />
|
||||||
|
<option name="referencePos" value="0" />
|
||||||
|
</component>
|
||||||
|
<component name="RestoreUpdateTree" />
|
||||||
|
<component name="RunManager">
|
||||||
|
<activeType name="TestNG" />
|
||||||
|
<configuration selected="false" default="true" type="Application" factoryName="Application">
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<module name="" />
|
||||||
|
</configuration>
|
||||||
|
<configuration selected="false" default="true" type="Remote" factoryName="Remote">
|
||||||
|
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||||
|
<option name="SERVER_MODE" value="false" />
|
||||||
|
<option name="SHMEM_ADDRESS" value="javadebug" />
|
||||||
|
<option name="HOST" value="localhost" />
|
||||||
|
<option name="PORT" value="5005" />
|
||||||
|
</configuration>
|
||||||
|
<configuration selected="false" default="true" type="JUnit" factoryName="JUnit">
|
||||||
|
<module name="" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="PACKAGE_NAME" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="METHOD_NAME" />
|
||||||
|
<option name="TEST_OBJECT" value="class" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="ADDITIONAL_CLASS_PATH" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="wholeProject" />
|
||||||
|
</option>
|
||||||
|
</configuration>
|
||||||
|
<configuration selected="false" default="true" type="TestNG" factoryName="TestNG">
|
||||||
|
<module name="" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
<option name="SUITE_NAME" />
|
||||||
|
<option name="PACKAGE_NAME" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="METHOD_NAME" />
|
||||||
|
<option name="GROUP_NAME" />
|
||||||
|
<option name="TEST_OBJECT" value="CLASS" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="PARAMETERS" />
|
||||||
|
<option name="WORKING_DIRECTORY" />
|
||||||
|
<option name="ADDITIONAL_CLASS_PATH" />
|
||||||
|
<option name="TEST_SEARCH_SCOPE">
|
||||||
|
<value defaultName="wholeProject" />
|
||||||
|
</option>
|
||||||
|
<properties />
|
||||||
|
</configuration>
|
||||||
|
<configuration selected="false" default="true" type="Applet" factoryName="Applet">
|
||||||
|
<module name="" />
|
||||||
|
<option name="MAIN_CLASS_NAME" />
|
||||||
|
<option name="HTML_FILE_NAME" />
|
||||||
|
<option name="HTML_USED" value="false" />
|
||||||
|
<option name="WIDTH" value="400" />
|
||||||
|
<option name="HEIGHT" value="300" />
|
||||||
|
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||||
|
<option name="VM_PARAMETERS" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||||
|
<option name="ALTERNATIVE_JRE_PATH" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="SelectInManager" />
|
||||||
|
<component name="StarteamConfiguration">
|
||||||
|
<option name="SERVER" value="" />
|
||||||
|
<option name="PORT" value="49201" />
|
||||||
|
<option name="USER" value="" />
|
||||||
|
<option name="PASSWORD" value="" />
|
||||||
|
<option name="PROJECT" value="" />
|
||||||
|
<option name="VIEW" value="" />
|
||||||
|
<option name="ALTERNATIVE_WORKING_PATH" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="StructuralSearchPlugin" />
|
||||||
|
<component name="StructureViewFactory">
|
||||||
|
<option name="AUTOSCROLL_MODE" value="true" />
|
||||||
|
<option name="AUTOSCROLL_FROM_SOURCE" value="false" />
|
||||||
|
<option name="ACTIVE_ACTIONS" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="SvnChangesBrowserSettings">
|
||||||
|
<option name="USE_AUTHOR_FIELD" value="true" />
|
||||||
|
<option name="AUTHOR" value="" />
|
||||||
|
<option name="LOCATION" value="" />
|
||||||
|
<option name="USE_PROJECT_SETTINGS" value="true" />
|
||||||
|
<option name="USE_ALTERNATE_LOCATION" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="SvnConfiguration">
|
||||||
|
<option name="USER" value="" />
|
||||||
|
<option name="PASSWORD" value="" />
|
||||||
|
<option name="PROCESS_UNRESOLVED" value="false" />
|
||||||
|
<configuration useDefault="true">C:\Documents and Settings\erik\Application Data\Subversion</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="TodoView" selected-index="0">
|
||||||
|
<todo-panel id="selected-file">
|
||||||
|
<are-packages-shown value="false" />
|
||||||
|
<are-modules-shown value="false" />
|
||||||
|
<flatten-packages value="false" />
|
||||||
|
<is-autoscroll-to-source value="true" />
|
||||||
|
</todo-panel>
|
||||||
|
<todo-panel id="all">
|
||||||
|
<are-packages-shown value="true" />
|
||||||
|
<are-modules-shown value="false" />
|
||||||
|
<flatten-packages value="false" />
|
||||||
|
<is-autoscroll-to-source value="true" />
|
||||||
|
</todo-panel>
|
||||||
|
</component>
|
||||||
|
<component name="ToolWindowManager">
|
||||||
|
<frame x="-4" y="-4" width="1608" height="1208" extended-state="6" />
|
||||||
|
<editor active="true" />
|
||||||
|
<layout>
|
||||||
|
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
|
<window_info id="Regex" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
|
||||||
|
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.19151671" order="0" />
|
||||||
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32980132" order="1" />
|
||||||
|
<window_info id="Jalopy" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
|
||||||
|
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32667875" order="8" />
|
||||||
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
|
||||||
|
<window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
|
||||||
|
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
|
<window_info id="Favorites" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3293556" order="3" />
|
||||||
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.07390746" order="1" />
|
||||||
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32980132" order="2" />
|
||||||
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
|
||||||
|
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
|
||||||
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="4" />
|
||||||
|
<window_info id="BSFConsole" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32980132" order="8" />
|
||||||
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0" />
|
||||||
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
|
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
|
||||||
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0" />
|
||||||
|
<window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3" />
|
||||||
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5" />
|
||||||
|
</layout>
|
||||||
|
</component>
|
||||||
|
<component name="VCS.FileViewConfiguration">
|
||||||
|
<option name="SELECTED_STATUSES" value="DEFAULT" />
|
||||||
|
<option name="SELECTED_COLUMNS" value="DEFAULT" />
|
||||||
|
<option name="SHOW_FILTERS" value="true" />
|
||||||
|
<option name="CUSTOMIZE_VIEW" value="true" />
|
||||||
|
<option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="VcsManagerConfiguration">
|
||||||
|
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
|
||||||
|
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
|
||||||
|
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" />
|
||||||
|
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
|
||||||
|
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
|
||||||
|
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||||
|
<option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
|
||||||
|
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
|
||||||
|
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
|
||||||
|
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
|
||||||
|
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
|
||||||
|
<option name="ERROR_OCCURED" value="false" />
|
||||||
|
<option name="ACTIVE_VCS_NAME" value="svn" />
|
||||||
|
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
|
||||||
|
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||||
|
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||||
|
</component>
|
||||||
|
<component name="VssConfiguration">
|
||||||
|
<option name="CLIENT_PATH" value="" />
|
||||||
|
<option name="SRCSAFEINI_PATH" value="" />
|
||||||
|
<option name="USER_NAME" value="" />
|
||||||
|
<option name="PWD" value="" />
|
||||||
|
<option name="VSS_IS_INITIALIZED" value="true" />
|
||||||
|
<CheckoutOptions>
|
||||||
|
<option name="COMMENT" value="" />
|
||||||
|
<option name="DO_NOT_GET_LATEST_VERSION" value="false" />
|
||||||
|
<option name="REPLACE_WRITABLE" value="false" />
|
||||||
|
<option name="RECURSIVE" value="false" />
|
||||||
|
</CheckoutOptions>
|
||||||
|
<CheckinOptions>
|
||||||
|
<option name="COMMENT" value="" />
|
||||||
|
<option name="KEEP_CHECKED_OUT" value="false" />
|
||||||
|
<option name="RECURSIVE" value="false" />
|
||||||
|
</CheckinOptions>
|
||||||
|
<AddOptions>
|
||||||
|
<option name="COMMENT" value="" />
|
||||||
|
<option name="STORE_ONLY_LATEST_VERSION" value="false" />
|
||||||
|
<option name="CHECK_OUT_IMMEDIATELY" value="false" />
|
||||||
|
<option name="FILE_TYPE" value="0" />
|
||||||
|
</AddOptions>
|
||||||
|
<UndocheckoutOptions>
|
||||||
|
<option name="MAKE_WRITABLE" value="false" />
|
||||||
|
<option name="REPLACE_LOCAL_COPY" value="0" />
|
||||||
|
<option name="RECURSIVE" value="false" />
|
||||||
|
</UndocheckoutOptions>
|
||||||
|
<GetOptions>
|
||||||
|
<option name="REPLACE_WRITABLE" value="0" />
|
||||||
|
<option name="MAKE_WRITABLE" value="false" />
|
||||||
|
<option name="RECURSIVE" value="false" />
|
||||||
|
</GetOptions>
|
||||||
|
</component>
|
||||||
|
<component name="antWorkspaceConfiguration">
|
||||||
|
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||||
|
<option name="FILTER_TARGETS" value="false" />
|
||||||
|
<buildFile url="file://$PROJECT_DIR$/build.xml">
|
||||||
|
<antCommandLine value="" />
|
||||||
|
<runInBackground value="false" />
|
||||||
|
<targetFilters>
|
||||||
|
<filter targetName="compile" isVisible="true" />
|
||||||
|
<filter targetName="init" isVisible="true" />
|
||||||
|
<filter targetName="clean" isVisible="true" />
|
||||||
|
<filter targetName="deploy" isVisible="true" />
|
||||||
|
<filter targetName="all" isVisible="true" />
|
||||||
|
</targetFilters>
|
||||||
|
<treeView value="true" />
|
||||||
|
<verbose value="true" />
|
||||||
|
<viewClosedWhenNoErrors value="false" />
|
||||||
|
</buildFile>
|
||||||
|
</component>
|
||||||
|
<component name="editorHistoryManager">
|
||||||
|
<entry file="file://$PROJECT_DIR$/resources/testnggen.vm">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="66" column="27" selection-start="1883" selection-end="1883" vertical-scroll-proportion="0.5641026">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/util/StringUtil.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="36" column="12" selection-start="1118" selection-end="1118" vertical-scroll-proportion="0.33333334">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/util/GenUtil.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="122" column="60" selection-start="3799" selection-end="3799" vertical-scroll-proportion="0.33333334">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/Const.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="10" column="13" selection-start="208" selection-end="208" vertical-scroll-proportion="0.16553067">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/GeneratorContext.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="13" column="13" selection-start="290" selection-end="290" vertical-scroll-proportion="0.15579358">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/TestNGGenerator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="10" column="13" selection-start="228" selection-end="228" vertical-scroll-proportion="0.16553067">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/FileCreator.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="28" column="13" selection-start="965" selection-end="965" vertical-scroll-proportion="-0.70496595">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/TestNGGeneratorActionHandler.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="175" column="45" selection-start="6887" selection-end="6887" vertical-scroll-proportion="0.37098345">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/diff/DiffPanelHelper.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="14" column="19" selection-start="387" selection-end="387" vertical-scroll-proportion="0.13242453">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/diff/DiffViewerFrame.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="18" column="19" selection-start="617" selection-end="617" vertical-scroll-proportion="0.29795521">
|
||||||
|
<folding>
|
||||||
|
<element signature="imports" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/ui/TestNGGenConfig.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="43" column="44" selection-start="1877" selection-end="1877" vertical-scroll-proportion="0.36416748">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/diff/DiffFileToken.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="12" column="19" selection-start="345" selection-end="345" vertical-scroll-proportion="0.13242453">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/TestNGGeneratorAction.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="15" column="13" selection-start="472" selection-end="472" vertical-scroll-proportion="0.16553067">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/src/org/intellij/plugins/testnggen/diff/DiffFileAction.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="21" column="58" selection-start="678" selection-end="678" vertical-scroll-proportion="0.22731614">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue