Skip to content

Commit 807175d

Browse files
committed
Code file adding successfully from dialog.
1 parent 8a29d34 commit 807175d

File tree

9 files changed

+143
-92
lines changed

9 files changed

+143
-92
lines changed

src/ServiceStackEclipse/.classpath

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
43
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
54
<classpathentry kind="src" path="src"/>
65
<classpathentry exported="true" kind="lib" path="libs/httpclient-4.3.3.jar"/>
76
<classpathentry exported="true" kind="lib" path="libs/maven-core-3.0.5.jar"/>
87
<classpathentry exported="true" kind="lib" path="libs/maven-model-3.0.5.jar"/>
98
<classpathentry exported="true" kind="lib" path="libs/plexus-utils-2.0.6.jar"/>
109
<classpathentry exported="true" kind="lib" path="bin" sourcepath="bin"/>
11-
<classpathentry kind="lib" path="libs/httpcore-4.3.2.jar"/>
10+
<classpathentry exported="true" kind="lib" path="libs/httpcore-4.3.2.jar"/>
11+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
1212
<classpathentry kind="output" path="bin"/>
1313
</classpath>

src/ServiceStackEclipse/META-INF/MANIFEST.MF

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ Bundle-Vendor: ServiceStack
77
Require-Bundle: org.eclipse.ui,
88
org.eclipse.core.resources,
99
org.eclipse.jdt.core;bundle-version="3.10.0",
10-
org.eclipse.ui.ide;bundle-version="3.10.2"
10+
org.eclipse.ui.ide;bundle-version="3.10.2",
11+
org.eclipse.osgi;bundle-version="3.10.2"
1112
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
1213
Import-Package: org.eclipse.core.runtime,
1314
org.eclipse.jdt.core,

src/ServiceStackEclipse/build.properties

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,5 @@ bin.includes = plugin.xml,\
88
libs/maven-model-3.0.5.jar,\
99
libs/plexus-utils-2.0.6.jar,\
1010
bin/,\
11-
libs/httpcore-4.3.2.jar
12-
jars.extra.classpath = libs/httpclient-4.3.3.jar,\
13-
libs/maven-core-3.0.5.jar,\
14-
libs/maven-model-3.0.5.jar,\
15-
libs/plexus-utils-2.0.6.jar,\
16-
libs/httpcore-4.3.2.jar
11+
libs/httpcore-4.3.2.jar,\
12+
icons/
4.52 KB
Loading
Binary file not shown.

src/ServiceStackEclipse/src/net/servicestack/eclipse/nativetypes/JavaNativeTypesHandler.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,20 @@ public String generateUrl(String baseUrl, Map<String, String> options) {
3939
baseUrl += "/";
4040
}
4141

42+
baseUrl = (baseUrl.startsWith("http://") || baseUrl.startsWith("https://")) ? baseUrl : ("http://" + baseUrl);
43+
URL url;
44+
try {
45+
url = new URL(baseUrl);
46+
} catch (MalformedURLException e1) {
47+
// TODO Auto-generated catch block
48+
e1.printStackTrace();
49+
return null;
50+
}
51+
4252
URIBuilder builder;
4353
try {
4454
builder = new URIBuilder(baseUrl);
4555
} catch (URISyntaxException e) {
46-
//Log error to IDEA warning bubble/window.
4756
return null;
4857
}
4958

src/ServiceStackEclipse/src/net/servicestack/eclipse/popup/actions/AddReferenceAction.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import net.servicestack.eclipse.wizard.AddReferenceWizard;
1515

1616
import org.eclipse.core.resources.IFolder;
17+
import org.eclipse.core.resources.IResource;
1718
import org.eclipse.jdt.core.IPackageFragment;
1819

