You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ha...@apache.org on 2011/07/11 12:07:09 UTC
svn commit: r1145103 - in
/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal:
GeronimoRuntimeWizardFragment.java Messages.java Messages.properties
Author: hanhongfang
Date: Mon Jul 11 10:07:08 2011
New Revision: 1145103
URL: http://svn.apache.org/viewvc?rev=1145103&view=rev
Log:
refactor code for good extensibility
Modified:
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoRuntimeWizardFragment.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoRuntimeWizardFragment.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoRuntimeWizardFragment.java?rev=1145103&r1=1145102&r2=1145103&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoRuntimeWizardFragment.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/GeronimoRuntimeWizardFragment.java Mon Jul 11 10:07:08 2011
@@ -101,14 +101,10 @@ public class GeronimoRuntimeWizardFragme
// serverName-N.N or serverName-N.N.N
public static final Pattern SERVER_NAME_VERSION_PATTERN = Pattern.compile("(.*-)((\\d+\\.\\d+)(\\.(\\d+))?)");
- private static final String GERONIMO_SERVER_LOCATION_VARIABLE_NAME = "geronimo30_server_location";
-
private static final String LOCAL_TARGET_DIRECTORY = ".metadata/.plugins/org.eclipse.pde.core/.local_targets/";
private static final String TARGET_FILE_EXTENSION = ".target";
- private static final String TARGET_TEMPLATE_FILE = "targets/Geronimo30.target";
-
private static final String TARGET_FILE_LOCATIONS_PLACEHOLDER = "@locations_placeholder@";
private static final String[] bundleDirectories = { "repository/org/apache/geronimo/specs",
@@ -118,7 +114,7 @@ public class GeronimoRuntimeWizardFragme
"repository/org/apache/geronimo/framework/geronimo-jdbc",
"repository/org/osgi"};
- private static final String LOCATION_LINE_TEMPLATE = "<location path=\"${geronimo30_server_location}GERONIMO_BUNDLE_FOLDER_NAME\" type=\"Directory\"/>";
+ protected final String LOCATION_LINE_TEMPLATE = "<location path=\"${server_location}GERONIMO_BUNDLE_FOLDER_NAME\" type=\"Directory\"/>";
private GeronimoRuntimeDelegate geronimoRuntime;
@@ -135,7 +131,27 @@ public class GeronimoRuntimeWizardFragme
public GeronimoRuntimeWizardFragment() {
super();
}
-
+
+ protected String getLocationLineTempalte() {
+ return LOCATION_LINE_TEMPLATE.replaceAll("server_location", getServerLocationVariableName());
+ }
+
+ protected String getTargetTemplateFileName() {
+ return "targets/Geronimo30.target";
+ }
+
+ protected String getServerLocationVariableName() {
+ return "geronimo30_server_location";
+ }
+
+ protected String getServerLocationVariableDescription(){
+ return Messages.serverLocationVariableDescription;
+ }
+
+ protected URL getTargetTempateFile() {
+ Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
+ return bundle.getEntry(getTargetTemplateFileName());
+ }
/*
* (non-Javadoc)
*
@@ -425,6 +441,15 @@ public class GeronimoRuntimeWizardFragme
}
+ protected String getServerLocation() {
+
+ String geronimoServerLocation = getRuntimeDelegate().getRuntime().getLocation().toString();
+ if (geronimoServerLocation.endsWith("/")) {
+ geronimoServerLocation = geronimoServerLocation.substring(0, geronimoServerLocation.length()-1);
+ }
+ return geronimoServerLocation;
+ }
+
public void performFinish(IProgressMonitor monitor) throws CoreException {
ITargetPlatformService service =
@@ -435,17 +460,14 @@ public class GeronimoRuntimeWizardFragme
if (geronimoTargetHandle == null) {
// target definition not found - generate one
- String geronimoServerLocation = getRuntimeDelegate().getRuntime().getLocation().toString();
- if (geronimoServerLocation.endsWith("/")) {
- geronimoServerLocation = geronimoServerLocation.substring(0, geronimoServerLocation.length()-1);
- }
+ String geronimoServerLocation = getServerLocation();
// add or update string substitution variable named ${geronimo_30_server_location}
IStringVariableManager varManager = VariablesPlugin.getDefault().getStringVariableManager();
- IValueVariable v = varManager.getValueVariable(GERONIMO_SERVER_LOCATION_VARIABLE_NAME);
+ IValueVariable v = varManager.getValueVariable(getServerLocationVariableName());
if (v == null) {
- v = varManager.newValueVariable(GERONIMO_SERVER_LOCATION_VARIABLE_NAME,
- "The server location of Geronimo v3.0",
+ v = varManager.newValueVariable(getServerLocationVariableName(),
+ getServerLocationVariableDescription(),
false,
geronimoServerLocation);
varManager.addVariables(new IValueVariable[] { v });
@@ -458,10 +480,9 @@ public class GeronimoRuntimeWizardFragme
IPath rootLocation = root.getLocation();
String timestamp = Long.toString(System.currentTimeMillis());
String append = LOCAL_TARGET_DIRECTORY + timestamp + TARGET_FILE_EXTENSION;
- IPath destination = rootLocation.append(append);
+ IPath destination = rootLocation.append(append);
- Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
- URL template = bundle.getEntry(TARGET_TEMPLATE_FILE);
+ URL template = getTargetTempateFile();
copyFile(template, destination, getLocationEntryLists(geronimoServerLocation));
@@ -478,10 +499,14 @@ public class GeronimoRuntimeWizardFragme
}
}
+ protected String getServerVersion() {
+ return Messages.serverVersion;
+ }
+
private ITargetHandle findGeronimoTargetDefinition(ITargetPlatformService service) throws CoreException {
ITargetHandle[] targetHandles = service.getTargets(null);
for (ITargetHandle cur : targetHandles) {
- if (cur.getTargetDefinition().getName().equals(Messages.serverVersion)) {
+ if (cur.getTargetDefinition().getName().equals(getServerVersion())) {
return cur;
}
}
@@ -526,7 +551,7 @@ public class GeronimoRuntimeWizardFragme
}
- protected static String getLocationEntryLists(String serverLocation) {
+ protected String getLocationEntryLists(String serverLocation) {
StringBuffer buf = new StringBuffer(1024);
buf.append(System.getProperty("line.separator"));
@@ -537,7 +562,7 @@ public class GeronimoRuntimeWizardFragme
return buf.toString();
}
- private static void listFile(File file, StringBuffer buf, String serverLocation) {
+ private void listFile(File file, StringBuffer buf, String serverLocation) {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File subfile : files) {
@@ -548,7 +573,7 @@ public class GeronimoRuntimeWizardFragme
if (filename.endsWith(".jar")) {
String parentPath = file.getParent();
String bundleFolder = parentPath.substring(serverLocation.length());
- buf.append(LOCATION_LINE_TEMPLATE.replaceAll("GERONIMO_BUNDLE_FOLDER_NAME",
+ buf.append(getLocationLineTempalte().replaceAll("GERONIMO_BUNDLE_FOLDER_NAME",
Matcher.quoteReplacement(bundleFolder)));
buf.append(System.getProperty("line.separator"));
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java?rev=1145103&r1=1145102&r2=1145103&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.java Mon Jul 11 10:07:08 2011
@@ -621,5 +621,7 @@ public class Messages extends NLS {
public static String wizardPageDescription_ExcludeFilePattern;
public static String restoreDefaults;
+
+ public static String serverLocationVariableDescription;
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties?rev=1145103&r1=1145102&r2=1145103&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/internal/Messages.properties Mon Jul 11 10:07:08 2011
@@ -614,3 +614,5 @@ wizardPageTitle_ExcludeFilePattern=Exclu
wizardPageDescription_ExcludeFilePattern=Provide an exclude file pattern. A pattern can contain any combination\nof '*' (matches zero or more characters) or '?' (matches one character).
restoreDefaults=Restore defaults
+
+serverLocationVariableDescription=The server location of Apache Geronimo 3.0