JBoss Tools SVN: r31373 - in trunk/jbpm/plugins/org.jbpm.gd.jpdl: META-INF and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: koen.aers(a)jboss.com
Date: 2011-05-19 08:20:36 -0400 (Thu, 19 May 2011)
New Revision: 31373
Added:
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/prefs/CompatibilityPage.java
Modified:
trunk/jbpm/plugins/org.jbpm.gd.jpdl/META-INF/MANIFEST.MF
trunk/jbpm/plugins/org.jbpm.gd.jpdl/plugin.xml
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/Plugin.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/model/AbstractNode.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/properties/ConditionSection.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/DecisionDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ForkDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/JoinDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/MailNodeDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/NodeDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ProcessStateDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StartStateDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StateDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SubProcessDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SuperStateDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TaskNodeDomAdapter.java
trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TransitionDomAdapter.java
Log:
JBIDE-8956
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/META-INF/MANIFEST.MF
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/META-INF/MANIFEST.MF 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/META-INF/MANIFEST.MF 2011-05-19 12:20:36 UTC (rev 31373)
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.jbpm.gd.jpdl;singleton:=true
-Bundle-Version: 3.3.0.qualifier
+Bundle-Version: 3.4.0.qualifier
Bundle-ClassPath: .,
lib/dom4j-1.4.jar
Bundle-Activator: org.jbpm.gd.jpdl.Plugin
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/plugin.xml 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/plugin.xml 2011-05-19 12:20:36 UTC (rev 31373)
@@ -379,6 +379,11 @@
id="org.jbpm.gd.jpdl.prefs.templates"
name="Jpdl Templates"
category="org.jbpm.gd.jpdl.prefs.jbpm3"/>
+ <page
+ class="org.jbpm.gd.jpdl.prefs.CompatibilityPage"
+ id="org.jbpm.gd.jpdl.prefs.templates"
+ name="Compatibility"
+ category="org.jbpm.gd.jpdl.prefs.jbpm3"/>
</extension>
<extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/Plugin.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/Plugin.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/Plugin.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -33,6 +33,11 @@
private ResourceBundle resourceBundle;
+ /**
+ * @since 3.4
+ */
+ public static final String TRANS_COND_WARN_PREFERENCE = "transition condition warn";
+
public Plugin() {
super();
plugin = this;
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/model/AbstractNode.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/model/AbstractNode.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/model/AbstractNode.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -59,6 +59,7 @@
public void removeTransition(Transition transition) {
if (!(transitions.contains(transition))) return;
transitions.remove(transition);
+ transition.setSource(null);
firePropertyChange("transitionRemove", transition, null);
}
Added: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/prefs/CompatibilityPage.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/prefs/CompatibilityPage.java (rev 0)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/prefs/CompatibilityPage.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2011, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.gd.jpdl.prefs;
+
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.jbpm.gd.jpdl.Constants;
+import org.jbpm.gd.jpdl.Plugin;
+
+/**
+ * @since 3.4
+ */
+public class CompatibilityPage extends PreferencePage implements IWorkbenchPreferencePage, Constants {
+
+ private Button transCondWarningButton;
+
+ protected Control createContents(Composite parent) {
+ Composite clientArea = createClientArea(parent);
+ createIncludeXsdButton(clientArea);
+ return null;
+ }
+
+ private void createIncludeXsdButton(Composite parent) {
+ transCondWarningButton = new Button(parent, SWT.CHECK);
+ transCondWarningButton.setText("Suppress warning on invalid transitions with conditions." );
+ transCondWarningButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ transCondWarningButton.setSelection(getPreferenceStore().getBoolean(Plugin.TRANS_COND_WARN_PREFERENCE));
+ }
+
+ private Composite createClientArea(Composite parent) {
+ Composite clientArea = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ clientArea.setLayout(layout);
+ GridData gridData = new GridData(GridData.FILL_BOTH);
+ clientArea.setLayoutData(gridData);
+ return clientArea;
+ }
+
+ public void init(IWorkbench workbench) {
+ setPreferenceStore(Plugin.getDefault().getPreferenceStore());
+ }
+
+ public void performDefaults() {
+ getPreferenceStore().setToDefault(Plugin.TRANS_COND_WARN_PREFERENCE);
+ }
+
+ public boolean performOk() {
+ getPreferenceStore().setValue(Plugin.TRANS_COND_WARN_PREFERENCE, transCondWarningButton.getSelection());
+ return true;
+ }
+
+}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/properties/ConditionSection.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/properties/ConditionSection.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/properties/ConditionSection.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -1,5 +1,8 @@
package org.jbpm.gd.jpdl.properties;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
@@ -19,8 +22,11 @@
import org.jbpm.gd.common.part.NotationElementGraphicalEditPart;
import org.jbpm.gd.common.part.OutlineEditPart;
import org.jbpm.gd.common.properties.AbstractPropertySection;
+import org.jbpm.gd.jpdl.Plugin;
import org.jbpm.gd.jpdl.model.Condition;
+import org.jbpm.gd.jpdl.model.Decision;
import org.jbpm.gd.jpdl.model.Transition;
+import org.jbpm.gd.jpdl.prefs.CompatibilityPage;
public class ConditionSection extends AbstractPropertySection implements SelectionListener, FocusListener {
@@ -31,18 +37,29 @@
private Text expressionText;
private Text scriptText;
private Transition transition;
-
+
+ private static final String CONDITION_ON_TRANSITION_WARNING = "Invalid condition: transitions with conditions only valid if the source node is a decision!";
+
+ private Label warningLabel;
+ private Boolean hideTransitionConditionWarnings;
+
public void createControls(Composite parent,
TabbedPropertySheetPage aTabbedPropertySheetPage) {
super.createControls(parent, aTabbedPropertySheetPage);
Composite clientArea = getWidgetFactory().createFlatFormComposite(parent);
+
+ warningLabel = getWidgetFactory().createLabel(clientArea, "");
+ warningLabel.setForeground(ColorConstants.red);
conditionLabel = getWidgetFactory().createLabel(clientArea, "Condition Type");
conditionCombo = getWidgetFactory().createCCombo(clientArea);
- conditionCombo.setItems(new String[] {"Unconditional", "Expression", "Script" });
+ // updateConditionCombo(); -- refresh is always called, and the ConditionCombo is set there.
+
conditionCombo.setEditable(false);
label = getWidgetFactory().createLabel(clientArea, "");
expressionText = getWidgetFactory().createText(clientArea, "");
scriptText = getWidgetFactory().createText(clientArea, "", SWT.H_SCROLL | SWT.V_SCROLL);
+
+ warningLabel.setLayoutData(createWarningLabelLayoutData());
conditionLabel.setLayoutData(createConditionLabelLayoutData());
conditionCombo.setLayoutData(createConditionComboLayoutData());
label.setLayoutData(createLabelLayoutData());
@@ -51,15 +68,85 @@
hookListeners();
refresh();
}
-
+
+ IPropertyChangeListener preferenceListener = new IPropertyChangeListener() {
+ /*
+ * @see IPropertyChangeListener.propertyChange()
+ */
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(Plugin.TRANS_COND_WARN_PREFERENCE)) {
+ hideTransitionConditionWarnings = null;
+ }
+ }
+ };
+
private void hookListeners() {
conditionCombo.addSelectionListener(this);
expressionText.addSelectionListener(this);
expressionText.addFocusListener(this);
scriptText.addSelectionListener(this);
scriptText.addFocusListener(this);
+ Plugin.getDefault().getPreferenceStore().addPropertyChangeListener(preferenceListener);
}
-
+
+ public void dispose() {
+ Plugin.getDefault().getPreferenceStore().removePropertyChangeListener(preferenceListener);
+ super.dispose();
+ }
+
+ private void updateConditionCombo() {
+ if (transition == null) {
+ conditionCombo.setItems(new String[] { "Unconditional" });
+ }
+ else if (getHideTransitionConditionWarning() ) {
+ conditionCombo.setItems(new String[] { "Unconditional", "Expression", "Script" });
+ }
+ else {
+ // showTransitionConditionWarning && transition != null
+ if( transition.getSource() instanceof Decision ) {
+ conditionCombo.setItems(new String[] { "Unconditional", "Expression", "Script" });
+ }
+ else if (transition.getCondition() != null ) {
+ // backwards compatibility, warning will be shown
+ if (transition.getCondition().getExpression() != null) {
+ conditionCombo.setItems(new String[] { "Unconditional", "Expression" });
+ }
+ else if (transition.getCondition().getScript() != null) {
+ conditionCombo.setItems(new String[] { "Unconditional", "Script" });
+ }
+ }
+ else {
+ conditionCombo.setItems(new String[] { "Unconditional" });
+ }
+ }
+ }
+
+ private void updateWarningLabel() {
+ if( getHideTransitionConditionWarning() ) {
+ warningLabel.setText("");
+ }
+ else if (transition == null
+ || transition.getCondition() == null
+ || transition.getSource() == null
+ || transition.getSource() instanceof Decision) {
+ warningLabel.setText("");
+ }
+ else if (transition.getCondition() != null && !(transition.getSource() instanceof Decision)) {
+ warningLabel.setText(CONDITION_ON_TRANSITION_WARNING);
+ }
+ else {
+ warningLabel.setText("");
+ }
+ }
+
+ private FormData createWarningLabelLayoutData() {
+ FormData result = new FormData();
+ result.left = new FormAttachment(0, 5);
+ result.right = new FormAttachment(100, -5);
+ result.top = new FormAttachment(conditionCombo, 10);
+ return result;
+ }
+
private FormData createConditionLabelLayoutData() {
FormData result = new FormData();
result.left = new FormAttachment(0, 5);
@@ -78,7 +165,7 @@
FormData result = new FormData();
result.left = new FormAttachment(0, 5);
result.right = new FormAttachment(100, -5);
- result.top = new FormAttachment(conditionCombo, 10);
+ result.top = new FormAttachment(warningLabel, 10);
return result;
}
@@ -116,6 +203,8 @@
}
public void refresh() {
+ updateConditionCombo();
+ updateWarningLabel();
if (transition == null || transition.getCondition() == null){
conditionCombo.setText("Unconditional");
label.setText("");
@@ -146,7 +235,7 @@
scriptText.setVisible(false);
}
}
- }
+ }
public boolean shouldUseExtraSpace() {
return true;
@@ -180,6 +269,7 @@
private void handleConditionComboSelected() {
if ("Expression".equals(conditionCombo.getText())) {
+ updateWarningLabel();
label.setText("Expression");
scriptText.setVisible(false);
expressionText.setVisible(true);
@@ -187,6 +277,7 @@
updateCondition();
}
} else if ("Script".equals(conditionCombo.getText())) {
+ updateWarningLabel();
label.setText("Script");
expressionText.setVisible(false);
scriptText.setVisible(true);
@@ -194,6 +285,7 @@
updateCondition();
}
} else {
+ warningLabel.setText("");
label.setText("");
expressionText.setVisible(false);
scriptText.setVisible(false);
@@ -229,4 +321,12 @@
}
}
+ private Boolean getHideTransitionConditionWarning() {
+ if (hideTransitionConditionWarnings == null) {
+ hideTransitionConditionWarnings = Plugin.getDefault().getPreferenceStore()
+ .getBoolean(Plugin.TRANS_COND_WARN_PREFERENCE);
+ }
+ return hideTransitionConditionWarnings;
+ }
+
}
\ No newline at end of file
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/DecisionDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/DecisionDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/DecisionDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -11,6 +11,7 @@
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.Handler;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Transition;
public class DecisionDomAdapter extends XmlAdapter {
@@ -120,6 +121,7 @@
decision.addExceptionHandler((ExceptionHandler)jpdlElement);
} else if ("transition".equals(type)) {
decision.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
}
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ForkDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ForkDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ForkDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -10,6 +10,7 @@
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.Fork;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Script;
import org.jbpm.gd.jpdl.model.Timer;
import org.jbpm.gd.jpdl.model.Transition;
@@ -121,6 +122,7 @@
fork.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
fork.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("description".equals(getNodeType(type))) {
fork.setDescription((Description)jpdlElement);
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/JoinDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/JoinDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/JoinDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -10,6 +10,7 @@
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.Join;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Timer;
import org.jbpm.gd.jpdl.model.Transition;
@@ -111,6 +112,7 @@
join.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
join.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("description".equals(getNodeType(type))) {
join.setDescription((Description)jpdlElement);
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/MailNodeDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/MailNodeDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/MailNodeDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -10,6 +10,7 @@
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.MailNode;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Subject;
import org.jbpm.gd.jpdl.model.Text;
import org.jbpm.gd.jpdl.model.Timer;
@@ -148,6 +149,7 @@
mailNode.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
mailNode.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("description".equals(getNodeType(type))) {
mailNode.setDescription((Description)jpdlElement);
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/NodeDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/NodeDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/NodeDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -14,6 +14,7 @@
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.MailAction;
import org.jbpm.gd.jpdl.model.Node;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Script;
import org.jbpm.gd.jpdl.model.Timer;
import org.jbpm.gd.jpdl.model.Transition;
@@ -149,6 +150,7 @@
node.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
node.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
}
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ProcessStateDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ProcessStateDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/ProcessStateDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -9,6 +9,7 @@
import org.jbpm.gd.jpdl.model.Description;
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.ProcessState;
import org.jbpm.gd.jpdl.model.SubProcess;
import org.jbpm.gd.jpdl.model.Timer;
@@ -124,6 +125,7 @@
processState.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
processState.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("variable".equals(type)) {
processState.addVariable((Variable)jpdlElement);
} else if ("sub-process".equals(type)) {
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StartStateDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StartStateDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StartStateDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -9,6 +9,7 @@
import org.jbpm.gd.jpdl.model.Description;
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.StartState;
import org.jbpm.gd.jpdl.model.Task;
import org.jbpm.gd.jpdl.model.Transition;
@@ -96,6 +97,7 @@
startState.setDescription((Description)jpdlElement);
} else if ("transition".equals(type)) {
startState.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("event".equals(type)) {
startState.addEvent((Event)jpdlElement);
} else if ("exception-handler".equals(type)) {
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StateDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StateDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/StateDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -9,6 +9,7 @@
import org.jbpm.gd.jpdl.model.Description;
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.State;
import org.jbpm.gd.jpdl.model.Timer;
import org.jbpm.gd.jpdl.model.Transition;
@@ -112,6 +113,7 @@
state.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
state.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("description".equals(getNodeType(type))) {
state.setDescription((Description)jpdlElement);
}
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SubProcessDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SubProcessDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SubProcessDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -4,7 +4,10 @@
import org.jbpm.gd.common.model.SemanticElement;
import org.jbpm.gd.common.xml.XmlAdapter;
+import org.jbpm.gd.jpdl.model.Fork;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.SubProcess;
+import org.jbpm.gd.jpdl.model.Transition;
public class SubProcessDomAdapter extends XmlAdapter {
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SuperStateDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SuperStateDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/SuperStateDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -15,6 +15,7 @@
import org.jbpm.gd.jpdl.model.Join;
import org.jbpm.gd.jpdl.model.MailNode;
import org.jbpm.gd.jpdl.model.Node;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.ProcessState;
import org.jbpm.gd.jpdl.model.State;
import org.jbpm.gd.jpdl.model.SuperState;
@@ -136,6 +137,7 @@
superState.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
superState.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("node".equals(type)) {
superState.addNodeElement((Node)jpdlElement);
} else if ("state".equals(type)) {
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TaskNodeDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TaskNodeDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TaskNodeDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -9,6 +9,7 @@
import org.jbpm.gd.jpdl.model.Description;
import org.jbpm.gd.jpdl.model.Event;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Task;
import org.jbpm.gd.jpdl.model.TaskNode;
import org.jbpm.gd.jpdl.model.Timer;
@@ -137,6 +138,7 @@
taskNode.addTimer((Timer)jpdlElement);
} else if ("transition".equals(type)) {
taskNode.addTransition((Transition)jpdlElement);
+ ((Transition)jpdlElement).setSource((NodeElement)getSemanticElement());
} else if ("task".equals(type)) {
taskNode.addTask((Task)jpdlElement);
} else if ("description".equals(getNodeType(type))) {
Modified: trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TransitionDomAdapter.java
===================================================================
--- trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TransitionDomAdapter.java 2011-05-19 11:38:17 UTC (rev 31372)
+++ trunk/jbpm/plugins/org.jbpm.gd.jpdl/src/org/jbpm/gd/jpdl/xml/TransitionDomAdapter.java 2011-05-19 12:20:36 UTC (rev 31373)
@@ -13,6 +13,7 @@
import org.jbpm.gd.jpdl.model.Description;
import org.jbpm.gd.jpdl.model.ExceptionHandler;
import org.jbpm.gd.jpdl.model.MailAction;
+import org.jbpm.gd.jpdl.model.NodeElement;
import org.jbpm.gd.jpdl.model.Script;
import org.jbpm.gd.jpdl.model.Transition;
@@ -86,6 +87,8 @@
transition.setTo(newValue);
} else if ("name".equals(name)) {
transition.setName(newValue);
+ } else if ("condition".equals(name)) {
+ transition.setName(newValue);
}
}
13 years, 4 months
JBoss Tools SVN: r31372 - trunk/ws/tests/org.jboss.tools.ws.creation.core.test.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-05-19 07:38:17 -0400 (Thu, 19 May 2011)
New Revision: 31372
Added:
trunk/ws/tests/org.jboss.tools.ws.creation.core.test/README.txt
Log:
add readme for this test's dependency on JDK5 and JDK6 and how to work around that issue
Added: trunk/ws/tests/org.jboss.tools.ws.creation.core.test/README.txt
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.creation.core.test/README.txt (rev 0)
+++ trunk/ws/tests/org.jboss.tools.ws.creation.core.test/README.txt 2011-05-19 11:38:17 UTC (rev 31372)
@@ -0,0 +1,19 @@
+This test plugin may require additional setup to successfully build.
+
+In Hudson we do this:
+
+echo "${NATIVE_TOOLS}${SEP}${JAVA15}"
+export PATH=${NATIVE_TOOLS}${SEP}${JAVA15}/bin:$PATH
+java -version
+
+then pass in these JVM options to maven:
+
+ -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m \
+ -Djbosstools.test.jre.5="${NATIVE_TOOLS}${SEP}${JAVA15}" \
+ -Djbosstools.test.jre.6="${NATIVE_TOOLS}${SEP}${JAVA16}"
+
+where ${NATIVE_TOOLS}${SEP}${JAVA16} and ${NATIVE_TOOLS}${SEP}${JAVA15} may be something like:
+
+/opt/sun-java2-5.0/
+/opt/sun-java2-6.0/
+
13 years, 4 months
JBoss Tools SVN: r31371 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2011-05-19 07:37:22 -0400 (Thu, 19 May 2011)
New Revision: 31371
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
Log:
JBIDE-8960
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties 2011-05-19 10:39:49 UTC (rev 31370)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/Messages.properties 2011-05-19 11:37:22 UTC (rev 31371)
@@ -17,7 +17,7 @@
PollingShuttingDown=Server shutting down
PollerFailure=Failure in Poll Thread
PollerAborted=Poll Thread Aborted: {0}
-ServerPollerThreadName=Server Poller
+ServerPollerThreadName={0} - Server Poller
runModeNotSupported=Selected VM does not support this mode
loadXMLDocumentFailed=Could not load document: {0}
saveXMLDocumentFailed=Could not save document: {0}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-05-19 10:39:49 UTC (rev 31370)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-05-19 11:37:22 UTC (rev 31371)
@@ -166,7 +166,7 @@
pollThread.cancel();
}
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, getActualBehavior());
+ this.pollThread = new PollThread(expectedState, poller, getActualBehavior());
pollThread.start();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-05-19 10:39:49 UTC (rev 31370)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-05-19 11:37:22 UTC (rev 31371)
@@ -54,8 +54,8 @@
private JBossServerBehavior behavior;
private String pollerId;
- public PollThread(String name, boolean expectedState, IServerStatePoller poller, JBossServerBehavior behavior) {
- super(name);
+ public PollThread(boolean expectedState, IServerStatePoller poller, JBossServerBehavior behavior) {
+ super(getThreadName(behavior));
this.expectedState = expectedState;
this.abort = false;
this.abortMessage = null;
@@ -63,6 +63,10 @@
this.poller = poller;
}
+ private static String getThreadName(JBossServerBehavior behavior) {
+ return NLS.bind(Messages.ServerPollerThreadName, behavior.getServer().getName());
+ }
+
public void cancel() {
cancel(null);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-05-19 10:39:49 UTC (rev 31370)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-05-19 11:37:22 UTC (rev 31371)
@@ -88,7 +88,7 @@
pollThread.cancel();
}
IServerStatePoller poller = PollThreadUtils.getPoller(JBoss7ManagerServicePoller.POLLER_ID, expectedState, getServer());
- this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, this);
+ this.pollThread = new PollThread(expectedState, poller, this);
pollThread.start();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-05-19 10:39:49 UTC (rev 31370)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-05-19 11:37:22 UTC (rev 31371)
@@ -12,7 +12,6 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.rse.core;
-import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
@@ -47,7 +46,7 @@
pollThread.cancel();
}
IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
- this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, getActualBehavior());
+ this.pollThread = new PollThread( expectedState, poller, getActualBehavior());
pollThread.start();
}
13 years, 4 months
JBoss Tools SVN: r31370 - trunk/archives/tests/org.jboss.ide.eclipse.archives.test.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2011-05-19 06:39:49 -0400 (Thu, 19 May 2011)
New Revision: 31370
Modified:
trunk/archives/tests/org.jboss.ide.eclipse.archives.test/
Log:
Adding a folder to svn ignore that generates during testing
Property changes on: trunk/archives/tests/org.jboss.ide.eclipse.archives.test
___________________________________________________________________
Modified: svn:ignore
- target
buildlog.latest.txt
bin
build
*.class
+ target
buildlog.latest.txt
bin
build
*.class
tmp
13 years, 4 months
JBoss Tools SVN: r31368 - branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-05-19 05:59:43 -0400 (Thu, 19 May 2011)
New Revision: 31368
Modified:
branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
Log:
[JBIDE-8847] corrected name validation expression
Modified: branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
===================================================================
--- branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-05-19 09:23:45 UTC (rev 31367)
+++ branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-05-19 09:59:43 UTC (rev 31368)
@@ -247,7 +247,8 @@
return ValidationStatus.ok();
}
} else {
- if (cloudConnection.getDeltaCloud().equals(deltaCloud)) {
+ if (deltaCloud == null
+ || cloudConnection.getDeltaCloud().equals(deltaCloud)) {
return ValidationStatus.ok();
}
}
13 years, 4 months
JBoss Tools SVN: r31369 - trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-05-19 05:59:44 -0400 (Thu, 19 May 2011)
New Revision: 31369
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
Log:
[JBIDE-8847] corrected name validation expression
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-05-19 09:59:43 UTC (rev 31368)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-05-19 09:59:44 UTC (rev 31369)
@@ -247,7 +247,8 @@
return ValidationStatus.ok();
}
} else {
- if (cloudConnection.getDeltaCloud().equals(deltaCloud)) {
+ if (deltaCloud == null
+ || cloudConnection.getDeltaCloud().equals(deltaCloud)) {
return ValidationStatus.ok();
}
}
13 years, 4 months
JBoss Tools SVN: r31367 - trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-05-19 05:23:45 -0400 (Thu, 19 May 2011)
New Revision: 31367
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/NewConnectionHandler.java
Log:
[JBIDE-8090] initialized wizards when editing a connection / creating a new connection so that they show a dialog title
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2011-05-19 09:23:28 UTC (rev 31366)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2011-05-19 09:23:45 UTC (rev 31367)
@@ -17,8 +17,8 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.ui.handlers.HandlerUtil;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.internal.deltacloud.ui.utils.WorkbenchUtils;
@@ -33,9 +33,11 @@
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof IStructuredSelection) {
- DeltaCloud cloud = WorkbenchUtils.getFirstAdaptedElement(selection, DeltaCloud.class);
+ IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+ DeltaCloud cloud = WorkbenchUtils.getFirstAdaptedElement(structuredSelection, DeltaCloud.class);
if (cloud != null) {
- IWizard wizard = new EditCloudConnectionWizard(cloud);
+ IWorkbenchWizard wizard = new EditCloudConnectionWizard(cloud);
+ wizard.init(WorkbenchUtils.getWorkbench(), structuredSelection);
WizardDialog dialog = new WizardDialog(WorkbenchUtils.getActiveWorkbenchWindow().getShell(), wizard);
dialog.create();
dialog.open();
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/NewConnectionHandler.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/NewConnectionHandler.java 2011-05-19 09:23:28 UTC (rev 31366)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/NewConnectionHandler.java 2011-05-19 09:23:45 UTC (rev 31367)
@@ -14,9 +14,13 @@
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
import org.jboss.tools.internal.deltacloud.ui.utils.WizardUtils;
+import org.jboss.tools.internal.deltacloud.ui.utils.WorkbenchUtils;
import org.jboss.tools.internal.deltacloud.ui.wizards.NewCloudConnectionWizard;
/**
@@ -27,7 +31,10 @@
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
- WizardUtils.openWizardDialog(new NewCloudConnectionWizard(), shell);
+ IWorkbenchWizard wizard = new NewCloudConnectionWizard();
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getCurrentSelectionChecked(event);
+ wizard.init(WorkbenchUtils.getWorkbench(), selection);
+ WizardUtils.openWizardDialog(wizard, shell);
return Status.OK_STATUS;
}
}
13 years, 4 months
JBoss Tools SVN: r31366 - branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-05-19 05:23:28 -0400 (Thu, 19 May 2011)
New Revision: 31366
Modified:
branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
Log:
[JBIDE-8090] initialized wizards when editing a connection / creating a new connection so that they show a dialog title
Modified: branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java
===================================================================
--- branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2011-05-19 09:02:43 UTC (rev 31365)
+++ branches/jbosstools-3.2.x/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/EditConnectionHandler.java 2011-05-19 09:23:28 UTC (rev 31366)
@@ -17,11 +17,12 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.ui.handlers.HandlerUtil;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.internal.deltacloud.ui.utils.UIUtils;
+import org.jboss.tools.internal.deltacloud.ui.utils.WorkbenchUtils;
import org.jboss.tools.internal.deltacloud.ui.wizards.EditCloudConnectionWizard;
/**
@@ -33,10 +34,12 @@
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof IStructuredSelection) {
+ IStructuredSelection structuredSelection = (IStructuredSelection) selection;
DeltaCloud cloud = UIUtils.getFirstAdaptedElement(selection, DeltaCloud.class);
if (cloud != null) {
- IWizard wizard = new EditCloudConnectionWizard(cloud);
- WizardDialog dialog = new WizardDialog(UIUtils.getActiveWorkbenchWindow().getShell(), wizard);
+ IWorkbenchWizard wizard = new EditCloudConnectionWizard(cloud);
+ wizard.init(WorkbenchUtils.getWorkbench(), structuredSelection);
+ WizardDialog dialog = new WizardDialog(WorkbenchUtils.getActiveWorkbenchWindow().getShell(), wizard);
dialog.create();
dialog.open();
}
13 years, 4 months
JBoss Tools SVN: r31365 - in trunk/as: plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server and 10 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-05-19 05:02:43 -0400 (Thu, 19 May 2011)
New Revision: 31365
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManangerConnectException.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigurator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBoss7RuntimeClasspathUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBossServerBehaviorUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBoss7LaunchConfigurationTabGroup.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeClasspathUtil.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBoss7ManagerService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerAttributeHelper.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/StopLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/TwiddleLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServiceProxy.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerUtil.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigBuilder.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/JBoss7ManagerService.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBossLaunchConfigurationTabGroup.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerActionProvider.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerContentProvider.java
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/JBossManagerTest.java
Log:
[JBIDE-8959] moved code from workspace to TRUNK
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/polling/WebPortPoller.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -41,7 +41,7 @@
t.start();
}
- public void pollerRun() {
+ private void pollerRun() {
done = false;
String url = getURL(getServer());
while(!canceled && !done) {
@@ -53,7 +53,7 @@
}
}
- public static String getURL(IServer server) {
+ private static String getURL(IServer server) {
String url = "http://"+server.getHost(); //$NON-NLS-1$
JBossServer jbs = ServerConverter.getJBossServer(server);
int port = jbs.getJBossWebPort();
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBoss7ManagerService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBoss7ManagerService.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBoss7ManagerService.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -26,8 +26,8 @@
/**
* Asynchronously deploy a file to a server
+ * @param host
*
- * @param host
* The host
* @param port
* The port
@@ -130,6 +130,8 @@
*/
public JBoss7ServerState getServerState(String host, int port) throws Exception;
+ public JBoss7ServerState getServerState(String host) throws Exception;
+
/**
* Stops the given server
*
@@ -139,6 +141,6 @@
public void stop(String host, int port) throws Exception;
public void stop(String host) throws Exception;
-
+
public void dispose();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossBehaviorDelegate.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -37,6 +37,7 @@
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.launch.StopLaunchConfiguration;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
+import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
/**
*
@@ -161,10 +162,11 @@
}
protected void pollServer(final boolean expectedState) {
- if( this.pollThread != null ) {
+ if( pollThread != null ) {
pollThread.cancel();
}
- this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, getActualBehavior());
+ IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
+ this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, getActualBehavior());
pollThread.start();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -10,6 +10,26 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.core.server.internal;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.DEFAULT_MEM_ARGS;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.DEFAULT_MEM_ARGS_AS50;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.ENDORSED_DIRS;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.EQ;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.JAVA_LIB_PATH;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.JAVA_PREFER_IP4_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.PROGRAM_NAME_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.QUOTE;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SERVER_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SPACE;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.STARTUP_ARG_CONFIG_LONG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SUN_CLIENT_GC_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SUN_SERVER_GC_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SYSPROP;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants.BIN;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants.ENDORSED;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants.LIB;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants.NATIVE;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants.SERVER;
+
import java.util.HashMap;
import org.eclipse.core.runtime.IPath;
@@ -23,15 +43,14 @@
import org.eclipse.wst.server.core.IRuntimeType;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.Messages;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
public class LocalJBossServerRuntime extends AbstractLocalJBossServerRuntime implements IJBossServerRuntime {
public void setDefaults(IProgressMonitor monitor) {
super.setDefaults(monitor);
- setAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, IJBossServerConstants.DEFAULT_CONFIGURATION);
+ setAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, IJBossRuntimeResourceConstants.DEFAULT_CONFIGURATION);
}
protected String getNextRuntimeName() {
@@ -68,47 +87,46 @@
}
public String getDefaultRunArgs() {
- return IConstants.STARTUP_ARG_CONFIG_LONG + "=" + getJBossConfiguration() + IConstants.SPACE; //$NON-NLS-1$
+ return STARTUP_ARG_CONFIG_LONG + "=" + getJBossConfiguration() + SPACE; //$NON-NLS-1$
}
public String getDefaultRunVMArgs() {
- IConstants c = new IConstants(){};
String name = getRuntime().getName();
- String ret = c.QUOTE + c.SYSPROP + c.PROGRAM_NAME_ARG + c.EQ +
- "JBossTools: " + name + c.QUOTE + c.SPACE; //$NON-NLS-1$
+ String ret = QUOTE + SYSPROP + PROGRAM_NAME_ARG + EQ +
+ "JBossTools: " + name + QUOTE + SPACE; //$NON-NLS-1$
if( Platform.getOS().equals(Platform.OS_MACOSX))
- ret += c.SERVER_ARG + c.SPACE;
+ ret += SERVER_ARG + SPACE;
IRuntimeType type = getRuntime().getRuntimeType();
if (type != null &&
(IJBossToolingConstants.AS_50.equals(type.getId()) ||
IJBossToolingConstants.AS_51.equals(type.getId()) ||
IJBossToolingConstants.AS_60.equals(type.getId()) ||
IJBossToolingConstants.EAP_50.equals(type.getId())) ) {
- ret += c.DEFAULT_MEM_ARGS_AS50;
+ ret += DEFAULT_MEM_ARGS_AS50;
} else {
- ret += c.DEFAULT_MEM_ARGS;
+ ret += DEFAULT_MEM_ARGS;
}
if( Platform.getOS().equals(Platform.OS_LINUX))
- ret += c.SYSPROP + c.JAVA_PREFER_IP4_ARG + c.EQ + true + c.SPACE;
- ret += c.SYSPROP + c.SUN_CLIENT_GC_ARG + c.EQ + 3600000 + c.SPACE;
- ret += c.SYSPROP + c.SUN_SERVER_GC_ARG + c.EQ + 3600000 + c.SPACE;
- ret += c.QUOTE + c.SYSPROP + c.ENDORSED_DIRS + c.EQ +
- (getRuntime().getLocation().append(c.LIB).append(c.ENDORSED)) + c.QUOTE + c.SPACE;
- if( getRuntime().getLocation().append(c.BIN).append(c.NATIVE).toFile().exists() )
- ret += c.SYSPROP + c.JAVA_LIB_PATH + c.EQ + c.QUOTE +
- getRuntime().getLocation().append(c.BIN).append(c.NATIVE) + c.QUOTE + c.SPACE;
+ ret += SYSPROP + JAVA_PREFER_IP4_ARG + EQ + true + SPACE;
+ ret += SYSPROP + SUN_CLIENT_GC_ARG + EQ + 3600000 + SPACE;
+ ret += SYSPROP + SUN_SERVER_GC_ARG + EQ + 3600000 + SPACE;
+ ret += QUOTE + SYSPROP + ENDORSED_DIRS + EQ +
+ (getRuntime().getLocation().append(LIB).append(ENDORSED)) + QUOTE + SPACE;
+ if( getRuntime().getLocation().append(BIN).append(NATIVE).toFile().exists() )
+ ret += SYSPROP + JAVA_LIB_PATH + EQ + QUOTE +
+ getRuntime().getLocation().append(BIN).append(NATIVE) + QUOTE + SPACE;
return ret;
}
public HashMap<String, String> getDefaultRunEnvVars(){
HashMap<String, String> envVars = new HashMap<String, String>(1);
- envVars.put("Path", IConstants.NATIVE); //$NON-NLS-1$
+ envVars.put("Path", NATIVE); //$NON-NLS-1$
return envVars;
}
public String getConfigLocation() {
- return getAttribute(PROPERTY_CONFIG_LOCATION, IConstants.SERVER);
+ return getAttribute(PROPERTY_CONFIG_LOCATION, SERVER);
}
public void setConfigLocation(String configLocation) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/PollThread.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -21,12 +21,10 @@
import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.IPollerFailureHandler;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller.PollingException;
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller.RequiresInfoException;
-import org.jboss.ide.eclipse.as.core.util.ServerConverter;
/**
*
@@ -56,35 +54,15 @@
private JBossServerBehavior behavior;
private String pollerId;
- public PollThread(String name, boolean expectedState,
- JBossServerBehavior behavior) {
+ public PollThread(String name, boolean expectedState, IServerStatePoller poller, JBossServerBehavior behavior) {
super(name);
this.expectedState = expectedState;
this.abort = false;
this.abortMessage = null;
this.behavior = behavior;
- this.poller = discoverPoller(behavior, expectedState);
+ this.poller = poller;
}
- protected IServerStatePoller discoverPoller(JBossServerBehavior behavior,
- boolean expectedState) {
- JBossServer s = ServerConverter.getJBossServer(behavior.getServer());
- ServerAttributeHelper helper = s.getAttributeHelper();
- String key = expectedState == IServerStatePoller.SERVER_UP ? IJBossServerConstants.STARTUP_POLLER_KEY
- : IJBossServerConstants.SHUTDOWN_POLLER_KEY;
- String defaultPoller = expectedState == IServerStatePoller.SERVER_UP ? IJBossServerConstants.DEFAULT_STARTUP_POLLER
- : IJBossServerConstants.DEFAULT_SHUTDOWN_POLLER;
- pollerId = helper.getAttribute(key, defaultPoller);
- ServerStatePollerType type = ExtensionManager.getDefault()
- .getPollerType(pollerId);
- if (type != null) {
- IServerStatePoller tempPoller = type.createPoller();
- tempPoller.setPollerType(type);
- return tempPoller;
- }
- return null;
- }
-
public void cancel() {
cancel(null);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerAttributeHelper.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerAttributeHelper.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/ServerAttributeHelper.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -21,7 +21,6 @@
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.Messages;
@@ -43,10 +42,10 @@
return null;
}
- private ServerWorkingCopy wch;
+ private IServerWorkingCopy wch;
private IServer server;
public ServerAttributeHelper(IServer server, IServerWorkingCopy copy) {
- this.wch = (ServerWorkingCopy)copy;
+ this.wch = copy;
this.server = server;
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -17,14 +17,19 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
@@ -80,7 +85,11 @@
public String[] getJavaLibraryPath(ILaunchConfiguration configuration) throws CoreException {
IServer server = ServerUtil.getServer(configuration);
- JBossServer jbs = AbstractJBossLaunchConfigType.findJBossServer(server.getId());
+ JBossServer jbs = ServerConverter.findJBossServer(server.getId());
+ if (jbs == null) {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
+ NLS.bind(Messages.ServerNotFound, server.getId())));
+ }
IJBossServerRuntime runtime = (IJBossServerRuntime)
jbs.getServer().getRuntime().loadAdapter(IJBossServerRuntime.class, null);
IPath nativeFolder = runtime.getRuntime().getLocation()
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/LocalJBossServerStartupLaunchUtil.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -36,7 +36,6 @@
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
@@ -46,12 +45,14 @@
import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossBehaviorDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration.IStartLaunchSetupParticipant;
import org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration.StartLaunchDelegate;
-import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7RuntimeClasspathUtil;
import org.jboss.ide.eclipse.as.core.util.ArgsUtil;
import org.jboss.ide.eclipse.as.core.util.IConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.JBoss7RuntimeClasspathUtil;
+import org.jboss.ide.eclipse.as.core.util.JBossServerBehaviorUtils;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class LocalJBossServerStartupLaunchUtil implements StartLaunchDelegate, IStartLaunchSetupParticipant {
@@ -67,11 +68,11 @@
}
// Upgrade old launch configs
- JBossServer jbs = AbstractJBossLaunchConfigType.findJBossServer(server.getId());
- if (jbs == null)
+ JBossServer jbs = ServerConverter.findJBossServer(server.getId());
+ if (jbs == null) {
throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
NLS.bind(Messages.CannotSetUpImproperServer, server.getName())));
-
+ }
String cpProvider = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER,
(String) null);
if (!DEFAULT_CP_PROVIDER_ID.equals(cpProvider)) {
@@ -177,10 +178,11 @@
}
protected static void forceDefaultsSet(ILaunchConfigurationWorkingCopy wc, IServer server) throws CoreException {
- JBossServer jbs = AbstractJBossLaunchConfigType.findJBossServer(server.getId());
- if (jbs == null)
+ JBossServer jbs = ServerConverter.findJBossServer(server.getId());
+ if (jbs == null) {
throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
NLS.bind(Messages.CannotSetUpImproperServer, server.getName())));
+ }
String serverHome = AbstractJBossLaunchConfigType.getServerHome(jbs);
if (serverHome == null)
@@ -247,12 +249,6 @@
return null;
}
- public static JBossServerBehavior getServerBehavior(ILaunchConfiguration configuration) throws CoreException {
- IServer server = ServerUtil.getServer(configuration);
- JBossServerBehavior jbossServerBehavior = (JBossServerBehavior) server.getAdapter(JBossServerBehavior.class);
- return jbossServerBehavior;
- }
-
/* For "restore defaults" functionality */
private static final String DEFAULT_CP_PROVIDER_ID = "org.jboss.ide.eclipse.as.core.server.internal.launch.serverClasspathProvider"; //$NON-NLS-1$
@@ -305,7 +301,7 @@
public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor)
throws CoreException {
- JBossServerBehavior jbsBehavior = getServerBehavior(configuration);
+ JBossServerBehavior jbsBehavior = JBossServerBehaviorUtils.getServerBehavior(configuration);
if (!jbsBehavior.canStart(mode).isOK())
throw new CoreException(jbsBehavior.canStart(mode));
return true;
@@ -314,7 +310,7 @@
public void preLaunch(ILaunchConfiguration configuration,
String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
try {
- JBossServerBehavior jbsBehavior = getServerBehavior(configuration);
+ JBossServerBehavior jbsBehavior = JBossServerBehaviorUtils.getServerBehavior(configuration);
jbsBehavior.setRunMode(mode);
jbsBehavior.serverStarting();
} catch (CoreException ce) {
@@ -326,7 +322,7 @@
ILaunch launch, IProgressMonitor monitor) throws CoreException {
try {
IProcess[] processes = launch.getProcesses();
- JBossServerBehavior jbsBehavior = getServerBehavior(configuration);
+ JBossServerBehavior jbsBehavior = JBossServerBehaviorUtils.getServerBehavior(configuration);
((LocalJBossBehaviorDelegate) (jbsBehavior.getDelegate())).setProcess(processes[0]);
} catch (CoreException ce) {
// report
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/StopLaunchConfiguration.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/StopLaunchConfiguration.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/StopLaunchConfiguration.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -100,23 +100,27 @@
}
public static String getDefaultArgs(JBossServer jbs) {
- IJBossRuntimeConstants c = new IJBossRuntimeConstants() {};
- IJBossToolingConstants tc = new IJBossToolingConstants() {};
String runtimeTypeId = jbs.getRuntime().getRuntime().getRuntimeType().getId();
String serverUrl;
- if (runtimeTypeId.equals(tc.AS_60)){
+ if (runtimeTypeId.equals(IJBossToolingConstants.AS_60)){
IJBoss6Server server6 = (IJBoss6Server)jbs.getServer().loadAdapter(IJBoss6Server.class, new NullProgressMonitor());
serverUrl = "service:jmx:rmi:///jndi/rmi://" + jbs.getHost() + ":" + server6.getJMXRMIPort() + "/jmxrmi"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
} else {
serverUrl = jbs.getHost() + ":" + jbs.getJNDIPort(); //$NON-NLS-1$
}
- String args = c.SHUTDOWN_STOP_ARG + c.SPACE;
- args += c.SHUTDOWN_SERVER_ARG + c.SPACE + serverUrl + c.SPACE;
+ String args = IJBossRuntimeConstants.SHUTDOWN_STOP_ARG
+ + IJBossRuntimeConstants.SPACE;
+ args += IJBossRuntimeConstants.SHUTDOWN_SERVER_ARG
+ + IJBossRuntimeConstants.SPACE
+ + serverUrl
+ + IJBossRuntimeConstants.SPACE;
if( jbs.getUsername() != null && !jbs.getUsername().equals("")) //$NON-NLS-1$
- args += c.SHUTDOWN_USER_ARG + c.SPACE + jbs.getUsername() + c.SPACE;
+ args += IJBossRuntimeConstants.SHUTDOWN_USER_ARG
+ + IJBossRuntimeConstants.SPACE + jbs.getUsername() + IJBossRuntimeConstants.SPACE;
if( jbs.getPassword() != null && !jbs.getPassword().equals("")) //$NON-NLS-1$
- args += c.SHUTDOWN_PASS_ARG + c.SPACE + jbs.getPassword() + c.SPACE;
+ args += IJBossRuntimeConstants.SHUTDOWN_PASS_ARG
+ + IJBossRuntimeConstants.SPACE + jbs.getPassword() + IJBossRuntimeConstants.SPACE;
return args;
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/TwiddleLaunchConfiguration.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/TwiddleLaunchConfiguration.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/TwiddleLaunchConfiguration.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -10,22 +10,36 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.core.server.internal.launch;
+
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.RMIAdaptor;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SHUTDOWN_ADAPTER_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SHUTDOWN_PASS_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SHUTDOWN_SERVER_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SHUTDOWN_USER_ARG;
+import static org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants.SPACE;
+
import java.io.File;
import java.util.ArrayList;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class TwiddleLaunchConfiguration extends AbstractJBossLaunchConfigType {
@@ -40,7 +54,11 @@
}
public static ILaunchConfigurationWorkingCopy createLaunchConfiguration(IServer server, String args) throws CoreException {
- JBossServer jbs = findJBossServer(server.getId());
+ JBossServer jbs = ServerConverter.findJBossServer(server.getId());
+ if (jbs == null) {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
+ NLS.bind(Messages.ServerNotFound, server.getName())));
+ }
IJBossServerRuntime jbrt = findJBossServerRuntime(server);
String serverHome = getServerHome(jbs);
@@ -71,16 +89,28 @@
}
public static String getDefaultArgs(IServer server) throws CoreException {
- IJBossRuntimeConstants c = new IJBossRuntimeConstants() { };
- JBossServer jbs = findJBossServer(server.getId());
- String twiddleArgs = c.SHUTDOWN_SERVER_ARG + c.SPACE + jbs.getHost() + ":" //$NON-NLS-1$
- + jbs.getJNDIPort() + c.SPACE + c.SHUTDOWN_ADAPTER_ARG
- + c.SPACE + c.RMIAdaptor + c.SPACE;
+ JBossServer jbs = ServerConverter.findJBossServer(server.getId());
+ if (jbs == null) {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
+ NLS.bind(Messages.ServerNotFound, server.getName())));
+ }
+ String twiddleArgs = SHUTDOWN_SERVER_ARG
+ + SPACE
+ + jbs.getHost() + ":" + jbs.getJNDIPort() //$NON-NLS-1$
+ + SPACE
+ + SHUTDOWN_ADAPTER_ARG
+ + SPACE
+ + RMIAdaptor
+ + SPACE;
if( jbs.getUsername() != null )
- twiddleArgs += c.SHUTDOWN_USER_ARG + c.SPACE + jbs.getUsername() + c.SPACE;
+ twiddleArgs += SHUTDOWN_USER_ARG
+ + SPACE + jbs.getUsername()
+ + SPACE;
if( jbs.getPassword() != null )
- twiddleArgs += c.SHUTDOWN_PASS_ARG + c.SPACE + jbs.getPassword() + c.SPACE;
+ twiddleArgs += SHUTDOWN_PASS_ARG
+ + SPACE
+ + jbs.getPassword()
+ + SPACE;
return twiddleArgs;
}
-
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,118 @@
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.server.IJBoss7ManagerService;
+import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
+import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerStatePollerType;
+
+public class JBoss7ManagerServicePoller implements IServerStatePoller {
+
+ public static final String POLLER_ID = "org.jboss.ide.eclipse.as.core.server.JBoss7ManagerServicePoller"; //$NON-NLS-1$
+ private IServer server;
+ private ServerStatePollerType type;
+ private boolean expectedState;
+
+ public void beginPolling(IServer server, boolean expectedState, PollThread pollTread) {
+ this.server = server;
+ this.expectedState = expectedState;
+ }
+
+ public ServerStatePollerType getPollerType() {
+ return type;
+ }
+
+ public void setPollerType(ServerStatePollerType type) {
+ this.type = type;
+ }
+
+ public IServer getServer() {
+ return server;
+ }
+
+ public boolean isComplete() throws PollingException, RequiresInfoException {
+ IJBoss7ManagerService service = null;
+ try {
+ service = JBoss7ManagerUtil.getService(server);
+ if (expectedState == SERVER_DOWN) {
+ return awaitShutdown(service);
+ } else {
+ return awaitRunning(service);
+ }
+ } catch (Exception e) {
+ throw new PollingException(e.getMessage());
+ } finally {
+ disposeService(service);
+ }
+ }
+
+ private Boolean awaitRunning(IJBoss7ManagerService service) {
+ try {
+ JBoss7ServerState serverState = null;
+ do {
+ serverState = service.getServerState(getServer().getHost());
+ System.err.println("state = " + serverState); //$NON-NLS-1$
+ } while (serverState == JBoss7ServerState.STARTING);
+ return serverState == JBoss7ServerState.RUNNING;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ private Boolean awaitShutdown(IJBoss7ManagerService service) {
+ try {
+ JBoss7ServerState serverState = null;
+ do {
+ serverState = service.getServerState(getServer().getHost());
+ System.err.println("state = " + serverState); //$NON-NLS-1$
+ } while (serverState == JBoss7ServerState.RUNNING);
+ return false;
+ } catch (JBoss7ManangerConnectException e) {
+ System.err.println("connection closed!"); //$NON-NLS-1$
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+ private void disposeService(IJBoss7ManagerService service) {
+ if (service != null) {
+ service.dispose();
+ }
+ }
+
+ public boolean getState() throws PollingException, RequiresInfoException {
+ IJBoss7ManagerService service = null;
+ try {
+ service = JBoss7ManagerUtil.getService(getServer());
+ JBoss7ServerState serverState = service.getServerState(getServer().getHost());
+ return serverState == JBoss7ServerState.RUNNING
+ || serverState == JBoss7ServerState.RESTART_REQUIRED;
+ } catch (Exception e) {
+ throw new PollingException(e.getMessage());
+ } finally {
+ disposeService(service);
+ }
+ }
+
+ public void cleanup() {
+ }
+
+ public List<String> getRequiredProperties() {
+ return new ArrayList<String>();
+ }
+
+ public void failureHandled(Properties properties) {
+ }
+
+ public void cancel(int type) {
+ }
+
+ public int getTimeoutBehavior() {
+ return TIMEOUT_BEHAVIOR_FAIL;
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServicePoller.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServiceProxy.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServiceProxy.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerServiceProxy.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -47,6 +47,10 @@
return checkedGetService().getServerState(host, port);
}
+ public JBoss7ServerState getServerState(String host) throws Exception {
+ return checkedGetService().getServerState(host);
+ }
+
public void stop(String host, int port) throws Exception {
checkedGetService().stop(host, port);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerUtil.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManagerUtil.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -17,8 +17,6 @@
public class JBoss7ManagerUtil {
- public static final String SERVICE_VERSION_70 = "org.jboss.ide.eclipse.as.management.as7.service"; //$NON-NLS-1$
-
public static IJBoss7ManagerService getService(IServer server) throws Exception {
BundleContext context = JBossServerCorePlugin.getContext();
JBoss7ManagerServiceProxy proxy = new JBoss7ManagerServiceProxy(context, getRequiredVersion(server));
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManangerConnectException.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManangerConnectException.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManangerConnectException.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat Inc..
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat Incorporated - initial API and implementation
+ *******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+/**
+ * @author André Dietisheim
+ */
+public class JBoss7ManangerConnectException extends JBoss7ManangerException {
+
+ private static final long serialVersionUID = 1L;
+
+ public JBoss7ManangerConnectException(Throwable cause) {
+ super(cause);
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ManangerConnectException.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeClasspathUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeClasspathUtil.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeClasspathUtil.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.ide.eclipse.as.core.server.internal.v7;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.jboss.ide.eclipse.as.core.server.internal.launch.AbstractJBossLaunchConfigType;
-import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
-
-public class JBoss7RuntimeClasspathUtil {
-
- public static List<String> getClasspath(IServer server, IVMInstall vmInstall) throws CoreException {
- List<IRuntimeClasspathEntry> classpath = new ArrayList<IRuntimeClasspathEntry>();
- classpath.add(getModulesClasspathEntry(server));
- AbstractJBossLaunchConfigType.addJREEntry(classpath, vmInstall);
- List<String> runtimeClassPaths = AbstractJBossLaunchConfigType.convertClasspath(classpath);
- return runtimeClassPaths;
- }
-
- public static IRuntimeClasspathEntry getModulesClasspathEntry(IServer server) throws CoreException {
- IPath runtimeLocation = server.getRuntime().getLocation();
- IPath modulesLocation = runtimeLocation.append(IJBossRuntimeResourceConstants.JBOSS_MODULES_JAR);
- return JavaRuntime.newArchiveRuntimeClasspathEntry(modulesLocation);
- }
-}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigBuilder.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigBuilder.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigBuilder.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -22,6 +22,7 @@
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.launch.AbstractJBossLaunchConfigType;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.JBoss7RuntimeClasspathUtil;
public class JBoss7RuntimeLaunchConfigBuilder {
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigurator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigurator.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigurator.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,113 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.server.internal.v7;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.internal.launch.AbstractJBossLaunchConfigType;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.JBoss7RuntimeClasspathUtil;
+
+public class JBoss7RuntimeLaunchConfigurator {
+
+ private static final String DEFAULTS_SET = "DEFAULTS_SET"; //$NON-NLS-1$
+ private ILaunchConfigurationWorkingCopy launchConfig;
+
+ public JBoss7RuntimeLaunchConfigurator(ILaunchConfigurationWorkingCopy launchConfig) {
+ this.launchConfig = launchConfig;
+ }
+
+ public void apply(IServer server, IRuntime runtime, IJBossServerRuntime jbossRuntime) throws CoreException {
+ if (!areDefaultsSet()) {
+ setVmContainer(jbossRuntime)
+ .setClassPath(server, jbossRuntime)
+ .setDefaultArguments(jbossRuntime)
+ .setMainType(IJBossRuntimeConstants.START7_MAIN_TYPE)
+ .setWorkingDirectory(runtime)
+ .setServerId(server)
+ .setDefaultsSet();
+ }
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setVmContainer(IJBossServerRuntime jbossRuntime) {
+ IVMInstall vmInstall = jbossRuntime.getVM();
+ if (vmInstall != null) {
+ setVmContainer(JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
+ }
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setVmContainer(String vmPath) {
+ launchConfig.setAttribute(
+ IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, vmPath);
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setDefaultArguments(IJBossServerRuntime jbossRuntime) {
+ launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
+ jbossRuntime.getDefaultRunArgs());
+ launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
+ jbossRuntime.getDefaultRunVMArgs());
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setClassPath(IServer server, IJBossServerRuntime jbossRuntime)
+ throws CoreException {
+ return setClassPath(JBoss7RuntimeClasspathUtil.getClasspath(server, jbossRuntime.getVM()));
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setClassPath(List<String> entries) throws CoreException {
+ launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER,
+ JBoss7ServerBehavior.DEFAULT_CP_PROVIDER_ID);
+ launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, entries);
+ launchConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setMainType(String mainType) {
+ launchConfig.setAttribute(
+ IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainType);
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setWorkingDirectory(IRuntime runtime) {
+ setWorkingDirectory(runtime.getLocation().append(IJBossRuntimeResourceConstants.BIN).toString());
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setWorkingDirectory(String directory) {
+ launchConfig.setAttribute(
+ IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, directory);
+ return this;
+ }
+
+ private JBoss7RuntimeLaunchConfigurator setServerId(IServer server) {
+ launchConfig.setAttribute(AbstractJBossLaunchConfigType.SERVER_ID, server.getId());
+ return this;
+ }
+
+ private boolean areDefaultsSet() throws CoreException {
+ return launchConfig.hasAttribute(DEFAULTS_SET);
+ }
+
+ private void setDefaultsSet() {
+ launchConfig.setAttribute(DEFAULTS_SET, true);
+ }
+}
\ No newline at end of file
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7RuntimeLaunchConfigurator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerBehavior.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
@@ -20,25 +21,37 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IDebugEventSetListener;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.core.model.IProcess;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServer;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.Messages;
+import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
+import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBoss7ManagerService;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
+import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
-import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
+import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
+import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class JBoss7ServerBehavior extends JBossServerBehavior {
+ private IProcess serverProcess;
+ private IJBoss7ManagerService service;
+ private IDebugEventSetListener serverProcessListener;
+ private PollThread pollThread;
+
public static final String DEFAULT_CP_PROVIDER_ID = "org.jboss.ide.eclipse.as.core.server.internal.launch.serverClasspathProvider"; //$NON-NLS-1$
- private IJBoss7ManagerService service;
-
private static HashMap<String, Class> delegateClassMap;
static {
delegateClassMap = new HashMap<String, Class>();
@@ -53,17 +66,6 @@
return delegateClassMap;
}
- public void stop(boolean force) {
- try {
- IJBoss7ManagerService service = getService();
- // TODO: for now only local, implement for remote afterwards
- service.stop("localhost"); //$NON-NLS-1$
- setServerStopped();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
public boolean shouldSuspendScanner() {
return false;
}
@@ -72,19 +74,46 @@
throws CoreException {
IServer server = getServer();
IRuntime runtime = server.getRuntime();
- IJBossServerRuntime serverRuntime =
- (IJBossServerRuntime) runtime.loadAdapter(LocalJBoss7ServerRuntime.class, null);
- new JBoss7RuntimeLaunchConfigBuilder(launchConfig, serverRuntime)
- .setVmContainer()
- .setClassPath(server)
- .setDefaultArguments()
- .setMainType(IJBossRuntimeConstants.START7_MAIN_TYPE)
- .setWorkingDirectory(runtime)
- .setServerId(server);
+ IJBossServerRuntime serverRuntime = (IJBossServerRuntime) runtime.loadAdapter(IJBossServerRuntime.class, null);
+ new JBoss7RuntimeLaunchConfigurator(launchConfig).apply(server, runtime, serverRuntime);
}
+ public void setProcess(IProcess process) {
+ this.serverProcess = process;
+ initDebugListener(process);
+ }
+ protected void pollServer(final boolean expectedState) {
+ if( pollThread != null ) {
+ pollThread.cancel();
+ }
+ IServerStatePoller poller = PollThreadUtils.getPoller(JBoss7ManagerServicePoller.POLLER_ID, expectedState, getServer());
+ this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, this);
+ pollThread.start();
+ }
+
@Override
+ public void serverStarting() {
+ super.serverStarting();
+ pollServer(IServerStatePoller.SERVER_UP);
+ }
+
+ @Override
+ public void serverStopping() {
+ super.serverStopping();
+ pollServer(IServerStatePoller.SERVER_DOWN);
+ }
+
+ private void initDebugListener(IProcess process) {
+ DebugPlugin.getDefault().addDebugEventListener(serverProcessListener = new JBossServerLifecycleListener());
+ }
+
+ private void disposeServerProcessListener() {
+ DebugPlugin.getDefault().removeDebugEventListener(serverProcessListener);
+ serverProcess = null;
+ }
+
+ @Override
protected void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor)
throws CoreException {
if (method == null)
@@ -101,7 +130,7 @@
DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(getServer());
Object o = beh.getPublishData(JBoss7JSTPublisher.MARK_DO_DEPLOY);
if (o != null && (o instanceof ArrayList<?>)) {
- ArrayList<IPath> l = (ArrayList<IPath>) o;
+ List<IPath> l = (List<IPath>) o;
int size = l.size();
monitor.beginTask("Completing Publishes", size + 1); //$NON-NLS-1$
Iterator<IPath> i = l.iterator();
@@ -115,13 +144,45 @@
super.publishFinish(monitor);
}
- private IJBoss7ManagerService getService() throws Exception {
+ protected IJBoss7ManagerService getService() throws Exception {
if (service == null) {
service = JBoss7ManagerUtil.getService(getServer());
}
return service;
}
+ private boolean isServerRunning(String host) throws Exception {
+ try {
+ return getService().getServerState(host) == JBoss7ServerState.RUNNING;
+ } catch (JBoss7ManangerConnectException e) {
+ return false;
+ }
+ }
+
+ public void stop(boolean force) {
+
+ try {
+ if (force) {
+ serverProcess.terminate();
+ } else {
+ serverStopping();
+ // TODO: for now only local, implement for remote afterwards
+ if (isServerRunning(getServer().getHost())) {
+ // The service and Poller will make sure the server is down
+ getService().stop(getServer().getHost());
+ return;
+ } else {
+ if( serverProcess != null && !serverProcess.isTerminated()) {
+ serverProcess.terminate();
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ setServerStopped();
+ }
+
@Override
public void dispose() {
super.dispose();
@@ -129,4 +190,31 @@
service.dispose();
}
}
+
+ @Override
+ public void setServerStopped() {
+ disposeServerProcessListener();
+ logServerStopped();
+ super.setServerStopped();
+ }
+
+ private void logServerStopped() {
+ IStatus status = new Status(IStatus.INFO,
+ JBossServerCorePlugin.PLUGIN_ID, IEventCodes.BEHAVIOR_PROCESS_TERMINATED,
+ Messages.TERMINATED, null);
+ ServerLogger.getDefault().log(getServer(), status);
+ }
+
+ private class JBossServerLifecycleListener implements IDebugEventSetListener {
+
+ public void handleDebugEvents(DebugEvent[] events) {
+ for (DebugEvent event : events) {
+ if (serverProcess != null && serverProcess.equals(event.getSource())
+ && event.getKind() == DebugEvent.TERMINATE) {
+ setServerStopped();
+ break;
+ }
+ }
+ }
+ }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/JBoss7ServerStartupLaunchConfiguration.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -15,9 +15,10 @@
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
+import org.eclipse.debug.core.model.IProcess;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
import org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
-import org.jboss.ide.eclipse.as.core.server.internal.launch.LocalJBossServerStartupLaunchUtil;
+import org.jboss.ide.eclipse.as.core.util.JBossServerBehaviorUtils;
/**
* @author Rob Stryker
@@ -29,22 +30,15 @@
return new String[] {};
}
- public void actualLaunch(ILaunchConfiguration configuration,
- String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
- super.actualLaunch(configuration, mode, launch, monitor);
- }
-
public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor)
throws CoreException {
- // return super.preLaunchCheck(configuration, mode, monitor);
return true;
}
- public void preLaunch(ILaunchConfiguration configuration,
- String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
- // super.preLaunch(configuration, mode, launch, monitor);
+ public void preLaunch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
+ throws CoreException {
try {
- JBossServerBehavior jbsBehavior = LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
+ JBossServerBehavior jbsBehavior = JBossServerBehaviorUtils.getServerBehavior(configuration);
jbsBehavior.setRunMode(mode);
jbsBehavior.serverStarting();
} catch (CoreException ce) {
@@ -52,13 +46,16 @@
}
}
- public void postLaunch(ILaunchConfiguration configuration, String mode,
- ILaunch launch, IProgressMonitor monitor) throws CoreException {
- // super.postLaunch(configuration, mode, launch, monitor);
+ public void postLaunch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
+ throws CoreException {
try {
- JBossServerBehavior jbsBehavior = LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
- jbsBehavior.setRunMode(mode);
- jbsBehavior.setServerStarted();
+ JBoss7ServerBehavior behavior = JBossServerBehaviorUtils.getJBoss7ServerBehavior(configuration);
+ IProcess[] processes = launch.getProcesses();
+ if (processes != null && processes.length >= 1) {
+ behavior.setProcess(processes[0]);
+ }
+ behavior.setRunMode(mode);
+ behavior.setServerStarted();
} catch (CoreException ce) {
// report it
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -31,9 +31,9 @@
@Override
public String getDefaultRunArgs() {
IPath loc = getRuntime().getLocation();
- return "-mp " //$NON-NLS-1$
+ return "-mp \"" //$NON-NLS-1$
+ loc.append("modules").toString() //$NON-NLS-1$
- + " -logmodule org.jboss.logmanager -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone"; //$NON-NLS-1$
+ + "\" -logmodule org.jboss.logmanager -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone"; //$NON-NLS-1$
}
@Override
@@ -44,8 +44,8 @@
return "-server -Xms64m -Xmx512m -XX:MaxPermSize=256m " //$NON-NLS-1$
+ "-Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 " //$NON-NLS-1$
+ "-Dsun.rmi.dgc.server.gcInterval=3600000 " //$NON-NLS-1$
- + "-Dorg.jboss.boot.log.file=" + bootLog.toString() //$NON-NLS-1$
- + " -Dlogging.configuration=file:" + logConfig.toString() //$NON-NLS-1$
- + " -Djboss.home.dir=" + loc.toString(); //$NON-NLS-1$"
+ + "\"-Dorg.jboss.boot.log.file=" + bootLog.toString() //$NON-NLS-1$
+ + "\" \"-Dlogging.configuration=file:" + logConfig.toString() //$NON-NLS-1$
+ + "\" \"-Djboss.home.dir=" + loc.toString() + "\""; //$NON-NLS-1$ //$NON-NLS-2$"
}
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBoss7RuntimeClasspathUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBoss7RuntimeClasspathUtil.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBoss7RuntimeClasspathUtil.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.server.internal.launch.AbstractJBossLaunchConfigType;
+
+public class JBoss7RuntimeClasspathUtil {
+
+ public static List<String> getClasspath(IServer server, IVMInstall vmInstall) throws CoreException {
+ List<IRuntimeClasspathEntry> classpath = new ArrayList<IRuntimeClasspathEntry>();
+ classpath.add(getModulesClasspathEntry(server));
+ AbstractJBossLaunchConfigType.addJREEntry(classpath, vmInstall);
+ List<String> runtimeClassPaths = AbstractJBossLaunchConfigType.convertClasspath(classpath);
+ return runtimeClassPaths;
+ }
+
+ public static IRuntimeClasspathEntry getModulesClasspathEntry(IServer server) throws CoreException {
+ IPath runtimeLocation = server.getRuntime().getLocation();
+ IPath modulesLocation = runtimeLocation.append(IJBossRuntimeResourceConstants.JBOSS_MODULES_JAR);
+ return JavaRuntime.newArchiveRuntimeClasspathEntry(modulesLocation);
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBoss7RuntimeClasspathUtil.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBossServerBehaviorUtils.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBossServerBehaviorUtils.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBossServerBehaviorUtils.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,21 @@
+package org.jboss.ide.eclipse.as.core.util;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
+import org.jboss.ide.eclipse.as.core.server.internal.v7.JBoss7ServerBehavior;
+
+public class JBossServerBehaviorUtils {
+
+ public static JBossServerBehavior getServerBehavior(ILaunchConfiguration configuration) throws CoreException {
+ IServer server = ServerUtil.getServer(configuration);
+ return (JBossServerBehavior) server.getAdapter(JBossServerBehavior.class);
+ }
+
+ public static JBoss7ServerBehavior getJBoss7ServerBehavior(ILaunchConfiguration configuration) throws CoreException {
+ IServer server = ServerUtil.getServer(configuration);
+ return (JBoss7ServerBehavior) server.getAdapter(JBoss7ServerBehavior.class);
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JBossServerBehaviorUtils.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,38 @@
+package org.jboss.ide.eclipse.as.core.util;
+
+import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
+import org.jboss.ide.eclipse.as.core.server.internal.ServerStatePollerType;
+
+public class PollThreadUtils {
+
+ public static String getPollerId(boolean expectedState, IServer server) {
+ JBossServer s = ServerConverter.getJBossServer(server);
+ ServerAttributeHelper helper = s.getAttributeHelper();
+ String key = expectedState == IServerStatePoller.SERVER_UP ?
+ IJBossToolingConstants.STARTUP_POLLER_KEY
+ : IJBossToolingConstants.SHUTDOWN_POLLER_KEY;
+ String defaultPoller = expectedState == IServerStatePoller.SERVER_UP ?
+ IJBossToolingConstants.DEFAULT_STARTUP_POLLER
+ : IJBossToolingConstants.DEFAULT_SHUTDOWN_POLLER;
+ String pollerId = helper.getAttribute(key, defaultPoller);
+ return pollerId;
+ }
+
+ public static IServerStatePoller getPoller(boolean expectedState, IServer server) {
+ return getPoller(getPollerId(expectedState, server), expectedState, server);
+ }
+
+ public static IServerStatePoller getPoller(String pollerId, boolean expectedState, IServer server) {
+ ServerStatePollerType type = ExtensionManager.getDefault().getPollerType(pollerId);
+ if (type != null) {
+ IServerStatePoller tempPoller = type.createPoller();
+ tempPoller.setPollerType(type);
+ return tempPoller;
+ }
+ return null;
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/PollThreadUtils.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -12,6 +12,7 @@
import java.util.ArrayList;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServer;
@@ -28,6 +29,17 @@
* @author rob.stryker(a)jboss.com
*/
public class ServerConverter {
+
+ public static JBossServer findJBossServer(String serverId) throws CoreException {
+ if (serverId == null)
+ return null;
+
+ IServer s = ServerCore.findServer(serverId);
+ if (s == null)
+ return null;
+ return ServerConverter.getJBossServer(s);
+ }
+
public static JBossServer getJBossServer(IServer server) {
JBossServer jbServer = (JBossServer)server.getAdapter(JBossServer.class);
if (jbServer == null) {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/JBoss7ManagerService.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/JBoss7ManagerService.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.management.as7/src/org/jboss/ide/eclipse/as/management/as7/deployment/JBoss7ManagerService.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -57,6 +57,10 @@
return manager.getServerState();
}
+ public JBoss7ServerState getServerState(String host) throws Exception {
+ return new AS7Manager(host).getServerState();
+ }
+
public void stop(String host) throws Exception {
new AS7Manager(host).stopServer();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -16,6 +16,7 @@
import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
+import org.jboss.ide.eclipse.as.core.util.PollThreadUtils;
public class RSEBehaviourDelegate extends AbstractJBossBehaviourDelegate {
private PollThread pollThread = null;
@@ -45,7 +46,8 @@
if( this.pollThread != null ) {
pollThread.cancel();
}
- this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, getActualBehavior());
+ IServerStatePoller poller = PollThreadUtils.getPoller(expectedState, getServer());
+ this.pollThread = new PollThread(Messages.ServerPollerThreadName, expectedState, poller, getActualBehavior());
pollThread.start();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSELaunchDelegate.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -22,6 +22,7 @@
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
import org.eclipse.rse.services.shells.IHostOutput;
@@ -29,6 +30,8 @@
import org.eclipse.rse.services.shells.IHostShellChangeEvent;
import org.eclipse.rse.services.shells.IHostShellOutputListener;
import org.eclipse.wst.server.core.IServer;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.Messages;
import org.jboss.ide.eclipse.as.core.extensions.events.ServerLogger;
import org.jboss.ide.eclipse.as.core.extensions.polling.WebPortPoller;
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
@@ -43,6 +46,7 @@
import org.jboss.ide.eclipse.as.core.util.ArgsUtil;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.JBossServerBehaviorUtils;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.rse.core.RSEHostShellModel.ServerShellModel;
@@ -58,7 +62,7 @@
JBossServerStartupLaunchConfiguration launchConfig,
ILaunchConfiguration configuration, String mode, ILaunch launch,
IProgressMonitor monitor) throws CoreException {
- JBossServerBehavior beh = LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
+ JBossServerBehavior beh = JBossServerBehaviorUtils.getServerBehavior(configuration);
beh.setServerStarting();
String command = configuration.getAttribute(RSE_STARTUP_COMMAND, (String)null);
try {
@@ -128,8 +132,8 @@
public boolean preLaunchCheck(ILaunchConfiguration configuration,
String mode, IProgressMonitor monitor) throws CoreException {
// ping if up
- final JBossServerBehavior beh = LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
- boolean started = new WebPortPoller().onePing(beh.getServer());
+ final JBossServerBehavior beh = JBossServerBehaviorUtils.getServerBehavior(configuration);
+ boolean started = WebPortPoller.onePing(beh.getServer());
if( started ) {
beh.setServerStarting();
beh.setServerStarted();
@@ -205,7 +209,11 @@
public static IServer findServer(ILaunchConfiguration config) throws CoreException {
String serverId = config.getAttribute("server-id", (String)null);
- JBossServer jbs = AbstractJBossLaunchConfigType.findJBossServer(serverId);
+ JBossServer jbs = ServerConverter.findJBossServer(serverId);
+ if (jbs == null) {
+ throw new CoreException(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID,
+ NLS.bind(Messages.ServerNotFound, serverId)));
+ }
return jbs.getServer();
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEUtils.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -27,6 +27,7 @@
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
@@ -74,11 +75,19 @@
type = JBossServer.DEPLOY_SERVER;
}
if( type.equals(JBossServer.DEPLOY_SERVER)) {
- String loc = IConstants.SERVER;
- String config = getRSEConfigName(server);
- IPath p = new Path(loc).append(config)
- .append(IJBossServerConstants.DEPLOY);
- return makeGlobal(server, p).toString();
+ // TODO !!!! Need API (nmaybe in JBossServer?) so servers can override this behavior
+ // Cannot move this code to JBossServer because this requires an RSE-specific key!! Damn!
+
+ if( server.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70)) {
+ IPath p = new Path("standalone/deployments/");
+ return makeGlobal(server, p).toString();
+ } else {
+ String loc = IConstants.SERVER;
+ String config = getRSEConfigName(server);
+ IPath p = new Path(loc).append(config)
+ .append(IJBossServerConstants.DEPLOY);
+ return makeGlobal(server, p).toString();
+ }
}
return null;
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.ui.internal.command.ServerCommand;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.Messages;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+
+public class DeployOnlyRSEPrefComposite extends
+ RSEDeploymentPreferenceComposite {
+ public DeployOnlyRSEPrefComposite(Composite parent, int style, IServerModeUICallback callback) {
+ super(parent, style, callback);
+ }
+
+ protected void createRSEWidgets(Composite child) {
+ handleDeployOnlyServer(child);
+ }
+
+ private Text deployText, tempDeployText;
+ private Button deployButton, tempDeployButton;
+ private ModifyListener deployListener, tempDeployListener;
+
+
+ private void handleDeployOnlyServer(Composite composite) {
+ Label label = new Label(this, SWT.NONE);
+ label.setText(Messages.swf_DeployDirectory);
+ deployText = new Text(this, SWT.BORDER);
+ deployText.setText(getServer().getDeployFolder());
+ deployListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ callback.execute(new SetDeployDirCommand());
+ }
+ };
+ deployText.addModifyListener(deployListener);
+
+ deployButton = new Button(this, SWT.PUSH);
+ deployButton.setText(Messages.browse);
+ label.setLayoutData(UIUtil.createFormData2(composite, 7, null, 0, 0, 10, null, 0));
+ deployButton.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, null, 0, 100, -5));
+ deployText.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, label, 5, deployButton, -5));
+
+ deployButton.addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void widgetSelected(SelectionEvent e) {
+ }
+ });
+
+ Label tempDeployLabel = new Label(this, SWT.NONE);
+ tempDeployLabel.setText(Messages.swf_TempDeployDirectory);
+ tempDeployText = new Text(this, SWT.BORDER);
+ tempDeployText.setText(getServer().getTempDeployFolder());
+ tempDeployListener = new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ callback.execute(new SetTempDeployDirCommand());
+ }
+ };
+ tempDeployText.addModifyListener(tempDeployListener);
+
+ tempDeployButton = new Button(this, SWT.PUSH);
+ tempDeployButton.setText(Messages.browse);
+
+ tempDeployLabel.setLayoutData(UIUtil.createFormData2(deployText, 7, null, 0, 0, 10, null, 0));
+ tempDeployButton.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, null, 0, 100, -5));
+ tempDeployText.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, tempDeployLabel, 5, deployButton, -5));
+
+ tempDeployButton.addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void widgetSelected(SelectionEvent e) {
+ }
+ });
+ }
+
+ private void updateDeployOnlyWidgets() {
+ String newDir = callback.getServer().getAttribute(IDeployableServer.DEPLOY_DIRECTORY, "");
+ String newTemp = callback.getServer().getAttribute(IDeployableServer.TEMP_DEPLOY_DIRECTORY, "");
+ deployText.removeModifyListener(deployListener);
+ deployText.setText(newDir);
+ deployText.addModifyListener(deployListener);
+ tempDeployText.removeModifyListener(tempDeployListener);
+ tempDeployText.setText(newTemp);
+ tempDeployText.addModifyListener(tempDeployListener);
+ }
+ public class SetDeployDirCommand extends ServerCommand {
+ private String oldDir;
+ private String newDir;
+ private Text text;
+ private ModifyListener listener;
+
+ public SetDeployDirCommand() {
+ super(callback.getServer(), Messages.EditorSetDeployLabel);
+ this.text = deployText;
+ this.newDir = deployText.getText();
+ this.listener = deployListener;
+ this.oldDir = callback.getServer().getAttribute(
+ IDeployableServer.DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
+ }
+
+ public void execute() {
+ callback.getServer().setAttribute(
+ IDeployableServer.DEPLOY_DIRECTORY, newDir);
+ updateDeployOnlyWidgets();
+ }
+
+ public void undo() {
+ callback.getServer().setAttribute(
+ IDeployableServer.DEPLOY_DIRECTORY, oldDir);
+ updateDeployOnlyWidgets();
+ }
+ }
+
+ public class SetTempDeployDirCommand extends ServerCommand {
+ private String oldDir;
+ private String newDir;
+ private Text text;
+ private ModifyListener listener;
+
+ public SetTempDeployDirCommand() {
+ super(callback.getServer(), Messages.EditorSetTempDeployLabel);
+ text = tempDeployText;
+ newDir = tempDeployText.getText();
+ listener = tempDeployListener;
+ oldDir = callback.getServer().getAttribute(
+ IDeployableServer.TEMP_DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
+ }
+
+ public void execute() {
+ callback.getServer().setAttribute(
+ IDeployableServer.TEMP_DEPLOY_DIRECTORY, newDir);
+ }
+
+ public void undo() {
+ callback.getServer().setAttribute(
+ IDeployableServer.TEMP_DEPLOY_DIRECTORY, oldDir);
+ }
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/DeployOnlyRSEPrefComposite.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+import org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite.ChangeServerPropertyCommand;
+
+public class JBoss7RSEDeploymentPrefComposite extends
+ RSEDeploymentPreferenceComposite {
+
+ private Text rseServerHome;
+ private Button rseBrowse;
+
+ public JBoss7RSEDeploymentPrefComposite(Composite parent, int style,
+ IServerModeUICallback callback) {
+ super(parent, style, callback);
+ }
+
+ protected void createRSEWidgets(Composite child) {
+ Label serverHomeLabel = new Label(this, SWT.NONE);
+ serverHomeLabel.setText("Remote Server Home: ");
+ rseBrowse = new Button(this, SWT.NONE);
+ rseBrowse.setText("Browse...");
+ rseBrowse.setLayoutData(UIUtil.createFormData2(child, 5, null,
+ 0, null, 0, 100, -5));
+ rseBrowse.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ browseClicked2();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ browseClicked2();
+ }
+ });
+ rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
+ serverHomeLabel.setLayoutData(UIUtil.createFormData2(child, 7,
+ null, 0, 0, 10, null, 0));
+ rseServerHome.setLayoutData(UIUtil.createFormData2(child, 5,
+ null, 0, serverHomeLabel, 5, rseBrowse, -5));
+ rseServerHome.setText(callback.getServer().getAttribute(
+ RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
+ rseServerHome.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ serverHomeChanged();
+ }
+ });
+ }
+ protected void serverHomeChanged() {
+ if( !isUpdatingFromModelChange()) {
+ String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ?
+ callback.getRuntime().getLocation().toString() : "" : "";
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
+ safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
+ }
+ }
+ protected void browseClicked2() {
+ String browseVal = browseClicked3(rseServerHome.getShell());
+ if (browseVal != null) {
+ rseServerHome.setText(browseVal);
+ serverHomeChanged();
+ }
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBoss7RSEDeploymentPrefComposite.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,250 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.rse.ui;
+
+import java.beans.PropertyChangeEvent;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
+import org.eclipse.rse.services.files.IFileService;
+import org.eclipse.rse.services.files.IHostFile;
+import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.progress.IProgressService;
+import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
+import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
+import org.jboss.ide.eclipse.as.rse.ui.RSEDeploymentPreferenceUI.RSEDeploymentPreferenceComposite;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+import org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite.ChangeServerPropertyCommand;
+
+public class JBossRSEDeploymentPrefComposite extends
+ RSEDeploymentPreferenceComposite {
+
+ private Text rseServerHome,rseServerConfig;
+ private Button rseBrowse, rseTest;
+
+ public JBossRSEDeploymentPrefComposite(Composite parent, int style, IServerModeUICallback callback) {
+ super(parent, style, callback);
+ }
+
+ protected void createRSEWidgets(Composite child) {
+ handleJBossServer(child);
+ }
+
+ private void handleJBossServer(Composite composite) {
+ Label serverHomeLabel = new Label(this, SWT.NONE);
+ serverHomeLabel.setText("Remote Server Home: ");
+ rseBrowse = new Button(this, SWT.NONE);
+ rseBrowse.setText("Browse...");
+ rseBrowse.setLayoutData(UIUtil.createFormData2(composite, 5, null,
+ 0, null, 0, 100, -5));
+ rseBrowse.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ browseClicked2();
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ browseClicked2();
+ }
+ });
+ rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
+ serverHomeLabel.setLayoutData(UIUtil.createFormData2(composite, 7,
+ null, 0, 0, 10, null, 0));
+ rseServerHome.setLayoutData(UIUtil.createFormData2(composite, 5,
+ null, 0, serverHomeLabel, 5, rseBrowse, -5));
+ rseServerHome.setText(callback.getServer().getAttribute(
+ RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
+ rseServerHome.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ serverHomeChanged();
+ }
+ });
+
+ Label serverConfigLabel = new Label(this, SWT.NONE);
+ serverConfigLabel.setText(RSEUIMessages.REMOTE_SERVER_CONFIG);
+ rseServerConfig = new Text(this, SWT.SINGLE | SWT.BORDER);
+ serverConfigLabel.setLayoutData(UIUtil.createFormData2(
+ rseServerHome, 7, null, 0, 0, 10, null, 0));
+ rseServerConfig.setText(callback.getServer().getAttribute(
+ RSEUtils.RSE_SERVER_CONFIG,
+ getRuntime() == null ? "" : getRuntime()
+ .getJBossConfiguration()));
+ rseServerConfig.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ serverConfigChanged();
+ }
+ });
+ callback.getServer().addPropertyChangeListener(this);
+
+ rseTest = new Button(this, SWT.NONE);
+ rseTest.setText(RSEUIMessages.TEST);
+ rseTest.setLayoutData(UIUtil.createFormData2(rseServerHome, 5,
+ null, 0, null, 0, 100, -5));
+ rseServerConfig.setLayoutData(UIUtil.createFormData2(rseServerHome,
+ 5, null, 0, serverConfigLabel, 5, rseTest, -5));
+ rseTest.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ testPressed();
+ }
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ });
+ }
+
+ private void testPressed(){
+ rseTest.setEnabled(false);
+ IWorkbench wb = PlatformUI.getWorkbench();
+ IProgressService ps = wb.getProgressService();
+ final IStatus[] s = new IStatus[1];
+ Throwable e = null;
+ final String home = rseServerHome.getText();
+ final String config = rseServerConfig.getText();
+ try {
+ ps.busyCursorWhile(new IRunnableWithProgress() {
+ public void run(IProgressMonitor pm) {
+ s[0] = testPressed(home, config, pm);
+ }
+ });
+ } catch(InvocationTargetException ite) {
+ e = ite;
+ } catch(InterruptedException ie) {
+ e = ie;
+ }
+ if( s[0] == null && e != null ) {
+ s[0] = new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, e.getMessage(), e);
+ }
+ rseTest.setEnabled(true);
+ IStatus s2 = s[0];
+ if( s2.isOK() )
+ s2 = new Status(IStatus.INFO, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID,
+ RSEUIMessages.REMOTE_SERVER_TEST_SUCCESS);
+ showMessageDialog(RSEUIMessages.REMOTE_SERVER_TEST, s2, rseServerHome.getShell());
+ }
+
+ private IStatus testPressed(String home, String config, IProgressMonitor pm) {
+ pm.beginTask(RSEUIMessages.VALIDATING_REMOTE_CONFIG, 1200);
+ IHost host = combo.getHost();
+ if( host == null ) {
+ pm.done();
+ return getTestFailStatus(RSEUIMessages.EMPTY_HOST);
+ }
+ pm.worked(100);
+
+ IFileServiceSubSystem fileSubSystem = RSEPublishMethod.findFileTransferSubSystem(host);
+ if( fileSubSystem == null ) {
+ pm.done();
+ return getTestFailStatus(NLS.bind(RSEUIMessages.FILE_SUBSYSTEM_NOT_FOUND, host.getName()));
+ }
+ pm.worked(100);
+
+ if(!fileSubSystem.isConnected()) {
+ try {
+ fileSubSystem.connect(new NullProgressMonitor(), false);
+ } catch (Exception e) {
+ pm.done();
+ return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_FILESYSTEM_CONNECT_FAILED, e.getLocalizedMessage()));
+ }
+ }
+ pm.worked(300);
+
+ IFileService service = fileSubSystem.getFileService();
+ if( service == null ) {
+ pm.done();
+ return getTestFailStatus(NLS.bind(RSEUIMessages.FILESERVICE_NOT_FOUND, host.getName()));
+ }
+ pm.worked(100);
+
+ String root = home;
+ IPath root2 = new Path(root);
+ try {
+ IHostFile file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
+ if( file == null || !file.exists()) {
+ pm.done();
+ return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_HOME_NOT_FOUND,
+ new Object[]{root2, service.getName(), host.getName()}));
+
+ }
+ pm.worked(300);
+
+ root2 = root2.append(IConstants.SERVER).append(config);
+ file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
+ if( file == null || !file.exists()) {
+ pm.done();
+ return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_CONFIG_NOT_FOUND, root2));
+ }
+ pm.worked(300);
+ } catch(SystemMessageException sme) {
+ pm.done();
+ return getTestFailStatus(RSEUIMessages.ERROR_CHECKING_REMOTE_SYSTEM + sme.getLocalizedMessage());
+ }
+ pm.done();
+ return Status.OK_STATUS;
+ }
+
+ private IStatus getTestFailStatus(String string) {
+ return new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, string);
+ }
+
+ protected void browseClicked2() {
+ String browseVal = browseClicked3(rseServerHome.getShell());
+ if (browseVal != null) {
+ rseServerHome.setText(browseVal);
+ serverHomeChanged();
+ }
+ }
+ protected void propertyChangeBody(PropertyChangeEvent evt) {
+ super.propertyChangeBody(evt);
+ if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOME_DIR)) {
+ updateTextIfChanges(rseServerHome, evt.getNewValue().toString());
+ } else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_CONFIG)) {
+ updateTextIfChanges(rseServerConfig, evt.getNewValue().toString());
+ }
+ }
+ protected void serverConfigChanged() {
+ if( !isUpdatingFromModelChange() ) {
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(),
+ getRuntime() == null ? "" : getRuntime().getJBossConfiguration(),
+ RSEUIMessages.CHANGE_REMOTE_SERVER_CONFIG));
+ }
+ }
+ protected void serverHomeChanged() {
+ if( !isUpdatingFromModelChange()) {
+ String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ?
+ callback.getRuntime().getLocation().toString() : "" : "";
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
+ safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
+ }
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/JBossRSEDeploymentPrefComposite.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPageCallback.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.ide.eclipse.as.rse.ui;
import java.beans.PropertyChangeEvent;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -12,28 +12,17 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.events.ISystemModelChangeEvent;
import org.eclipse.rse.core.events.ISystemModelChangeListener;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.files.ui.dialogs.SystemRemoteFileDialog;
-import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
-import org.eclipse.rse.services.files.IFileService;
-import org.eclipse.rse.services.files.IHostFile;
-import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
import org.eclipse.rse.ui.wizards.newconnection.RSEMainNewConnectionWizard;
import org.eclipse.swt.SWT;
@@ -50,22 +39,16 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.ui.internal.command.ServerCommand;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
-import org.jboss.ide.eclipse.as.core.util.IConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.rse.core.RSEPublishMethod;
import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
-import org.jboss.ide.eclipse.as.ui.Messages;
import org.jboss.ide.eclipse.as.ui.UIUtil;
import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI;
import org.jboss.ide.eclipse.as.ui.editor.ServerModeSection;
@@ -84,15 +67,28 @@
@Override
public void fillComposite(Composite parent, IServerModeUICallback callback) {
parent.setLayout(new FillLayout());
- new RSEDeploymentPreferenceComposite(parent, SWT.NONE, callback);
+ RSEDeploymentPreferenceComposite composite = null;
+
+ IServerWorkingCopy cServer = callback.getServer();
+ JBossServer jbs = cServer.getOriginal() == null ?
+ ServerConverter.getJBossServer(cServer) :
+ ServerConverter.getJBossServer(cServer.getOriginal());
+ if( jbs != null && !cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ) {
+ composite = new JBossRSEDeploymentPrefComposite(parent, SWT.NONE, callback);
+ } else if( cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ){
+ composite = new JBoss7RSEDeploymentPrefComposite(parent, SWT.NONE, callback);
+ // TODO add for jboss 7
+ } else {
+ composite = new DeployOnlyRSEPrefComposite(parent, SWT.NONE, callback);
+ }
+ //return composite;
}
- public static class RSEDeploymentPreferenceComposite extends Composite implements PropertyChangeListener {
- private IServerModeUICallback callback;
- private CustomSystemHostCombo combo;
- private Text rseServerHome,rseServerConfig;
- private Button rseBrowse, rseTest;
- private ModifyListener comboMListener;
+ public static abstract class RSEDeploymentPreferenceComposite extends Composite implements PropertyChangeListener {
+ protected IServerModeUICallback callback;
+ protected CustomSystemHostCombo combo;
+ protected ModifyListener comboMListener;
+ private boolean updatingFromModelChange = false;
public RSEDeploymentPreferenceComposite(Composite parent, int style, IServerModeUICallback callback) {
super(parent, style);
this.callback = callback;
@@ -109,250 +105,44 @@
};
combo.getCombo().addModifyListener(comboMListener);
- IServerWorkingCopy cServer = callback.getServer();
- JBossServer jbs = cServer.getOriginal() == null ?
- ServerConverter.getJBossServer(cServer) :
- ServerConverter.getJBossServer(cServer.getOriginal());
- if( jbs != null && !cServer.getServerType().getId().equals(IJBossToolingConstants.SERVER_AS_70) ) {
- handleJBossServer(child);
- } else {
- handleDeployOnlyServer(child);
- }
+ createRSEWidgets(child);
}
- private IDeployableServer getServer() {
+
+ protected abstract void createRSEWidgets(Composite child);
+
+ protected IDeployableServer getServer() {
return (IDeployableServer) callback.getServer().loadAdapter(
IDeployableServer.class, new NullProgressMonitor());
}
- private Text deployText, tempDeployText;
- private Button deployButton, tempDeployButton;
- private ModifyListener deployListener, tempDeployListener;
-
- private void handleJBossServer(Composite composite) {
- Label serverHomeLabel = new Label(this, SWT.NONE);
- serverHomeLabel.setText("Remote Server Home: ");
- rseBrowse = new Button(this, SWT.NONE);
- rseBrowse.setText("Browse...");
- rseBrowse.setLayoutData(UIUtil.createFormData2(composite, 5, null,
- 0, null, 0, 100, -5));
- rseBrowse.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- browseClicked2();
+ protected String browseClicked3(Shell shell) {
+ SystemRemoteFileDialog d = new SystemRemoteFileDialog(
+ shell, RSEUIMessages.BROWSE_REMOTE_SYSTEM, combo.getHost());
+ if( d.open() == Dialog.OK) {
+ Object o = d.getOutputObject();
+ if( o instanceof IRemoteFile ) {
+ String path = ((IRemoteFile)o).getAbsolutePath();
+ return path;
}
-
- public void widgetDefaultSelected(SelectionEvent e) {
- browseClicked2();
- }
- });
- rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
- serverHomeLabel.setLayoutData(UIUtil.createFormData2(composite, 7,
- null, 0, 0, 10, null, 0));
- rseServerHome.setLayoutData(UIUtil.createFormData2(composite, 5,
- null, 0, serverHomeLabel, 5, rseBrowse, -5));
- rseServerHome.setText(callback.getServer().getAttribute(
- RSEUtils.RSE_SERVER_HOME_DIR, RSEUIMessages.UNSET_REMOTE_SERVER_HOME));
- rseServerHome.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- serverHomeChanged();
- }
- });
-
- Label serverConfigLabel = new Label(this, SWT.NONE);
- serverConfigLabel.setText(RSEUIMessages.REMOTE_SERVER_CONFIG);
- rseServerConfig = new Text(this, SWT.SINGLE | SWT.BORDER);
- serverConfigLabel.setLayoutData(UIUtil.createFormData2(
- rseServerHome, 7, null, 0, 0, 10, null, 0));
- rseServerConfig.setText(callback.getServer().getAttribute(
- RSEUtils.RSE_SERVER_CONFIG,
- getRuntime() == null ? "" : getRuntime()
- .getJBossConfiguration()));
- rseServerConfig.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- serverConfigChanged();
- }
- });
- callback.getServer().addPropertyChangeListener(this);
-
- rseTest = new Button(this, SWT.NONE);
- rseTest.setText(RSEUIMessages.TEST);
- rseTest.setLayoutData(UIUtil.createFormData2(rseServerHome, 5,
- null, 0, null, 0, 100, -5));
- rseServerConfig.setLayoutData(UIUtil.createFormData2(rseServerHome,
- 5, null, 0, serverConfigLabel, 5, rseTest, -5));
- rseTest.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- testPressed();
- }
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
+ }
+ return null;
}
-
-
-
- private void handleDeployOnlyServer(Composite composite) {
- Label label = new Label(this, SWT.NONE);
- label.setText(Messages.swf_DeployDirectory);
- deployText = new Text(this, SWT.BORDER);
- deployText.setText(getServer().getDeployFolder());
- deployListener = new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- callback.execute(new SetDeployDirCommand());
- }
- };
- deployText.addModifyListener(deployListener);
-
- deployButton = new Button(this, SWT.PUSH);
- deployButton.setText(Messages.browse);
- label.setLayoutData(UIUtil.createFormData2(composite, 7, null, 0, 0, 10, null, 0));
- deployButton.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, null, 0, 100, -5));
- deployText.setLayoutData(UIUtil.createFormData2(composite, 5, null, 0, label, 5, deployButton, -5));
-
- deployButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- public void widgetSelected(SelectionEvent e) {
- }
- });
-
- Label tempDeployLabel = new Label(this, SWT.NONE);
- tempDeployLabel.setText(Messages.swf_TempDeployDirectory);
- tempDeployText = new Text(this, SWT.BORDER);
- tempDeployText.setText(getServer().getTempDeployFolder());
- tempDeployListener = new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- callback.execute(new SetTempDeployDirCommand());
- }
- };
- tempDeployText.addModifyListener(tempDeployListener);
-
- tempDeployButton = new Button(this, SWT.PUSH);
- tempDeployButton.setText(Messages.browse);
-
- tempDeployLabel.setLayoutData(UIUtil.createFormData2(deployText, 7, null, 0, 0, 10, null, 0));
- tempDeployButton.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, null, 0, 100, -5));
- tempDeployText.setLayoutData(UIUtil.createFormData2(deployText, 5, null, 0, tempDeployLabel, 5, deployButton, -5));
-
- tempDeployButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
-
- public void widgetSelected(SelectionEvent e) {
- }
- });
- }
- private void updateDeployOnlyWidgets() {
- String newDir = callback.getServer().getAttribute(IDeployableServer.DEPLOY_DIRECTORY, "");
- String newTemp = callback.getServer().getAttribute(IDeployableServer.TEMP_DEPLOY_DIRECTORY, "");
- deployText.removeModifyListener(deployListener);
- deployText.setText(newDir);
- deployText.addModifyListener(deployListener);
- tempDeployText.removeModifyListener(tempDeployListener);
- tempDeployText.setText(newTemp);
- tempDeployText.addModifyListener(tempDeployListener);
+ protected IJBossServerRuntime getRuntime() {
+ IRuntime rt = callback.getRuntime();
+ if( rt == null ) return null;
+ return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
}
+
- private void testPressed(){
- rseTest.setEnabled(false);
- IWorkbench wb = PlatformUI.getWorkbench();
- IProgressService ps = wb.getProgressService();
- final IStatus[] s = new IStatus[1];
- Throwable e = null;
- final String home = rseServerHome.getText();
- final String config = rseServerConfig.getText();
- try {
- ps.busyCursorWhile(new IRunnableWithProgress() {
- public void run(IProgressMonitor pm) {
- s[0] = testPressed(home, config, pm);
- }
- });
- } catch(InvocationTargetException ite) {
- e = ite;
- } catch(InterruptedException ie) {
- e = ie;
- }
- if( s[0] == null && e != null ) {
- s[0] = new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, e.getMessage(), e);
- }
- rseTest.setEnabled(true);
- showMessageDialog(RSEUIMessages.REMOTE_SERVER_TEST, s[0]);
- }
- private void showMessageDialog(String title, IStatus s) {
- if( s.isOK() )
- s = new Status(IStatus.INFO, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID,
- RSEUIMessages.REMOTE_SERVER_TEST_SUCCESS);
- ErrorDialog d = new ErrorDialog(rseServerHome.getShell(), title, null, s, IStatus.INFO | IStatus.ERROR);
+ protected void showMessageDialog(String title, IStatus s, Shell shell) {
+ ErrorDialog d = new ErrorDialog(shell, title, null, s, IStatus.INFO | IStatus.ERROR);
d.open();
}
- private IStatus testPressed(String home, String config, IProgressMonitor pm) {
- pm.beginTask(RSEUIMessages.VALIDATING_REMOTE_CONFIG, 1200);
- IHost host = combo.getHost();
- if( host == null ) {
- pm.done();
- return getTestFailStatus(RSEUIMessages.EMPTY_HOST);
- }
- pm.worked(100);
-
- IFileServiceSubSystem fileSubSystem = RSEPublishMethod.findFileTransferSubSystem(host);
- if( fileSubSystem == null ) {
- pm.done();
- return getTestFailStatus(NLS.bind(RSEUIMessages.FILE_SUBSYSTEM_NOT_FOUND, host.getName()));
- }
- pm.worked(100);
-
- if(!fileSubSystem.isConnected()) {
- try {
- fileSubSystem.connect(new NullProgressMonitor(), false);
- } catch (Exception e) {
- pm.done();
- return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_FILESYSTEM_CONNECT_FAILED, e.getLocalizedMessage()));
- }
- }
- pm.worked(300);
-
- IFileService service = fileSubSystem.getFileService();
- if( service == null ) {
- pm.done();
- return getTestFailStatus(NLS.bind(RSEUIMessages.FILESERVICE_NOT_FOUND, host.getName()));
- }
- pm.worked(100);
-
- String root = home;
- IPath root2 = new Path(root);
- try {
- IHostFile file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
- if( file == null || !file.exists()) {
- pm.done();
- return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_HOME_NOT_FOUND,
- new Object[]{root2, service.getName(), host.getName()}));
-
- }
- pm.worked(300);
-
- root2 = root2.append(IConstants.SERVER).append(config);
- file = service.getFile(root2.removeLastSegments(1).toPortableString(), root2.lastSegment(), new NullProgressMonitor());
- if( file == null || !file.exists()) {
- pm.done();
- return getTestFailStatus(NLS.bind(RSEUIMessages.REMOTE_CONFIG_NOT_FOUND, root2));
- }
- pm.worked(300);
- } catch(SystemMessageException sme) {
- pm.done();
- return getTestFailStatus(RSEUIMessages.ERROR_CHECKING_REMOTE_SYSTEM + sme.getLocalizedMessage());
- }
- pm.done();
- return Status.OK_STATUS;
- }
- private IStatus getTestFailStatus(String string) {
- return new Status(IStatus.ERROR, org.jboss.ide.eclipse.as.rse.core.RSECorePlugin.PLUGIN_ID, string);
- }
-
- private String discoverCurrentHost(IServerModeUICallback callback) {
+ protected String discoverCurrentHost(IServerModeUICallback callback) {
String current = callback.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST, (String)null);
if( current == null ) {
String serverHost = callback.getServer().getHost().toLowerCase();
@@ -376,52 +166,29 @@
callback.getServer().removePropertyChangeListener(this);
}
- private boolean updatingFromModelChange = false;
public void propertyChange(PropertyChangeEvent evt) {
updatingFromModelChange = true;
- if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOME_DIR)) {
- updateTextIfChanges(rseServerHome, evt.getNewValue().toString());
- } else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_CONFIG)) {
- updateTextIfChanges(rseServerConfig, evt.getNewValue().toString());
- } else if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOST)) {
- combo.setHostName(evt.getNewValue().toString());
- }
+ propertyChangeBody(evt);
updatingFromModelChange = false;
}
- private void updateTextIfChanges(Text control, String newValue) {
- if(!control.getText().equals(newValue)) {
- control.setText(newValue);
- }
+ protected boolean isUpdatingFromModelChange() {
+ return updatingFromModelChange;
}
-
- protected void browseClicked2() {
- String browseVal = browseClicked3();
- if (browseVal != null) {
- rseServerHome.setText(browseVal);
- serverHomeChanged();
+
+ protected void propertyChangeBody(PropertyChangeEvent evt) {
+ if( evt.getPropertyName().equals(RSEUtils.RSE_SERVER_HOST)) {
+ combo.setHostName(evt.getNewValue().toString());
}
}
-
- protected String browseClicked3() {
- SystemRemoteFileDialog d = new SystemRemoteFileDialog(
- rseBrowse.getShell(), RSEUIMessages.BROWSE_REMOTE_SYSTEM, combo.getHost());
- if( d.open() == Dialog.OK) {
- Object o = d.getOutputObject();
- if( o instanceof IRemoteFile ) {
- String path = ((IRemoteFile)o).getAbsolutePath();
- return path;
- }
+
+ protected void updateTextIfChanges(Text control, String newValue) {
+ if(!control.getText().equals(newValue)) {
+ control.setText(newValue);
}
- return null;
}
+
- protected IJBossServerRuntime getRuntime() {
- IRuntime rt = callback.getRuntime();
- if( rt == null ) return null;
- return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
- }
-
protected void rseHostChanged() {
if( !updatingFromModelChange ) {
String hostName = combo.getHost() == null ? null : combo.getHost().getAliasName();
@@ -436,26 +203,7 @@
}
}
}
-
- protected void serverHomeChanged() {
- if( !updatingFromModelChange) {
- String safeString = callback.getRuntime() != null ? callback.getRuntime().getLocation() != null ?
- callback.getRuntime().getLocation().toString() : "" : "";
- callback.execute(new ChangeServerPropertyCommand(
- callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
- safeString, RSEUIMessages.CHANGE_REMOTE_SERVER_HOME));
- }
- }
- protected void serverConfigChanged() {
- if( !updatingFromModelChange ) {
- callback.execute(new ChangeServerPropertyCommand(
- callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(),
- getRuntime() == null ? "" : getRuntime().getJBossConfiguration(),
- RSEUIMessages.CHANGE_REMOTE_SERVER_CONFIG));
- }
- }
-
public class CustomSystemHostCombo extends Composite implements ModifyListener, ISystemModelChangeListener {
private String fileSubSystem;
private Combo combo;
@@ -598,59 +346,5 @@
RSECorePlugin.getTheSystemRegistry().removeSystemModelChangeListener(this);
}
}
-
- public class SetDeployDirCommand extends ServerCommand {
- private String oldDir;
- private String newDir;
- private Text text;
- private ModifyListener listener;
-
- public SetDeployDirCommand() {
- super(callback.getServer(), Messages.EditorSetDeployLabel);
- this.text = deployText;
- this.newDir = deployText.getText();
- this.listener = deployListener;
- this.oldDir = callback.getServer().getAttribute(
- IDeployableServer.DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
- }
-
- public void execute() {
- callback.getServer().setAttribute(
- IDeployableServer.DEPLOY_DIRECTORY, newDir);
- updateDeployOnlyWidgets();
- }
-
- public void undo() {
- callback.getServer().setAttribute(
- IDeployableServer.DEPLOY_DIRECTORY, oldDir);
- updateDeployOnlyWidgets();
- }
- }
-
- public class SetTempDeployDirCommand extends ServerCommand {
- private String oldDir;
- private String newDir;
- private Text text;
- private ModifyListener listener;
-
- public SetTempDeployDirCommand() {
- super(callback.getServer(), Messages.EditorSetTempDeployLabel);
- text = tempDeployText;
- newDir = tempDeployText.getText();
- listener = tempDeployListener;
- oldDir = callback.getServer().getAttribute(
- IDeployableServer.TEMP_DEPLOY_DIRECTORY, ""); //$NON-NLS-1$
- }
-
- public void execute() {
- callback.getServer().setAttribute(
- IDeployableServer.TEMP_DEPLOY_DIRECTORY, newDir);
- }
-
- public void undo() {
- callback.getServer().setAttribute(
- IDeployableServer.TEMP_DEPLOY_DIRECTORY, oldDir);
- }
- }
}
}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBoss7LaunchConfigurationTabGroup.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBoss7LaunchConfigurationTabGroup.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBoss7LaunchConfigurationTabGroup.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -0,0 +1,66 @@
+/**
+ * JBoss by Red Hat
+ * Copyright 2006-2009, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.as.ui.launch;
+
+import java.util.ArrayList;
+
+import org.eclipse.debug.ui.CommonTab;
+import org.eclipse.debug.ui.EnvironmentTab;
+import org.eclipse.debug.ui.ILaunchConfigurationTab;
+import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
+import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
+import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
+
+/**
+ *
+ * @author Rob Stryker <rob.stryker(a)redhat.com>
+ *
+ */
+public class JBoss7LaunchConfigurationTabGroup extends JBossLaunchConfigurationTabGroup {
+
+ public static ArrayList<IJBossLaunchTabProvider> providers7 =
+ new ArrayList<IJBossLaunchTabProvider>();
+ static {
+ providers7.add(new JBoss7StandardTabProvider());
+ }
+ public static void addTabProvider(IJBossLaunchTabProvider provider) {
+ providers7.add(provider);
+ }
+
+ public static class JBoss7StandardTabProvider implements IJBossLaunchTabProvider {
+ public ILaunchConfigurationTab[] createTabs() {
+ ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
+ new JavaArgumentsTab(),
+ new JavaMainTabExtension(),
+ new JavaClasspathTab(),
+ new SourceLookupTab(),
+ new EnvironmentTab(),
+ new CommonTab()
+ };
+ return tabs;
+ }
+ }
+
+ public ArrayList<IJBossLaunchTabProvider> getProviderList() {
+ return providers7;
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBoss7LaunchConfigurationTabGroup.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBossLaunchConfigurationTabGroup.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBossLaunchConfigurationTabGroup.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/JBossLaunchConfigurationTabGroup.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -91,8 +91,12 @@
}
}
+ public ArrayList<IJBossLaunchTabProvider> getProviderList() {
+ return providers;
+ }
+
public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
- Iterator<IJBossLaunchTabProvider> i = providers.iterator();
+ Iterator<IJBossLaunchTabProvider> i = getProviderList().iterator();
ArrayList<ILaunchConfigurationTab> tabs = new ArrayList<ILaunchConfigurationTab>();
while(i.hasNext()) {
ILaunchConfigurationTab[] tabs2 = i.next().createTabs();
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerActionProvider.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerActionProvider.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerActionProvider.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -127,7 +127,7 @@
IServer server = (IServer) data;
ServerUIPlugin.editServer(server);
} catch (Exception e) {
- Trace.trace(Trace.STRING_SEVERE, org.jboss.ide.eclipse.as.ui.Messages.ServerActionProvider_CouldNotOpenServerError, e);
+ //Trace.trace(Trace.SEVERE, org.jboss.ide.eclipse.as.ui.Messages.ServerActionProvider_CouldNotOpenServerError, e);
}
}
});
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerContentProvider.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerContentProvider.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ServerContentProvider.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -349,7 +349,7 @@
}
}
} catch (Exception e) {
- Trace.trace(Trace.STRING_FINEST, Messages.ServerContentProvider_ErrorInServersViewAnimation, e);
+ //Trace.trace(Trace.FINEST, Messages.ServerContentProvider_ErrorInServersViewAnimation, e);
}
display.timerExec(SLEEP, animator[0]);
}
Modified: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/JBossManagerTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/JBossManagerTest.java 2011-05-19 00:46:30 UTC (rev 31364)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/server/JBossManagerTest.java 2011-05-19 09:02:43 UTC (rev 31365)
@@ -91,6 +91,10 @@
throw new UnsupportedOperationException();
}
+ public JBoss7ServerState getServerState(String host) throws Exception {
+ throw new UnsupportedOperationException();
+ }
+
public void stop(String host, int port) throws JBoss7ManangerException {
}
13 years, 4 months
JBoss Tools SVN: r31364 - in trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core: src/org/jboss/tools/cdi/seam/solder/core and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-05-18 20:46:30 -0400 (Wed, 18 May 2011)
New Revision: 31364
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/InterfaceDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/CDISeamSolderGenericBeanExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericBeanDefinitionContext.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericConfiguration.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderLoggerExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java
Log:
JBIDE-8674
https://issues.jboss.org/browse/JBIDE-8674
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml 2011-05-19 00:45:22 UTC (rev 31363)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml 2011-05-19 00:46:30 UTC (rev 31364)
@@ -28,5 +28,10 @@
runtime="org.jboss.seam.solder.unwraps.UnwrapsExtension">
</cdiextension>
+ <cdiextension
+ class="org.jboss.tools.cdi.seam.solder.core.generic.CDISeamSolderGenericBeanExtension"
+ runtime="org.jboss.seam.solder.bean.generic.GenericBeanExtension">
+ </cdiextension>
+
</extension>
</plugin>
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java 2011-05-19 00:45:22 UTC (rev 31363)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.cdi.seam.solder.core;
import org.jboss.tools.cdi.core.CDIConstants;
@@ -2,2 +12,7 @@
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
public interface CDISeamSolderConstants extends CDIConstants {
@@ -17,4 +32,10 @@
public String DEFAULT_BEAN_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.bean.defaultbean.DefaultBean";
public String UNWRAPS_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.unwraps.Unwraps";
+
+ public String GENERIC_TYPE_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.bean.generic.GenericType";
+ public String GENERIC_ANNOTATION_KIND = "genericAnnotation";
+ public String GENERIC_QUALIFIER_TYPE_NAME = "org.jboss.seam.solder.bean.generic.Generic";
+ public String GENERIC_CONFIGURATION_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.bean.generic.GenericConfiguration";
+
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java 2011-05-19 00:45:22 UTC (rev 31363)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -85,14 +85,11 @@
// @Requires
private boolean processRequires(TypeDefinition typeDefinition, IRootDefinitionContext context) {
Set<String> requiredClasses = new HashSet<String>();
- List<String> typeRequiredClasses = getRequiredClasses(typeDefinition);
- if (typeRequiredClasses != null)
- requiredClasses.addAll(typeRequiredClasses);
- List<String> packageRequiredClasses = getRequiredClasses(typeDefinition
- .getPackageDefinition());
- ;
- if (packageRequiredClasses != null)
- requiredClasses.addAll(packageRequiredClasses);
+ requiredClasses.addAll(getRequiredClasses(typeDefinition));
+ PackageDefinition pkg = typeDefinition.getPackageDefinition();
+ if(pkg != null) {
+ requiredClasses.addAll(getRequiredClasses(pkg));
+ }
if (!requiredClasses.isEmpty()) {
for (String c : requiredClasses) {
if (context.getProject().getType(c) == null) {
@@ -161,13 +158,10 @@
}
-
private List<String> getRequiredClasses(IAnnotated d) {
- if (d == null)
- return null;
IAnnotationDeclaration requires = d
.getAnnotation(CDISeamSolderConstants.REQUIRES_ANNOTATION_TYPE_NAME);
- return requires != null ? getArrayValue(requires) : null;
+ return requires != null ? getArrayValue(requires) : new ArrayList<String>();
}
private List<String> getArrayValue(IAnnotationDeclaration d) {
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderLoggerExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderLoggerExtension.java 2011-05-19 00:45:22 UTC (rev 31363)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderLoggerExtension.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -28,9 +28,9 @@
import org.jboss.tools.cdi.internal.core.impl.AnnotationLiteral;
import org.jboss.tools.cdi.internal.core.impl.CDIProject;
import org.jboss.tools.cdi.internal.core.impl.ClassBean;
-import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
import org.jboss.tools.cdi.internal.core.scanner.FileSet;
+import org.jboss.tools.cdi.seam.solder.core.definition.InterfaceDefinition;
import org.jboss.tools.common.model.XModelObject;
/**
@@ -69,7 +69,7 @@
for (IPath path: is.keySet()) {
Set<IType> ts = is.get(path);
for (IType t: ts) {
- InterfaceDefinition i = new InterfaceDefinition(t);
+ InterfaceDefinition i = new InterfaceDefinition(t, context);
if(i.isAnnotationPresent(CDISeamSolderConstants.MESSAGE_LOGGER_ANNOTATION_TYPE_NAME)) {
TypeDefinition d = new TypeDefinition();
d.setType(t, workingCopy.getRootContext(), 0);
@@ -170,10 +170,4 @@
}
- class InterfaceDefinition extends AbstractMemberDefinition {
- InterfaceDefinition(IType type) {
- setAnnotatable(type, type, context.getRootContext(), 0);
- }
- }
-
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java 2011-05-19 00:45:22 UTC (rev 31363)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -28,10 +28,10 @@
import org.jboss.tools.cdi.core.extension.feature.IBuildParticipantFeature;
import org.jboss.tools.cdi.internal.core.impl.CDIProject;
import org.jboss.tools.cdi.internal.core.impl.ClassBean;
-import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
import org.jboss.tools.cdi.internal.core.scanner.FileSet;
+import org.jboss.tools.cdi.seam.solder.core.definition.InterfaceDefinition;
import org.jboss.tools.common.model.XModelObject;
/**
@@ -77,7 +77,7 @@
for (IPath path: is.keySet()) {
Set<IType> ts = is.get(path);
for (IType t: ts) {
- InterfaceDefinition i = new InterfaceDefinition(t);
+ InterfaceDefinition i = new InterfaceDefinition(t, context);
List<IAnnotationDeclaration> as = i.getAnnotations();
for (IAnnotationDeclaration a: as) {
if(workingCopy.isServiceAnnotation(a.getType())) {
@@ -157,10 +157,4 @@
}
- class InterfaceDefinition extends AbstractMemberDefinition {
- InterfaceDefinition(IType type) {
- setAnnotatable(type, type, context.getRootContext(), 0);
- }
- }
-
}
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/InterfaceDefinition.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/InterfaceDefinition.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/InterfaceDefinition.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.solder.core.definition;
+
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.cdi.core.extension.IDefinitionContextExtension;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractTypeDefinition;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class InterfaceDefinition extends AbstractTypeDefinition {
+ public InterfaceDefinition(IType type, IDefinitionContextExtension context) {
+ setAnnotatable(type, type, context.getRootContext(), 0);
+ }
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/definition/InterfaceDefinition.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/CDISeamSolderGenericBeanExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/CDISeamSolderGenericBeanExtension.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/CDISeamSolderGenericBeanExtension.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -0,0 +1,212 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.solder.core.generic;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaModelException;
+import org.jboss.tools.cdi.core.CDICoreNature;
+import org.jboss.tools.cdi.core.IAnnotationDeclaration;
+import org.jboss.tools.cdi.core.IProducer;
+import org.jboss.tools.cdi.core.IQualifierDeclaration;
+import org.jboss.tools.cdi.core.IRootDefinitionContext;
+import org.jboss.tools.cdi.core.extension.ICDIExtension;
+import org.jboss.tools.cdi.core.extension.IDefinitionContextExtension;
+import org.jboss.tools.cdi.core.extension.feature.IBuildParticipantFeature;
+import org.jboss.tools.cdi.core.extension.feature.IProcessAnnotatedTypeFeature;
+import org.jboss.tools.cdi.internal.core.impl.AnnotationDeclaration;
+import org.jboss.tools.cdi.internal.core.impl.AnnotationLiteral;
+import org.jboss.tools.cdi.internal.core.impl.CDIProject;
+import org.jboss.tools.cdi.internal.core.impl.ClassBean;
+import org.jboss.tools.cdi.internal.core.impl.ParametedType;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.FieldDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.MethodDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
+import org.jboss.tools.cdi.internal.core.scanner.FileSet;
+import org.jboss.tools.cdi.seam.solder.core.CDISeamSolderConstants;
+import org.jboss.tools.cdi.seam.solder.core.CDISeamSolderCorePlugin;
+import org.jboss.tools.common.model.XModelObject;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class CDISeamSolderGenericBeanExtension implements ICDIExtension, IBuildParticipantFeature, IProcessAnnotatedTypeFeature, CDISeamSolderConstants {
+ CDICoreNature project;
+ GenericBeanDefinitionContext context = new GenericBeanDefinitionContext();
+
+ public void setProject(CDICoreNature n) {
+ project = n;
+ }
+
+ public IDefinitionContextExtension getContext() {
+ return context;
+ }
+
+ public void beginVisiting() {
+ }
+
+ public void visitJar(IPath path, IPackageFragmentRoot root, XModelObject beansXML) {
+ }
+
+ public void visit(IFile file, IPath src, IPath webinf) {
+ }
+
+ public void buildDefinitions() {
+ }
+
+ public void buildDefinitions(FileSet fileSet) {
+ }
+
+ public void buildBeans() {
+ CDIProject p = ((CDIProject)project.getDelegate());
+
+ for (GenericConfiguration c: context.getGenericConfigurations().values()) {
+ Map<AbstractMemberDefinition, List<IAnnotationDeclaration>> ms = c.getGenericProducerBeans();
+
+ //TODO scopes!
+
+ Set<TypeDefinition> ts = c.getGenericConfigurationBeans();
+ for (List<IAnnotationDeclaration> list: ms.values()) {
+ for (TypeDefinition t: ts) {
+ TypeDefinition ti = new TypeDefinition();
+ ti.setType(t.getType(), context.getRootContext(), 0);
+ List<MethodDefinition> ps = ti.getMethods();
+ for (MethodDefinition m: ps) {
+ if(m.isAnnotationPresent(PRODUCES_ANNOTATION_TYPE_NAME)) {
+ for (IAnnotationDeclaration d: list) {
+ m.addAnnotation(((AnnotationDeclaration)d).getDeclaration(), context.getRootContext());
+ }
+ }
+ }
+ ClassBean cb = new ClassBean();
+ cb.setParent(p);
+ cb.setDefinition(ti);
+ Set<IProducer> producers = cb.getProducers();
+ for (IProducer producer: producers) {
+ p.addBean(producer);
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void processAnnotatedType(TypeDefinition typeDefinition, IRootDefinitionContext context) {
+ if(typeDefinition.isAnnotationPresent(GENERIC_CONFIGURATION_ANNOTATION_TYPE_NAME)) {
+ IAnnotationDeclaration d = typeDefinition.getAnnotation(GENERIC_CONFIGURATION_ANNOTATION_TYPE_NAME);
+ Object o = d.getMemberValue(null);
+ if(o != null) {
+ String s = o.toString();
+ if(s.length() > 0) {
+ try {
+ ParametedType p = context.getProject().getTypeFactory().getParametedType(typeDefinition.getType(), "Q" + s + ";");
+ if(p != null && p.getType() != null) {
+ GenericConfiguration c = ((GenericBeanDefinitionContext)this.context.getWorkingCopy()).getGenericConfiguration(p.getType().getFullyQualifiedName());
+ c.getGenericConfigurationBeans().add(typeDefinition);
+ }
+ } catch (JavaModelException e) {
+ CDISeamSolderCorePlugin.getDefault().logError(e);
+ }
+ }
+ }
+ List<MethodDefinition> ms = typeDefinition.getMethods();
+ for (MethodDefinition m: ms) {
+ if(m.isAnnotationPresent(PRODUCES_ANNOTATION_TYPE_NAME)) {
+ IType q = project.getType(GENERIC_QUALIFIER_TYPE_NAME);
+ if(q != null) {
+ AnnotationLiteral a = new AnnotationLiteral(m.getResource(), 0, 0, null, 0, q);
+ m.addAnnotation(a, context);
+ }
+ }
+ }
+ } else {
+ IAnnotationDeclaration d = findAnnotationAnnotatedWithGenericType(typeDefinition);
+ if(d != null) {
+ addGenericProducerBean(typeDefinition, findAnnotationAnnotatedWithGenericType(typeDefinition).getTypeName());
+ }
+ List<MethodDefinition> ms = typeDefinition.getMethods();
+ for (MethodDefinition m: ms) {
+ if(m.isAnnotationPresent(PRODUCES_ANNOTATION_TYPE_NAME)) {
+ d = findAnnotationAnnotatedWithGenericType(m);
+ if(d != null) {
+ addGenericProducerBean(m, d.getTypeName());
+ }
+ }
+ }
+ List<FieldDefinition> fs = typeDefinition.getFields();
+ for (FieldDefinition f: fs) {
+ if(f.isAnnotationPresent(PRODUCES_ANNOTATION_TYPE_NAME)) {
+ d = findAnnotationAnnotatedWithGenericType(f);
+ if(d != null) {
+ addGenericProducerBean(f, d.getTypeName());
+ }
+ }
+ }
+ }
+
+ }
+
+ private void addGenericProducerBean(AbstractMemberDefinition def, String genericType) {
+ GenericConfiguration c = ((GenericBeanDefinitionContext)this.context.getWorkingCopy()).getGenericConfiguration(genericType);
+
+ List<IAnnotationDeclaration> list = new ArrayList<IAnnotationDeclaration>();
+ List<IAnnotationDeclaration> ds = def.getAnnotations();
+ for (IAnnotationDeclaration d: ds) {
+ if(d instanceof IQualifierDeclaration) {
+ list.add(d);
+ }
+ }
+ c.getGenericProducerBeans().put(def, list);
+ if(c.getGenericProducerBeans().size() == 1) {
+ IType q = project.getType(GENERIC_QUALIFIER_TYPE_NAME);
+ if(q != null) {
+ AnnotationLiteral a = new AnnotationLiteral(def.getResource(), 0, 0, null, 0, q);
+ def.addAnnotation(a, context.getRootContext());
+ }
+ }
+ IResource r = def.getResource();
+ if(r != null && r.exists() && !c.getInvolvedTypes().contains(r.getFullPath())) {
+ IPath newPath = r.getFullPath();
+ Set<IPath> ps = c.getInvolvedTypes();
+ for (IPath p: ps) {
+ context.getRootContext().addDependency(p, newPath);
+ context.getRootContext().addDependency(newPath, p);
+ }
+ ps.add(newPath);
+ }
+ }
+
+ private IAnnotationDeclaration findAnnotationAnnotatedWithGenericType(AbstractMemberDefinition m) {
+ List<IAnnotationDeclaration> ds = m.getAnnotations();
+ for (IAnnotationDeclaration d: ds) {
+ if(d.getTypeName() != null) {
+ AnnotationDefinition a = context.getRootContext().getAnnotation(d.getTypeName());
+ if(a != null && a.isAnnotationPresent(GENERIC_TYPE_ANNOTATION_TYPE_NAME)) {
+ return d;
+ }
+ }
+ }
+ return null;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/CDISeamSolderGenericBeanExtension.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericBeanDefinitionContext.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericBeanDefinitionContext.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericBeanDefinitionContext.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.solder.core.generic;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.cdi.core.extension.AbstractDefinitionContextExtension;
+import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
+import org.jboss.tools.cdi.seam.solder.core.CDISeamSolderConstants;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class GenericBeanDefinitionContext extends AbstractDefinitionContextExtension {
+ Map<String, GenericConfiguration> genericConfiguartions = new HashMap<String, GenericConfiguration>();
+
+ protected AbstractDefinitionContextExtension copy(boolean clean) {
+ GenericBeanDefinitionContext copy = new GenericBeanDefinitionContext();
+ copy.root = root;
+ if(!clean) {
+ copy.genericConfiguartions.putAll(genericConfiguartions);
+ //
+ }
+ return copy;
+ }
+
+ protected void doApplyWorkingCopy() {
+ genericConfiguartions = ((GenericBeanDefinitionContext)workingCopy).genericConfiguartions;
+ //
+ }
+
+ public void clean() {
+ genericConfiguartions.clear();
+ //
+ }
+
+ public void clean(String typeName) {
+ genericConfiguartions.remove(typeName);
+ for (GenericConfiguration c: genericConfiguartions.values()) {
+ c.clear(typeName);
+ }
+ //
+ }
+
+ public void computeAnnotationKind(AnnotationDefinition annotation) {
+ if(annotation.isAnnotationPresent(CDISeamSolderConstants.GENERIC_TYPE_ANNOTATION_TYPE_NAME)) {
+ annotation.setExtendedKind(CDISeamSolderConstants.GENERIC_ANNOTATION_KIND);
+ String qn = annotation.getType().getFullyQualifiedName();
+ getGenericConfiguration(qn).setGenericTypeDefinition(annotation);
+ }
+ }
+
+ public boolean isGenericTypeAnnotation(IType type) {
+ return (genericConfiguartions.containsKey(type.getFullyQualifiedName()));
+ }
+
+ public Map<String, GenericConfiguration> getGenericConfigurations() {
+ return genericConfiguartions;
+ }
+
+ public GenericConfiguration getGenericConfiguration(String typeName) {
+ GenericConfiguration result = genericConfiguartions.get(typeName);
+ if(result == null) {
+ result = new GenericConfiguration(typeName);
+ genericConfiguartions.put(typeName, result);
+ }
+ return result;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericBeanDefinitionContext.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericConfiguration.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericConfiguration.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericConfiguration.java 2011-05-19 00:46:30 UTC (rev 31364)
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.seam.solder.core.generic;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IPath;
+import org.jboss.tools.cdi.core.IAnnotationDeclaration;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class GenericConfiguration {
+ String genericTypeName;
+ AnnotationDefinition genericType;
+
+ Map<AbstractMemberDefinition, List<IAnnotationDeclaration>> genericProducerBeans = new HashMap<AbstractMemberDefinition, List<IAnnotationDeclaration>>();
+ Set<TypeDefinition> genericConfigurationBeans = new HashSet<TypeDefinition>();
+
+ Set<IPath> involvedResources = new HashSet<IPath>();
+
+ public GenericConfiguration(String genericTypeName) {
+ this.genericTypeName = genericTypeName;
+ }
+
+ public void setGenericTypeDefinition(AnnotationDefinition genericType) {
+ this.genericType = genericType;
+ }
+
+ public void clear(String typeName) {
+ Iterator<AbstractMemberDefinition> it = genericProducerBeans.keySet().iterator();
+ while(it.hasNext()) {
+ if(typeName.equals(it.next().getTypeDefinition().getQualifiedName())) {
+ it.remove();
+ }
+ }
+ Iterator<TypeDefinition> it2 = genericConfigurationBeans.iterator();
+ while(it2.hasNext()) {
+ if(typeName.equals(it2.next().getTypeDefinition().getQualifiedName())) {
+ it2.remove();
+ }
+ }
+ }
+
+ public Map<AbstractMemberDefinition, List<IAnnotationDeclaration>> getGenericProducerBeans() {
+ return genericProducerBeans;
+ }
+
+ public String getGenericTypeName() {
+ return genericTypeName;
+ }
+
+ public AnnotationDefinition getGenericTypeDefinition() {
+ return genericType;
+ }
+
+ public Set<TypeDefinition> getGenericConfigurationBeans() {
+ return genericConfigurationBeans;
+ }
+
+ public Set<IPath> getInvolvedTypes() {
+ return involvedResources;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/generic/GenericConfiguration.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
13 years, 4 months