Repository navigation
Expand file tree
/
Copy pathMainPage.java
More file actions
91 lines (82 loc) · 3.01 KB
/
Copy pathMainPage.java
File metadata and controls
91 lines (82 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package shellScriptGen.ui;
import java.io.CharArrayWriter;
import java.io.PrintWriter;
import java.util.List;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import shellScriptGen.ScriptModel;
import shellScriptGen.builders.ScriptBuilder;
import shellScriptGen.builders.ScriptBuildingException;
/**
* This is the main page of the plugin. This is a very simple plugin
* and does NOT require multiple pages to work. I have not figured out
* how to handle multiple pages and once I do, I will update this plugin
* maybe to take advantage of multiple pages if necessary.
*
* @author Amit Nithian ([email protected]) ([email protected])
* @copyright 2006
*
*/
public class MainPage extends WizardPage
{
private SSNewExportComposite sComposite;
private ScriptModel mScriptModel;
public MainPage(String pageName,ScriptModel pModel)
{
super(pageName);
mScriptModel = pModel;
}
public MainPage(String pageName, String title, ImageDescriptor titleImage)
{
super(pageName, title, titleImage);
// TODO Auto-generated constructor stub
}
public void createControl(Composite parent)
{
sComposite = new SSNewExportComposite(this,parent,SWT.NONE,mScriptModel);
setControl(sComposite);
setPageComplete(false);
}
public String createShellScripts(IProgressMonitor pMonitor) throws ScriptBuildingException
{
// sComposite.getBuilder().buildScript();
// String sFinishMessage = sComposite.getBuilder().getFinishMessage();
IJavaProject jSelectedProject = mScriptModel.getSelectedProject();
List<ILaunchConfiguration> lConfigs = mScriptModel.getLaunchConfigurations();
//sComposite.getConfigurations();
int iTimePerConfig = 100/lConfigs.size();
ScriptBuilder sBuilder = new ScriptBuilder(mScriptModel.getSelectedProject(),
mScriptModel.getSelectedScriptType(),mScriptModel.isCreatePreLaunch(),
mScriptModel.isCreatePostLaunch(),mScriptModel.isUseAbsolute());
List<String> sCreatedFiles = null;
for(ILaunchConfiguration i:lConfigs)
{
sCreatedFiles = sBuilder.buildScript(i,new SubProgressMonitor(pMonitor,iTimePerConfig));
ScriptBuilder.sleep(1000);
pMonitor.worked(iTimePerConfig);
}
try
{
pMonitor.beginTask("Refreshing Project..", 50);
jSelectedProject.getResource().refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(pMonitor,50));
}
catch (CoreException e)
{
// TODO Auto-generated catch block
throw new ScriptBuildingException(e);
}
finally
{
pMonitor.done();
}
return "Files created in " + jSelectedProject.getProject().getLocation();
}
}