1920
public class AddReferenceAction implements IObjectActionDelegate {
@@ -45,12 +46,10 @@ public void run(IAction action) {
4546
if (_selection != null) {
4647
IStructuredSelection packageSelection = (IStructuredSelection) selectionService
4748
.getSelection("org.eclipse.jdt.ui.PackageExplorer");
48-
Object firstElement = packageSelection.getFirstElement();
49-
if(firstElement instanceof IPackageFragment) {
50-
_packageFragment = (IPackageFragment)firstElement;
51-
}
52-
AddReferenceWizard generationWizard = new AddReferenceWizard(_selection, _packageFragment);
49+
50+
AddReferenceWizard generationWizard = new AddReferenceWizard(_selection, packageSelection);
5351
WizardDialog dialog = new WizardDialog(shell, generationWizard);
52+
5453
if (dialog.open() == WizardDialog.OK){
5554
// MessageDialog.openInformation(shell, "CTE tree generation", "CTE trees are being generated, checking the process view for details!");
5655
}
Lines changed: 84 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,141 @@
11
package net.servicestack.eclipse.wizard;
22

3+
import java.net.URL;
4+
5+
import javax.swing.ImageIcon;
6+
7+
import org.eclipse.core.runtime.FileLocator;
8+
import org.eclipse.core.runtime.Path;
9+
import org.eclipse.core.runtime.Platform;
10+
import org.eclipse.jface.resource.ImageDescriptor;
311
import org.eclipse.jface.wizard.WizardPage;
412
import org.eclipse.swt.SWT;
513
import org.eclipse.swt.events.VerifyEvent;
614
import org.eclipse.swt.events.VerifyListener;
15+
import org.eclipse.swt.graphics.Image;
716
import org.eclipse.swt.layout.GridData;
817
import org.eclipse.swt.layout.GridLayout;
918
import org.eclipse.swt.widgets.Button;
1019
import org.eclipse.swt.widgets.Composite;
1120
import org.eclipse.swt.widgets.Label;
1221
import org.eclipse.swt.widgets.Text;
22+
import org.osgi.framework.Bundle;
1323

1424
public class AddReferencePage extends WizardPage {
1525

1626
Button _enabled;
17-
private boolean _enabledValue = true;
27+
private boolean _enabledValue = true;
1828
private String _applicationFolder;
19-
20-
private Text addressUrlTextField;
21-
private Text nameTextField;
22-
23-
private String errorMessage;
24-
private String selectedDirectory;
25-
29+
public boolean canFinish = false;
30+
31+
private Text addressUrlTextField;
32+
private Text nameTextField;
33+
private Text packageTextField;
34+
35+
private String errorMessage;
36+
private String selectedDirectory;
37+
2638
protected AddReferencePage() {
2739
super("Add ServiceStack Reference");
2840
setTitle("Add ServiceStack Reference");
29-
setDescription("To generate the DTO Service Model types for a specific ServiceStack instance, enter the base URI for the remote ServiceStack server and click Finish.");
41+
setDescription("Enter the base URI for the remote ServiceStack server and click Finish.");
42+
Bundle bundle = Platform.getBundle("net.servicestack.eclipse");
43+
final URL fullPathString = bundle.getEntry("/icons/logo-100.png");
44+
45+
ImageDescriptor imageDesc = ImageDescriptor.createFromURL(fullPathString);
46+
setImageDescriptor(imageDesc);
47+
3048
// TODO Auto-generated constructor stub
3149
}
50+
51+
public boolean canFlipToNextPage() {
52+
return canFinish;
53+
}
3254

3355
@Override
3456
public void createControl(Composite parent) {
3557
// TODO Auto-generated method stub
36-
Composite composite = new Composite(parent, SWT.NULL);
37-
composite.setBounds(100, 100, 450, 300);
38-
GridLayout layout = new GridLayout();
39-
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
40-
composite.setLayout(layout);
41-
layout.numColumns = 1;
42-
Label label1 = new Label(composite,SWT.NONE);
43-
label1.setText("Address Url");
44-
addressUrlTextField = new Text(composite,SWT.BORDER | SWT.SINGLE);
58+
Composite composite = new Composite(parent, SWT.NULL);
59+
// composite.setBounds(100, 100, 450, 300);
60+
61+
GridLayout layout = new GridLayout();
62+
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
63+
composite.setLayout(layout);
64+
layout.numColumns = 1;
65+
Label addressLabel = new Label(composite, SWT.NONE);
66+
addressLabel.setText("Address Url");
67+
addressUrlTextField = new Text(composite, SWT.BORDER | SWT.SINGLE);
4568
addressUrlTextField.setToolTipText("eg, http://example.com/");
4669
addressUrlTextField.setLayoutData(gd);
4770
addressUrlTextField.addVerifyListener(new VerifyListener() {
48-
71+
4972
@Override
5073
public void verifyText(VerifyEvent event) {
51-
String text = event.text;
52-
//seriously..doit?
53-
boolean result = text != null && text.length() > 0;
54-
if(!result) {
55-
setErrorMessage("URL Address is required");
56-
}
57-
event.doit = result;
74+
String currentText = ((Text) event.widget).getText();
75+
//Build current string....
76+
String text = currentText.substring(0, event.start) + event.text + currentText.substring(event.end);
77+
78+
boolean result = text != null && text.length() > 0;
79+
if (!result) {
80+
setErrorMessage("Address Url is required");
81+
canFinish = false;
82+
} else {
83+
canFinish = true;
84+
}
85+
// seriously..doit?
86+
event.doit = true;
87+
getWizard().getContainer().updateButtons();
5888
}
5989
});
60-
Label label3 = new Label(composite, SWT.NONE);
61-
label3.setText("Name");
62-
nameTextField = new Text(composite,SWT.BORDER | SWT.SINGLE);
90+
91+
Label packageLabel = new Label(composite, SWT.NONE);
92+
packageLabel.setText("Package");
93+
packageTextField = new Text(composite, SWT.BORDER | SWT.SINGLE);
94+
packageTextField.setLayoutData(gd);
95+
96+
Label nameLabel = new Label(composite, SWT.NONE);
97+
nameLabel.setText("Name");
98+
nameTextField = new Text(composite, SWT.BORDER | SWT.SINGLE);
6399
nameTextField.setText("dto.java");
64100
nameTextField.setLayoutData(gd);
65101
nameTextField.addVerifyListener(new VerifyListener() {
66-
102+
67103
@Override
68104
public void verifyText(VerifyEvent event) {
69-
String text = event.text;
70-
//seriously..doit?
71-
boolean result = text != null && text.length() > 0;
72-
if(!result) {
73-
setErrorMessage("A file name is required.");
74-
}
75-
event.doit = result;
105+
String currentText = ((Text) event.widget).getText();
106+
//Build current string....
107+
String text = currentText.substring(0, event.start) + event.text + currentText.substring(event.end);
108+
boolean result = text != null && text.length() > 0;
109+
if (!result) {
110+
setErrorMessage("A file name is required.");
111+
canFinish = false;
112+
} else {
113+
canFinish = true;
114+
}
115+
event.doit = true;
116+
getWizard().getContainer().updateButtons();
76117
}
77118
});
78119

79120
setControl(composite);
121+
composite.getShell().setSize(550, 365);
80122
dialogChanged();
81123
}
82-
124+
83125
public String getAddressUrl() {
84126
return addressUrlTextField.getText();
85127
}
86-
128+
87129
public String getFileName() {
88130
return nameTextField.getText();
89131
}
90-
132+
91133
private void dialogChanged() {
92-
updateStatus(null);
134+
updateStatus(null);
93135
}
94-
136+
95137
private void updateStatus(String message) {
96138
setErrorMessage(message);
97139
setPageComplete(message == null);
98140
}
99-
100141
}

0 commit comments

Comments
 (0)