- added a progress bar for items to validate
- finished added svn + git as items to validate
git-svn-id: https://svn.apache.org/repos/asf/flex/whiteboard@1451080 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/infrastructure/command/LaunchUICommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/infrastructure/command/LaunchUICommand.as
index 9ace7d8..9cd8ae6 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/infrastructure/command/LaunchUICommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/infrastructure/command/LaunchUICommand.as
@@ -1,8 +1,10 @@
package org.apache.flex.utilities.developerToolSuite.infrastructure.command {
import mx.logging.ILogger;
+ import mx.resources.ResourceManager;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
- import org.apache.flex.utilities.developerToolSuite.executor.domain.ISettingsModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.command.CommandCallBack;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateAntPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateCygwinPathMessage;
@@ -21,7 +23,7 @@
public var context:Context;
[Inject]
- public var settings:ISettingsModel;
+ public var settings:SettingModel;
[MessageDispatcher]
public var dispatch:Function;
@@ -35,8 +37,18 @@
private var _svnCompleted:Boolean;
private var _gitCompleted:Boolean;
+ private var _progress:SettingsValidationProgressModel;
+
public function execute():void {
+ _progress = settings.validationInProgress as SettingsValidationProgressModel;
+ _progress.isStarted = true;
+ _progress.nbSteps = 6;
+ _progress.currentStepLabel = "VALIDATING_JAVA_HOME";
+ _progress.currentStep = 1;
+
+ settings.validationInProgress = _progress;
+
dispatch(new ValidateJavaPathMessage(settings.JAVA_HOME));
dispatch(new ValidateAntPathMessage(settings.ANT_HOME));
dispatch(new ValidateMavenPathMessage(settings.MAVEN_HOME));
@@ -48,60 +60,80 @@
[CommandComplete]
public function validateJavaPathCommandCompleted(trigger:ValidateJavaPathMessage):void {
_javaCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_ANT_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandError]
public function validateJavaPathCommandError(trigger:ValidateJavaPathMessage):void {
_javaCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_ANT_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandComplete]
public function validateAntPathCommandCompleted(trigger:ValidateAntPathMessage):void {
_antCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_MAVEN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandError]
public function validateAntPathCommandError(trigger:ValidateAntPathMessage):void {
_antCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_MAVEN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandComplete]
public function validateMavenPathCommandCompleted(trigger:ValidateMavenPathMessage):void {
_mavenCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_CYGWIN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandError]
public function validateMavenPathCommandError(fault:Error, trigger:ValidateMavenPathMessage):void {
_mavenCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_CYGWIN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandComplete]
public function validateCygwinPathCommandCompleted(trigger:ValidateCygwinPathMessage):void {
_cygwinCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_SVN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandError]
public function validateCygwinPathCommandError(fault:Error, trigger:ValidateCygwinPathMessage):void {
_cygwinCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_SVN_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandComplete]
public function validateSvnPathCommandCompleted(trigger:ValidateSvnPathMessage):void {
_svnCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_GIT_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
[CommandError]
public function validateSvnPathCommandError(fault:Error, trigger:ValidateSvnPathMessage):void {
_svnCompleted = true;
+ _progress.currentStepLabel = "VALIDATING_GIT_HOME";
+ _progress.currentStep += 1;
checkValidationsCompleted();
}
@@ -119,6 +151,7 @@
private function checkValidationsCompleted():void {
if (_antCompleted && _mavenCompleted && _javaCompleted && _cygwinCompleted && _svnCompleted && _gitCompleted) {
+ _progress.isStarted = false;
launchUI();
}
}
@@ -127,7 +160,7 @@
callback(CommandCallBack.DEFAULT_RESULT);
with (settings) {
- if (javaEnabled && antEnabled && mavenEnabled && cygwinEnabled && (_svnCompleted || _gitCompleted)) {
+ if (javaEnabled && antEnabled && mavenEnabled && cygwinEnabled && (svnEnabled || gitEnabled)) {
// open last project or create project
} else {
SettingsWindow.show(context);
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/KeepCenteredBehavior.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/KeepCenteredBehavior.as
new file mode 100644
index 0000000..b69d79e
--- /dev/null
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/KeepCenteredBehavior.as
@@ -0,0 +1,44 @@
+package org.apache.flex.utilities.developerToolSuite.presentation.behavior.setting {
+ import com.adobe.cairngorm.popup.PopUpBase;
+ import com.adobe.cairngorm.popup.PopUpEvent;
+
+ import flash.display.DisplayObject;
+
+ import flash.events.Event;
+
+ import mx.core.FlexGlobals;
+
+ import mx.core.IFlexDisplayObject;
+
+ public class KeepCenteredBehavior extends PlayEffectsBehavior {
+ private var popup:IFlexDisplayObject;
+
+ private var base:PopUpBase;
+
+ override public function apply(base:PopUpBase):void {
+ super.apply(base);
+ this.base = base;
+ base.addEventListener(PopUpEvent.OPENED, onOpened);
+ }
+
+ private function onOpened(event:PopUpEvent):void {
+ popup = event.popup;
+ popup.addEventListener(Event.RESIZE, onResize);
+ popup.stage.addEventListener(Event.RESIZE, onResize, false, 0, true);
+ base.addEventListener(PopUpEvent.CLOSING, onClosing);
+ }
+
+ private function onResize(event:Event):void {
+ popup.x = (popup.stage.width - popup.width) / 2;
+ popup.y = (popup.stage.height - popup.height) / 2;
+ }
+
+ private function onClosing(event:Event):void {
+ base.removeEventListener(PopUpEvent.CLOSING, onClosing);
+ popup.removeEventListener(Event.RESIZE, onResize);
+ if (popup.stage) {
+ popup.stage.removeEventListener(Event.RESIZE, onResize);
+ }
+ }
+ }
+}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/PlayEffectsBehavior.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/PlayEffectsBehavior.as
new file mode 100644
index 0000000..1f9f3be
--- /dev/null
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/behavior/setting/PlayEffectsBehavior.as
@@ -0,0 +1,89 @@
+package org.apache.flex.utilities.developerToolSuite.presentation.behavior.setting {
+ import com.adobe.cairngorm.popup.IPopUpBehavior;
+ import com.adobe.cairngorm.popup.PopUpBase;
+ import com.adobe.cairngorm.popup.PopUpEvent;
+
+ import mx.core.UIComponent;
+ import mx.effects.Effect;
+ import mx.events.EffectEvent;
+ import mx.events.FlexEvent;
+
+ /**
+ * Plays effects when a popup opens and closes. The effects need to be
+ * specified with the <code>openEffect</code> and <code>closeEffect</code>
+ * properties.
+ */
+ public class PlayEffectsBehavior implements IPopUpBehavior {
+ //------------------------------------------------------------------------
+ //
+ // Private Variables
+ //
+ //------------------------------------------------------------------------
+
+ private var closingEvent:PopUpEvent;
+
+ //------------------------------------------------------------------------
+ //
+ // Public Properties
+ //
+ //------------------------------------------------------------------------
+
+ /** The effect to play as the popup opens. */
+ public var openEffect:Effect;
+
+ /** The effect to play as the popup closes. */
+ public var closeEffect:Effect;
+
+ private var popup:PopUpBase;
+
+ //------------------------------------------------------------------------
+ //
+ // Implementation : IPopUpBehavior
+ //
+ //------------------------------------------------------------------------
+
+ public function apply(base:PopUpBase):void {
+ this.popup = base;
+
+ base.addEventListener(PopUpEvent.OPENING, onOpening);
+ base.addEventListener(PopUpEvent.CLOSING, onClosing);
+ }
+
+ //------------------------------------------------------------------------
+ //
+ // Event Listeners
+ //
+ //------------------------------------------------------------------------
+
+ private function onOpening(event:PopUpEvent):void {
+ UIComponent(event.popup).callLater(handleStart, [ event ]);
+ }
+
+ private function handleStart(event:PopUpEvent):void {
+ popup.dispatchEvent(new FlexEvent(FlexEvent.SHOW));
+ if (openEffect) {
+ openEffect.play([ event.popup ]);
+ }
+ }
+
+ private function onClosing(event:PopUpEvent):void {
+ if (closeEffect) {
+ closingEvent = event;
+ closingEvent.suspendClosure();
+
+ closeEffect.startDelay = 100;
+ closeEffect.play([ event.popup ]);
+ closeEffect.addEventListener(EffectEvent.EFFECT_END, onCloseEffectEnd);
+ }
+ }
+
+ private function onCloseEffectEnd(event:EffectEvent):void {
+ popup.dispatchEvent(new FlexEvent(FlexEvent.HIDE));
+
+ closeEffect.removeEventListener(EffectEvent.EFFECT_END, onCloseEffectEnd);
+
+ closingEvent.resumeClosure();
+ closingEvent = null;
+ }
+ }
+}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/SettingsWindow.mxml b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/SettingsWindow.mxml
index bd89131..ef28b84 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/SettingsWindow.mxml
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/SettingsWindow.mxml
@@ -53,6 +53,8 @@
<s:layout>
<s:HorizontalLayout horizontalAlign="center" paddingBottom="16"/>
</s:layout>
+ <s:Button label="{resourceManager.getString('SettingsWindow', 'REFRESH_ALL')}"
+ click="refreshAll()"/>
<s:Button label="{resourceManager.getString('SettingsWindow', 'CLOSE')}"
click="closeWindow()"/>
</s:Group>
@@ -63,6 +65,7 @@
import mx.managers.PopUpManager;
import org.apache.flex.utilities.developerToolSuite.infrastructure.event.SettingsWindowEvent;
+ import org.spicefactory.parsley.core.command.ManagedCommandFactory;
import org.spicefactory.parsley.core.context.Context;
private static var __window:SettingsWindow;
@@ -83,6 +86,9 @@
[Inject]
public var context:Context;
+ [Inject]
+ public var launchUICommand:ManagedCommandFactory;
+
[Init]
public function init():void {
dispatchEvent(new SettingsWindowEvent(SettingsWindowEvent.OPENED));
@@ -105,5 +111,9 @@
dispatchEvent(new SettingsWindowEvent(SettingsWindowEvent.CLOSED));
__window = null;
}
+
+ private function refreshAll():void {
+ launchUICommand.newInstance().execute();
+ }
]]></fx:Script>
</s:TitleWindow>
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/ToolHomeFormItem.mxml b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/ToolHomeFormItem.mxml
index 3d10df1..4a03eb9 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/ToolHomeFormItem.mxml
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/ToolHomeFormItem.mxml
@@ -88,7 +88,7 @@
private function creationCompleteHandler(event:FlexEvent):void {
validator.validate();
- dispatch(new validateToolMessageClass(propertyValue));
+ //dispatch(new validateToolMessageClass(propertyValue));
}
private function browseButton_clickHandler(event:MouseEvent):void {
@@ -120,7 +120,7 @@
_installationPathValidated = value;
validator.validate();
- if (_installationPathValidated) {
+ if (_installationPathValidated && toolHomeLocation.text) {
dispatch(new SaveSettingMessage(propertyName, toolHomeLocation.text));
}
}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/VCSFormItem.mxml b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/VCSFormItem.mxml
index 074170c..1d338d5 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/VCSFormItem.mxml
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.component-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/presentation/graphic/settings/formItem/VCSFormItem.mxml
@@ -36,6 +36,8 @@
</s:VGroup>
</s:helpContent>
<fx:Script><![CDATA[
+ import flash.filesystem.File;
+
import mx.events.FlexEvent;
import org.apache.flex.utilities.developerToolSuite.presentation.graphic.Asset;
@@ -49,7 +51,7 @@
[Bindable]
public var helpLabelResourcesString:String;
[Bindable]
- public var helpUrlText:String
+ public var helpUrlText:String;
[Bindable]
public var helpUrl:String;
[Bindable]
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsModel.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsModel.as
index fd811b9..90f9818 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsModel.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsModel.as
@@ -39,5 +39,7 @@
function get svnEnabled():Boolean;
function get gitEnabled():Boolean;
+
+ function get validationInProgress():ISettingsValidationInProgressModel;
}
}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsValidationInProgressModel.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsValidationInProgressModel.as
new file mode 100644
index 0000000..97254cb
--- /dev/null
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/ISettingsValidationInProgressModel.as
@@ -0,0 +1,12 @@
+package org.apache.flex.utilities.developerToolSuite.executor.domain {
+
+ public interface ISettingsValidationInProgressModel {
+ function get isStarted():Boolean;
+
+ function get nbSteps():uint;
+
+ function get currentStep():uint;
+
+ function get currentStepLabel():String;
+ }
+}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingModel.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingModel.as
index 0d472d5..6722d60 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingModel.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingModel.as
@@ -44,6 +44,11 @@
private var _appBounds:String;
private var _appDisplayState:String;
+ private var _validationInProgress:ISettingsValidationInProgressModel;
+
+ function SettingModel() {
+ _validationInProgress = new SettingsValidationProgressModel();
+ }
public function get availableLanguages():ArrayCollection {
return new ArrayCollection(LocaleUtil.AVAILABLE_LANGUAGES);
@@ -187,5 +192,14 @@
public function set appDisplayState(value:String):void {
_appDisplayState = value;
}
+
+ public function get validationInProgress():ISettingsValidationInProgressModel {
+ return _validationInProgress;
+ }
+
+ [Bindable]
+ public function set validationInProgress(value:ISettingsValidationInProgressModel):void {
+ _validationInProgress = value;
+ }
}
}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingsValidationProgressModel.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingsValidationProgressModel.as
new file mode 100644
index 0000000..2753e33
--- /dev/null
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/domain/SettingsValidationProgressModel.as
@@ -0,0 +1,73 @@
+package org.apache.flex.utilities.developerToolSuite.executor.domain {
+ import flash.events.Event;
+ import flash.events.EventDispatcher;
+ import flash.events.ProgressEvent;
+
+ public class SettingsValidationProgressModel extends EventDispatcher implements ISettingsValidationInProgressModel {
+
+ private var _isStarted:Boolean;
+ private var _nbSteps:uint;
+ private var _currentStep:uint;
+ private var _currentStepLabel:String = "";
+
+ public function get isStarted():Boolean {
+ return _isStarted;
+ }
+
+ public function get nbSteps():uint {
+ return _nbSteps;
+ }
+
+ public function get currentStep():uint {
+ return _currentStep;
+ }
+
+ public function get currentStepLabel():String {
+ return _currentStepLabel;
+ }
+
+ [Bindable]
+ public function set isStarted(value:Boolean):void {
+ _isStarted = value;
+ }
+
+ public function set nbSteps(value:uint):void {
+
+ var evt:Event;
+
+ if (value != _nbSteps && value != _currentStep) {
+ evt = new ProgressEvent(ProgressEvent.PROGRESS);
+ ProgressEvent(evt).bytesLoaded = _currentStep;
+ ProgressEvent(evt).bytesTotal = value;
+ } else {
+ evt = new Event(Event.COMPLETE);
+ }
+
+ _nbSteps = value;
+
+ dispatchEvent(evt);
+ }
+
+ public function set currentStep(value:uint):void {
+
+ var evt:Event;
+
+ if (value != _currentStep && value != _nbSteps) {
+ evt = new ProgressEvent(ProgressEvent.PROGRESS);
+ ProgressEvent(evt).bytesLoaded = value;
+ ProgressEvent(evt).bytesTotal = _nbSteps;
+ } else {
+ evt = new Event(Event.COMPLETE);
+ }
+
+ _currentStep = value;
+
+ dispatchEvent(evt);
+ }
+
+ [Bindable]
+ public function set currentStepLabel(value:String):void {
+ _currentStepLabel = value;
+ }
+ }
+}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/SaveSettingsCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/SaveSettingsCommand.as
index 7d784fd..3273963 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/SaveSettingsCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/SaveSettingsCommand.as
@@ -17,6 +17,8 @@
package org.apache.flex.utilities.developerToolSuite.executor.infrastructure.command {
import mx.utils.ObjectUtil;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.ISettingsValidationInProgressModel;
+
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.SaveSettingsMessage;
import org.spicefactory.lib.reflect.ClassInfo;
import org.spicefactory.lib.reflect.Property;
@@ -36,7 +38,8 @@
sql = "";
for (var i:uint=0; i < classInfo.getProperties().length; i++) {
var property:Property = classInfo.getProperties()[i] as Property;
- sql += "UPDATE setting SET value='" + _msg.settings[property.name] + "' WHERE name='" + property.name + "';";
+ if (!(property.type is ISettingsValidationInProgressModel))
+ sql += "UPDATE setting SET value='" + _msg.settings[property.name] + "' WHERE name='" + property.name + "';";
}
super.prepareSql();
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateAntPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateAntPathCommand.as
index edaba60..b40349d 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateAntPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateAntPathCommand.as
@@ -22,6 +22,7 @@
import mx.utils.ObjectUtil;
import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateAntPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
@@ -39,7 +40,9 @@
public function execute(msg:ValidateAntPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
_msg = msg;
+
settings.antEnabled = false;
+
executeCommand();
}
@@ -86,6 +89,7 @@
}
_done = true;
+
if (output.indexOf("Apache Ant(TM) version") > -1) {
settings.antEnabled = true;
result(CommandCallBack.DEFAULT_RESULT);
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateCygwinPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateCygwinPathCommand.as
index bc22f4f..82127eb 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateCygwinPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateCygwinPathCommand.as
@@ -21,6 +21,7 @@
import mx.utils.ObjectUtil;
import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateCygwinPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.nativeProcess.NativeShellHelper;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
@@ -39,7 +40,9 @@
public function execute(msg:ValidateCygwinPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
_msg = msg;
+
settings.cygwinEnabled = false;
+
executeCommand();
}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateGitPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateGitPathCommand.as
index 331b40c..cb0b88c 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateGitPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateGitPathCommand.as
@@ -21,6 +21,7 @@
import mx.utils.ObjectUtil;
import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateGitPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
@@ -35,7 +36,9 @@
public function execute(msg:ValidateGitPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
+
settings.gitEnabled = false;
+
executeCommand();
}
@@ -58,6 +61,7 @@
}
_done = true;
+
if (output.indexOf("git version") > -1) {
settings.gitEnabled = true;
result(CommandCallBack.DEFAULT_RESULT);
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateJavaPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateJavaPathCommand.as
index 139f0cc..03cf97b 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateJavaPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateJavaPathCommand.as
@@ -21,9 +21,10 @@
import mx.logging.ILogger;
import mx.utils.ObjectUtil;
- import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
- import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateJavaPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateJavaPathMessage;
public class ValidateJavaPathCommand extends AbstractShellCommand {
@@ -39,7 +40,9 @@
public function execute(msg:ValidateJavaPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
_msg = msg;
+
settings.javaEnabled = false;
+
executeCommand();
}
@@ -84,8 +87,8 @@
if (_done) {
return;
}
-
_done = true;
+
if (output.indexOf("1.6.") > -1) {
settings.javaEnabled = true;
result(CommandCallBack.DEFAULT_RESULT);
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateMavenPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateMavenPathCommand.as
index 3ca12fd..73d4dd3 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateMavenPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateMavenPathCommand.as
@@ -22,6 +22,7 @@
import mx.utils.ObjectUtil;
import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateMavenPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
@@ -39,7 +40,9 @@
public function execute(msg:ValidateMavenPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
_msg = msg;
+
settings.mavenEnabled = false;
+
executeCommand();
}
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateSvnPathCommand.as b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateSvnPathCommand.as
index adbc8bd..e4fe929 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateSvnPathCommand.as
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.executor-lib/src/main/flex/org/apache/flex/utilities/developerToolSuite/executor/infrastructure/command/ValidateSvnPathCommand.as
@@ -21,6 +21,7 @@
import mx.utils.ObjectUtil;
import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingModel;
+ import org.apache.flex.utilities.developerToolSuite.executor.domain.SettingsValidationProgressModel;
import org.apache.flex.utilities.developerToolSuite.executor.infrastructure.message.ValidateSvnPathMessage;
import org.apache.flex.utilities.developerToolSuite.executor.application.util.LogUtil;
@@ -35,7 +36,9 @@
public function execute(msg:ValidateSvnPathMessage):void {
LOG.debug("Executing Command with message: {0}", ObjectUtil.toString(msg));
+
settings.svnEnabled = false;
+
executeCommand();
}
@@ -58,6 +61,7 @@
}
_done = true;
+
if (output.indexOf("Subversion command-line client") > -1) {
settings.svnEnabled = true;
result(CommandCallBack.DEFAULT_RESULT);
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.host-swf/src/main/flex/org/apache/flex/utilities/developerToolSuite/MainApplication.mxml b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.host-swf/src/main/flex/org/apache/flex/utilities/developerToolSuite/MainApplication.mxml
index 7858713..9f325d4 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.host-swf/src/main/flex/org/apache/flex/utilities/developerToolSuite/MainApplication.mxml
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.host-swf/src/main/flex/org/apache/flex/utilities/developerToolSuite/MainApplication.mxml
@@ -18,12 +18,15 @@
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:parsley="http://www.spicefactory.org/parsley"
+ xmlns:behavior="org.apache.flex.utilities.developerToolSuite.presentation.behavior.setting.*"
+ xmlns:mx="library://ns.adobe.com/flex/mx"
title="Apache Flex Developer Tool Suite"
width="800" height="550"
displayStateChange="displayStateChangeHandler(event)"
closing="closingHandler(event)">
<fx:Declarations>
+
<parsley:ContextBuilder>
<parsley:ViewSettings autowireComponents="true"/>
<parsley:FlexConfig type="{ApplicationContext}"/>
@@ -31,6 +34,16 @@
<parsley:FlexConfig type="{ExecutorContext}"/>
</parsley:ContextBuilder>
<parsley:Configure/>
+
+ <parsley:PopUp open="{applicationSettings.validationInProgress.isStarted}" center="true" modal="true">
+ <parsley:behaviors>
+ <behavior:KeepCenteredBehavior/>
+ </parsley:behaviors>
+ <mx:ProgressBar id="progressBar" mode="event" source="{applicationSettings.validationInProgress}"
+ textAlign="center" labelPlacement="center" width="350"
+ progress="progressBar_progressHandler(event)"/>
+ </parsley:PopUp>
+
</fx:Declarations>
<fx:Metadata>
@@ -73,13 +86,14 @@
public var applicationMenu:ApplicationMenu;
[Inject]
+ [Bindable]
public var applicationSettings:ISettingsModel;
[MessageDispatcher]
public var dispatch:Function;
- private var alert:Alert;
- private var appBounds:Rectangle;
+ private var _alert:Alert;
+ private var _appBounds:Rectangle;
[Init]
public function init():void {
@@ -88,20 +102,20 @@
dispatch(new InitApplicationMessage());
- alert = Alert.show(resourceManager.getString('Application', 'WELCOME_MSG'), resourceManager.getString('Application', 'WELCOME_TITLE'));
+ _alert = Alert.show(resourceManager.getString('Application', 'WELCOME_MSG'), resourceManager.getString('Application', 'WELCOME_TITLE'));
}
[MessageHandler]
public function applicationReady(msg:ApplicationReadyMessage):void {
- PopUpManager.removePopUp(alert);
+ PopUpManager.removePopUp(_alert);
menu = applicationMenu;
if (applicationSettings.appBounds) {
var bounds:Array = applicationSettings.appBounds.split(",");
- appBounds = nativeWindow.bounds = new Rectangle(bounds[0], bounds[1], bounds[2], bounds[3]);
+ _appBounds = nativeWindow.bounds = new Rectangle(bounds[0], bounds[1], bounds[2], bounds[3]);
} else {
- appBounds = nativeWindow.bounds = new Rectangle(120, 120, 1200, 825);
+ _appBounds = nativeWindow.bounds = new Rectangle(120, 120, 1200, 825);
}
if (applicationSettings.appDisplayState) {
@@ -126,6 +140,11 @@
menu = applicationMenu;
}
+ private function progressBar_progressHandler(event:ProgressEvent):void {
+ if (applicationSettings.validationInProgress.currentStepLabel)
+ progressBar.label = resourceManager.getString('SettingsWindow', applicationSettings.validationInProgress.currentStepLabel) + " ( %1 / %2 )";
+ }
+
private function displayStateChangeHandler(event:NativeWindowDisplayStateEvent):void {
if (event.afterDisplayState == NativeWindowDisplayState.NORMAL) {
addMoveAndResizeListeners();
@@ -147,7 +166,7 @@
}
private function moveAndResizeHandler(event:NativeWindowBoundsEvent):void {
- appBounds = event.afterBounds;
+ _appBounds = event.afterBounds;
}
private function closingHandler(event:Event):void {
@@ -155,7 +174,7 @@
event.preventDefault();
var settingsToSave:Object = {};
- settingsToSave.appBounds = appBounds.x + "," + appBounds.y + "," + appBounds.width + "," + appBounds.height;
+ settingsToSave.appBounds = _appBounds.x + "," + _appBounds.y + "," + _appBounds.width + "," + _appBounds.height;
settingsToSave.appDisplayState = nativeWindow.displayState;
dispatch(new ExitApplicationMessage(settingsToSave));
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/en_US/SettingsWindow.properties b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/en_US/SettingsWindow.properties
index ff2b953..b7c92aa 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/en_US/SettingsWindow.properties
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/en_US/SettingsWindow.properties
@@ -21,3 +21,10 @@
VCS=Version Control System
VCS_INTRO=Should match the one(s) the SDK(s) you want to use.
SHOULD_BE_IN_PATH=Should be in your path
+VALIDATING_JAVA_HOME=Validating: Java
+VALIDATING_ANT_HOME=Validating: Ant
+VALIDATING_MAVEN_HOME=Validating: Maven
+VALIDATING_CYGWIN_HOME=Validating: Cygwin
+VALIDATING_SVN_HOME=Validating: Svn
+VALIDATING_GIT_HOME=Validating: Git
+REFRESH_ALL=Validate all
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/fr_FR/SettingsWindow.properties b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/fr_FR/SettingsWindow.properties
index 500634d..813c5a5 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/fr_FR/SettingsWindow.properties
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.locale/src/main/resources/locale/fr_FR/SettingsWindow.properties
@@ -21,3 +21,10 @@
VCS=Système de contrôle de version
VCS_INTRO=Il(s) doit/doivent correspondre à celui/ceux des SDK(s)\nque vous voulez utiliser.
SHOULD_BE_IN_PATH=Doit être dans votre chemin d'accès
+VALIDATING_JAVA_HOME=Validation de: Java
+VALIDATING_ANT_HOME=Validation de: Ant
+VALIDATING_MAVEN_HOME=Validation de: Maven
+VALIDATING_CYGWIN_HOME=Validation de: Cygwin
+VALIDATING_SVN_HOME=Validation de: Svn
+VALIDATING_GIT_HOME=Validation de: Git
+REFRESH_ALL=Tout Valider
diff --git a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.standard-theme/src/main/resources/default.css b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.standard-theme/src/main/resources/default.css
index fe8b19b..4f28b3a 100644
--- a/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.standard-theme/src/main/resources/default.css
+++ b/fthomas/developerToolSuite/trunk/org.apache.flex.utilities.developerToolSuite.standard-theme/src/main/resources/default.css
@@ -23,6 +23,16 @@
skinClass: ClassReference("org.apache.flex.utilities.developerToolSuite.ApplicationSkin");
}
+asf|SettingsValidationInProgressWindow {
+ borderAlpha: 1;
+ borderThickness: 2;
+ borderVisible: true;
+ borderStyle: outset;
+ backgroundAlpha: 1;
+ backgroundColor: #ffffff;
+}
+
+
.stackedForm {
skinClass: ClassReference("spark.skins.spark.StackedFormSkin");
}
diff --git a/fthomas/developerToolSuite/trunk/pom.xml b/fthomas/developerToolSuite/trunk/pom.xml
index bcaf0c0..75e5aae 100644
--- a/fthomas/developerToolSuite/trunk/pom.xml
+++ b/fthomas/developerToolSuite/trunk/pom.xml
@@ -115,35 +115,43 @@
<artifactId>spicelib-reflect</artifactId>
<version>3.0.0</version>
<type>swc</type>
- <scope>internal</scope>
</dependency>
<dependency>
<groupId>org.spicefactory.spicelib</groupId>
<artifactId>spicelib-util</artifactId>
<version>3.1.0</version>
<type>swc</type>
- <scope>internal</scope>
</dependency>
<dependency>
<groupId>org.spicefactory.spicelib</groupId>
<artifactId>spicelib-commands</artifactId>
<version>3.1.0</version>
<type>swc</type>
- <scope>internal</scope>
</dependency>
<dependency>
<groupId>org.spicefactory.spicelib</groupId>
<artifactId>parsley-core</artifactId>
<version>3.0.0</version>
<type>swc</type>
- <scope>internal</scope>
</dependency>
<dependency>
<groupId>org.spicefactory.spicelib</groupId>
<artifactId>parsley-flex</artifactId>
<version>3.0.0</version>
<type>swc</type>
- <scope>internal</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.spicefactory.spicelib</groupId>
+ <artifactId>parsley-popup</artifactId>
+ <version>3.0.2</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.abobe.cairngorm</groupId>
+ <artifactId>cairngorm-popup</artifactId>
+ <version>1.7</version>
+ <type>swc</type>
+ <classifier>flex4</classifier>
</dependency>
</dependencies>