Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit051252d

Browse files
author
sebastigurin
committed
1 parentdc97f29 commit051252d

12 files changed

+1131
-20
lines changed

‎META-INF/MANIFEST.MF‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ Bundle-Version: 2.0.0
66
Bundle-Activator:net.sf.j2s.ui.Java2ScriptUIPlugin
77
Bundle-Vendor:j2s.sourceforge.net
88
Bundle-Localization:plugin
9-
Export-Package:net.sf.j2s.ui.resources
9+
Export-Package:net.sf.j2s.ui.launching,
10+
net.sf.j2s.ui.launching.template,
11+
net.sf.j2s.ui.preferences,
12+
net.sf.j2s.ui.property,
13+
net.sf.j2s.ui.resources
1014
Require-Bundle:org.eclipse.ui,
1115
org.eclipse.core.runtime,
1216
org.eclipse.ui.ide,
@@ -33,3 +37,4 @@ Require-Bundle: org.eclipse.ui,
3337
org.eclipse.jdt.junit,
3438
net.sf.j2s.ajax
3539
Eclipse-AutoStart:true
40+
Bundle-ClassPath:.

‎plugin.xml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<?eclipse version="3.0"?>
33
<plugin>
44
<extension-pointid="externalResourceProvider"name="External Resource Provider"schema="schema/externalResourceProvider.exsd"/>
5+
<extension-pointid="j2sAppLauncherTemplateSupport"name="j2sAppLauncherTemplateSupport"schema="schema/j2sAppLauncherTemplateSupport.exsd"/>
56

67
<extension
78
point="org.eclipse.jdt.core.classpathVariableInitializer">

‎src/net/sf/j2s/ui/launching/IJ2SLauchingConfiguration.java‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,9 @@ public interface IJ2SLauchingConfiguration {
2121

2222
publicstaticfinalStringJ2S_CLASS_PATH ="j2s.class.path";
2323
publicstaticfinalStringJ2S_ABANDON_CLASS_PATH ="j2s.abandon.class.path";
24+
25+
publicstaticfinalStringVELOCITY_CODE ="j2s.launch.template.code";
26+
publicstaticfinalStringOUTPUT_FILE_NAME ="j2s.launch.template.fileName";
27+
publicstaticfinalStringAPPLY_TEMPLATE ="j2s.launch.template.apply";
28+
publicstaticfinalStringTEMPLATE_NAME ="j2s.launch.template.name";
2429
}

‎src/net/sf/j2s/ui/launching/J2SLaunchConfigurationDelegate.java‎

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@
22

33
importjava.io.File;
44

5+
importnet.sf.j2s.ui.launching.template.J2SAppLauncherTemplateContributor;
6+
importnet.sf.j2s.ui.launching.template.J2STemplateContext;
7+
importnet.sf.j2s.ui.launching.template.TemplateContributionUtil;
8+
59
importorg.eclipse.core.runtime.CoreException;
10+
importorg.eclipse.core.runtime.IConfigurationElement;
611
importorg.eclipse.core.runtime.IProgressMonitor;
12+
importorg.eclipse.core.runtime.Platform;
713
importorg.eclipse.debug.core.ILaunch;
814
importorg.eclipse.debug.core.ILaunchConfiguration;
915
importorg.eclipse.debug.core.model.LaunchConfigurationDelegate;
@@ -18,7 +24,23 @@ public void launch(ILaunchConfiguration configuration, String mode,
1824
ILaunchlaunch,IProgressMonitormonitor)throwsCoreException {
1925
if (configuration !=null) {
2026
try {
21-
J2SLaunchingUtil.launchingJ2SApp(configuration,mode,"html");
27+
/* sgurin: if configuration attribute IJ2SLauchingConfiguration.APPLY_TEMPLATE exists and is on
28+
* then we call net.sf.j2s.ui.launching.J2SAppLauncherTemplateContributor contributor class
29+
*/
30+
booleanapplyTemplate =configuration.getAttribute("j2s.launch.template.apply",false);
31+
32+
if(applyTemplate) {
33+
try {
34+
J2SAppLauncherTemplateContributorcontributor =TemplateContributionUtil.getInstance().getCurrentTemplateContribution();
35+
contributor.launchJ2SApp(newJ2STemplateContext(configuration));
36+
}catch (Exceptione) {
37+
applyTemplate=false;
38+
}
39+
}
40+
if(!applyTemplate){// if applyTemplate is unchecked or if no template contributor class is found
41+
J2SLaunchingUtil.launchingJ2SApp(configuration,mode,"html");
42+
}
43+
2244
StringmainType =J2SLaunchingUtil.getMainType(configuration);
2345
if (mainType !=null) {
2446
FileworkingDir =J2SLaunchingUtil.getWorkingDirectory(configuration);
@@ -32,5 +54,4 @@ public void launch(ILaunchConfiguration configuration, String mode,
3254
//DebugUITools.launch(config, mode);
3355
}
3456
}
35-
3657
}

‎src/net/sf/j2s/ui/launching/J2SLaunchingTabGroup.java‎

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
packagenet.sf.j2s.ui.launching;
22

3+
importjava.util.Arrays;
4+
5+
importnet.sf.j2s.ui.launching.template.J2SAppLauncherTemplateContributor;
6+
importnet.sf.j2s.ui.launching.template.TemplateContributionUtil;
7+
8+
importorg.eclipse.core.runtime.IConfigurationElement;
9+
importorg.eclipse.core.runtime.IExtension;
10+
importorg.eclipse.core.runtime.IExtensionPoint;
11+
importorg.eclipse.core.runtime.Platform;
312
importorg.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
413
importorg.eclipse.debug.ui.ILaunchConfigurationDialog;
514
importorg.eclipse.debug.ui.ILaunchConfigurationTab;
@@ -9,23 +18,42 @@ public class J2SLaunchingTabGroup extends AbstractLaunchConfigurationTabGroup {
918

1019
publicJ2SLaunchingTabGroup() {
1120
super();
12-
// TODO Auto-generated constructor stub
1321
}
1422

15-
publicvoidcreateTabs(ILaunchConfigurationDialogdialog,Stringmode) {
16-
ILaunchConfigurationTab[]tabs =newILaunchConfigurationTab[] {
23+
publicvoidcreateTabs(ILaunchConfigurationDialogdialog,Stringmode) {
24+
25+
/* sgurin: if some j2s template contributor is available, then hide HTMLOptionsTab and show
26+
the template contributor tab. If no template contribution is available, show HTMLOptionsTab so
27+
everithing is unchanged */
28+
29+
ILaunchConfigurationTab[]tabs =null;
30+
J2SAppLauncherTemplateContributorcontrib =null;
31+
32+
try {
33+
contrib =TemplateContributionUtil.getInstance().getCurrentTemplateContribution();
34+
}catch (Exceptione) {
35+
36+
}
37+
38+
if(contrib!=null) {
39+
tabs=newILaunchConfigurationTab[] {
40+
newJavaMainTab(),
41+
newJ2SArgumentsTab(),
42+
newJ2SClasspathOptionTab(),
43+
newJ2STemplateOptionsTab(contrib),
44+
newJ2SConsoleOptionsTab()
45+
};
46+
}
47+
else {
48+
tabs=newILaunchConfigurationTab[] {
1749
newJavaMainTab(),
1850
newJ2SArgumentsTab(),
19-
//new J2SPathTab(),
20-
//new JavaJRETab(),
21-
//new JavaClasspathTab(),
2251
newJ2SClasspathOptionTab(),
23-
//new SourceLookupTab(),
24-
//new EnvironmentTab(),
25-
//new CommonTab()
2652
newJ2SGenerateHTMLOptionsTab(),
2753
newJ2SConsoleOptionsTab()
28-
};
54+
};
55+
}
56+
2957
setTabs(tabs);
3058
}
3159

‎src/net/sf/j2s/ui/launching/J2SLaunchingUtil.java‎

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
packagenet.sf.j2s.ui.launching;
22

3+
importjava.io.BufferedReader;
34
importjava.io.ByteArrayInputStream;
45
importjava.io.ByteArrayOutputStream;
56
importjava.io.File;
@@ -9,13 +10,16 @@
910
importjava.io.FileOutputStream;
1011
importjava.io.IOException;
1112
importjava.io.InputStream;
13+
importjava.io.InputStreamReader;
14+
importjava.io.StringWriter;
1215
importjava.net.MalformedURLException;
1316
importjava.net.URL;
17+
importjava.util.HashMap;
1418
importjava.util.HashSet;
19+
importjava.util.Map;
1520
importjava.util.Properties;
1621
importjava.util.Set;
1722

18-
importnet.sf.j2s.core.astvisitors.ASTTigerVisitor;
1923
importnet.sf.j2s.core.astvisitors.ASTTypeVisitor;
2024
importnet.sf.j2s.core.astvisitors.DependencyASTVisitor;
2125
importnet.sf.j2s.core.hotspot.InnerHotspotServer;
@@ -614,7 +618,7 @@ public static void writeMainHTML(File file, String html) {
614618
/*
615619
* Append the *.js in classpath
616620
*/
617-
staticStringgenerateClasspathHTML(
621+
publicstaticStringgenerateClasspathHTML(
618622
ILaunchConfigurationconfiguration,StringmainType,FileworkingDir)
619623
throwsCoreException {
620624
StringBufferbuf =newStringBuffer();
@@ -695,7 +699,7 @@ static String generateClasspathHTML(
695699
/*
696700
* Append the *.js in classpath
697701
*/
698-
staticStringgenerateClasspathJ2X(
702+
publicstaticStringgenerateClasspathJ2X(
699703
ILaunchConfigurationconfiguration,StringvarName,FileworkingDir)
700704
throwsCoreException {
701705
booleanisUseGlobalURL =configuration.getAttribute(IJ2SLauchingConfiguration.USE_GLOBAL_ALAA_URL,false);
@@ -846,7 +850,7 @@ public boolean accept(File pathname) {
846850
/*
847851
* Append the *.js in classpath
848852
*/
849-
staticStringgenerateClasspathExistedClasses (
853+
publicstaticStringgenerateClasspathExistedClasses (
850854
ILaunchConfigurationconfiguration,StringmainType,FileworkingDir,Stringindent)
851855
throwsCoreException {
852856
booleanisUseGlobalURL =configuration.getAttribute(IJ2SLauchingConfiguration.USE_GLOBAL_ALAA_URL,false);
@@ -1020,7 +1024,7 @@ static String generateClasspathExistedClasses (
10201024
/*
10211025
* To generate ClazzLoader.ignore (...)
10221026
*/
1023-
staticStringgenerateClasspathIgnoredClasses (
1027+
publicstaticStringgenerateClasspathIgnoredClasses (
10241028
ILaunchConfigurationconfiguration,StringmainType,FileworkingDir,Stringindent)
10251029
throwsCoreException {
10261030
StringBufferbuf =newStringBuffer();
@@ -1183,7 +1187,7 @@ public static String readAFile(InputStream res) {
11831187
returnnull;
11841188
}
11851189

1186-
staticFilegetWorkingDirectory(ILaunchConfigurationconfiguration)
1190+
publicstaticFilegetWorkingDirectory(ILaunchConfigurationconfiguration)
11871191
throwsCoreException {
11881192
FileworkingDir =null;
11891193
Stringpath =configuration.getAttribute(
@@ -1234,7 +1238,7 @@ static File getWorkingDirectory(ILaunchConfiguration configuration)
12341238
returnworkingDir;
12351239
}
12361240

1237-
staticStringgetMainType(ILaunchConfigurationconfiguration)
1241+
publicstaticStringgetMainType(ILaunchConfigurationconfiguration)
12381242
throwsCoreException {
12391243
StringmainType;
12401244
mainType =configuration.getAttribute(
@@ -1247,4 +1251,41 @@ static String getMainType(ILaunchConfiguration configuration)
12471251
.performStringSubstitution(mainType);
12481252
returnmainType;
12491253
}
1254+
1255+
1256+
//added by sgurin for template support:
1257+
publicstaticvoidreadString(InputStreamin,StringWriterw)throwsIOException {
1258+
BufferedReaderbr =newBufferedReader(newInputStreamReader(in));
1259+
Stringline =null;
1260+
while ((line =br.readLine()) !=null) {
1261+
w.append(line +"\n");
1262+
}
1263+
br.close();
1264+
}
1265+
1266+
publicstaticMaptoMap(Object[]a) {
1267+
Mapm =newHashMap();
1268+
for (inti =0;i <a.length-1;i=i+2)
1269+
m.put(a[i],a[i+1]);
1270+
returnm;
1271+
}
1272+
1273+
publicstaticStringinputStreamAsString(InputStreamin)
1274+
throwsIOException {
1275+
BufferedReaderbr =newBufferedReader(newInputStreamReader(in));
1276+
StringBuildersb =newStringBuilder();
1277+
Stringline =null;
1278+
while ((line =br.readLine()) !=null) {
1279+
sb.append(line +"\n");
1280+
}
1281+
br.close();
1282+
returnsb.toString();
1283+
}
1284+
1285+
publicstaticbooleanarrayContains(Object[]a,Objecto) {
1286+
for (inti =0;i <a.length;i++)
1287+
if(a[i].equals(o))
1288+
returntrue;
1289+
returnfalse;
1290+
}
12501291
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp