You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/04/25 08:18:36 UTC

[37/46] FlexPMD Donation from Adobe Systems Inc

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/bug/FlexPMD97.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/bug/FlexPMD97.as b/FlexPMD/custom-ruleset/src/test/resources/test/bug/FlexPMD97.as
new file mode 100644
index 0000000..26b4769
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/bug/FlexPMD97.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+	public class LogUtil
+	{
+		{
+			initLogging();
+		}
+
+		private static function initLogging():void 
+		{
+		}
+	} 
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/bug/Nico.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/bug/Nico.as b/FlexPMD/custom-ruleset/src/test/resources/test/bug/Nico.as
new file mode 100644
index 0000000..bc14610
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/bug/Nico.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.search.api.domain {
+	
+	import mx.collections.ArrayCollection;
+	import mx.messaging.channels.StreamingAMFChannel;
+	
+	[Event(name="MoveToOffline", type="com.search.api.application.event.MoveOnlineReportToOfflineEvent")]
+	[ManagedEvents("MoveToOffline")]
+	
+	public class Nico 
+	{
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/bug/Security.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/bug/Security.as b/FlexPMD/custom-ruleset/src/test/resources/test/bug/Security.as
new file mode 100644
index 0000000..4435735
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/bug/Security.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+	public class Security
+	{
+		public static function read() : void
+		{
+			Security.allowDomain("www.google.com");
+			Security.allowDomain("*");
+			Security.allowInsecureDomain("www.google.com");
+			Security.allowInsecureDomain("*");
+			Security.exactSettings = false;
+			LocalConnection.allowDomain("*");
+			LocalConnection.allowDomain("www.example.org");
+			LSO.getLocal(name, null, true);
+			LSO.getLocal(name, null, false);
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/BindableModelLocator.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/BindableModelLocator.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/BindableModelLocator.as
new file mode 100644
index 0000000..73bdc38
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/BindableModelLocator.as
@@ -0,0 +1,23 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package {
+  [Bindable]
+  protected class BindableModelLocator implements GoodModelLocator {
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/FatController.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/FatController.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/FatController.as
new file mode 100644
index 0000000..b87780e
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/FatController.as
@@ -0,0 +1,183 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.portal.Control
+{
+import com.portal.control.events.LoadUserProfileEvent;
+import com.portal.control.commands.LoadUserProfileCommand;
+    import com.adobe.cairngorm.control.FrontController;
+    import com.platform.control.commands.community.LoadFavoriteModulesCommand;
+    import com.platform.control.commands.contentbrowsing.LoadBrowsableKnowledgeCommand;
+    import com.platform.control.commands.contentbrowsing.UpdateBrowsableKnowledgeCommand;
+    import com.platform.control.commands.core.InitializeApplicationCommand;
+    import com.platform.control.commands.learnmanagement.LoadExerciseContentTreeCommand;
+    import com.platform.control.commands.learnmanagement.LoadTrainingCenterStatisticCommand;
+    import com.platform.control.commands.notifications.LoadNotificationsCommand;
+    import com.platform.control.commands.personalrecord.LoadPersonalRecordCommand;
+    import com.platform.control.commands.personalrecord.UpdatePersonalRecordCommand;
+    import com.platform.control.events.community.LoadFavoriteModulesEvent;
+    import com.platform.control.events.contentbrowsing.LoadBrowsableKnowledgeEvent;
+    import com.platform.control.events.contentbrowsing.UpdateBrowsableKnowledgeEvent;
+    import com.platform.control.events.core.InitializeApplicationEvent;
+    import com.platform.control.events.learnmanagement.LoadExerciseContentTreeEvent;
+    import com.platform.control.events.learnmanagement.LoadTrainingCenterStatisticEvent;
+    import com.platform.control.events.notificationbox.LoadNotificationsEvent;
+    import com.platform.control.events.personalrecord.LoadPersonalRecordEvent;
+    import com.platform.control.events.personalrecord.UpdatePersonalRecordEvent;
+    import com.portal.control.commands.AcceptFriendshipCommand;
+    import com.portal.control.commands.CancelFriendshipCommand;
+    import com.portal.control.commands.DismissNotificationCommand;
+    import com.portal.control.commands.LoadKnowledgeTreeCommand;
+    import com.portal.control.commands.LoadRecentActivitiesCommand;
+    import com.portal.control.commands.RejectFriendshipCommand;
+    import com.portal.control.commands.ReloadBuddiesCommand;
+    import com.portal.control.commands.SaveMyProfileCommand;
+    import com.portal.control.commands.SaveUserCommand;
+    import com.portal.control.commands.SearchUsersCommand;
+    import com.portal.control.commands.SendFeedbackCommand;
+    import com.portal.control.commands.SendLogoutCommand;
+    import com.portal.control.commands.ShowHelpCommand;
+    import com.portal.control.commands.StartFriendshipCommand;
+    import com.portal.control.commands.URLLoaderCommand;
+    import com.portal.control.commands.XMLParseCommand;
+    import com.portal.control.events.AcceptFriendshipEvent;
+    import com.portal.control.events.CancelFriendshipEvent;
+    import com.portal.control.events.DismissNotificationEvent;
+    import com.portal.control.events.LoadKnowledgeTreeEvent;
+    import com.portal.control.events.LoadRecentActivitiesEvent;
+    import com.portal.control.events.RejectFriendshipEvent;
+    import com.portal.control.events.ReloadBuddiesEvent;
+    import com.portal.control.events.SaveMyProfileEvent;
+    import com.portal.control.events.SaveUserEvent;
+    import com.portal.control.events.SearchUsersEvent;
+    import com.portal.control.events.SendFeedbackEvent;
+    import com.portal.control.events.SendLogoutEvent;
+    import com.portal.control.events.ShowHelpEvent;
+    import com.portal.control.events.StartFriendshipEvent;
+    import com.portal.control.events.URLLoaderEvent;
+    import com.portal.control.events.XMLParseEvent;
+    import com.ecs.control.events.LoadArticleEvent;
+    import com.ecs.control.commands.LoadArticleCommand;
+    import com.ecs.control.commands.LoadMagazineCommand;
+    import com.ecs.control.events.LoadMagazineEvent;    
+	import mx.binding.utils.BindingUtils;
+	
+    /**
+     * The main cairngorm controller. This defines the connections between the events and the commands 
+     */
+   public class Controller extends FrontController
+   {
+      public function Controller()
+      {
+      	 BindingUtils.bindSetter(setContent, value, "content");
+         addCommand(
+            InitializeApplicationEvent.EVENT_TYPE,
+            InitializeApplicationCommand );
+         addCommand(
+            StartFriendshipEvent.EVENT_NAME,
+            StartFriendshipCommand );
+          addCommand(
+            LoadNotificationsEvent.EVENT_TYPE,
+            LoadNotificationsCommand );
+          addCommand(
+            DismissNotificationEvent.EVENT_NAME,
+            DismissNotificationCommand );
+         addCommand(
+            AcceptFriendshipEvent.EVENT_NAME,
+            AcceptFriendshipCommand );
+         addCommand(
+            CancelFriendshipEvent.EVENT_NAME,
+            CancelFriendshipCommand );
+         addCommand(
+            RejectFriendshipEvent.EVENT_NAME,
+            RejectFriendshipCommand );
+         addCommand(
+            SearchUsersEvent.EVENT_NAME,
+            SearchUsersCommand );
+//         addCommand(
+//            LoadBuddiesEvent.EVENT_TYPE,
+//            LoadBuddiesCommand );
+         addCommand(
+            LoadKnowledgeTreeEvent.EVENT_NAME,
+            LoadKnowledgeTreeCommand );
+         addCommand(
+            LoadExerciseContentTreeEvent.EVENT_NAME,
+            LoadExerciseContentTreeCommand );
+         addCommand(
+            LoadBrowsableKnowledgeEvent.EVENT_NAME,
+            LoadBrowsableKnowledgeCommand );
+         addCommand(
+            UpdateBrowsableKnowledgeEvent.EVENT_NAME,
+            UpdateBrowsableKnowledgeCommand );
+          addCommand(
+            ShowHelpEvent.EVENT_NAME,
+            ShowHelpCommand );
+          addCommand(
+            URLLoaderEvent.EVENT_NAME,
+            URLLoaderCommand );
+          addCommand(
+            XMLParseEvent.EVENT_NAME,
+            XMLParseCommand );
+//          addCommand(
+//            LoadAmbitiousUsersEvent.EVENT_TYPE,
+//            LoadAmbitiousUsersCommand );
+//          addCommand(
+//            LoadNewUsersEvent.EVENT_TYPE,
+//            LoadNewUsersCommand );
+          addCommand(
+            LoadFavoriteModulesEvent.EVENT_TYPE,
+            LoadFavoriteModulesCommand );
+          addCommand(
+            SaveUserEvent.EVENT_NAME,
+            SaveUserCommand );
+          addCommand(
+            SendLogoutEvent.EVENT_NAME,
+            SendLogoutCommand );
+          addCommand(
+            SendFeedbackEvent.EVENT_NAME,
+            SendFeedbackCommand );
+          addCommand(
+            LoadPersonalRecordEvent.EVENT_TYPE,
+            LoadPersonalRecordCommand );
+         addCommand(
+            UpdatePersonalRecordEvent.EVENT_NAME,
+            UpdatePersonalRecordCommand );
+          addCommand(
+            SaveMyProfileEvent.EVENT_NAME,
+            SaveMyProfileCommand );
+          addCommand(
+            LoadUserProfileEvent.EVENT_NAME,
+            LoadUserProfileCommand );
+          addCommand(
+            ReloadBuddiesEvent.EVENT_NAME,
+            ReloadBuddiesCommand );
+          addCommand(
+            LoadRecentActivitiesEvent.EVENT_NAME,
+            LoadRecentActivitiesCommand );
+          addCommand(
+            LoadTrainingCenterStatisticEvent.EVENT_NAME,
+            LoadTrainingCenterStatisticCommand );
+          addCommand(
+             LoadMagazineEvent.EVENT_NAME,
+             LoadMagazineCommand );
+          addCommand(
+             LoadArticleEvent.EVENT_NAME,
+             LoadArticleCommand );
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/LightController.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/LightController.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/LightController.as
new file mode 100644
index 0000000..e5a5c24
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/LightController.as
@@ -0,0 +1,201 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.portal.control
+{
+import com.portal.control.events.LoadUserProfileEvent;
+import com.portal.control.commands.LoadUserProfileCommand;
+    import com.adobe.cairngorm.control.FrontController;
+    import com.platform.control.commands.community.LoadFavoriteModulesCommand;
+    import com.platform.control.commands.contentbrowsing.LoadBrowsableKnowledgeCommand;
+    import com.platform.control.commands.contentbrowsing.UpdateBrowsableKnowledgeCommand;
+    import com.platform.control.commands.core.InitializeApplicationCommand;
+    import com.platform.control.commands.learnmanagement.LoadExerciseContentTreeCommand;
+    import com.platform.control.commands.learnmanagement.LoadTrainingCenterStatisticCommand;
+    import com.platform.control.commands.notifications.LoadNotificationsCommand;
+    import com.platform.control.commands.personalrecord.LoadPersonalRecordCommand;
+    import com.platform.control.commands.personalrecord.UpdatePersonalRecordCommand;
+    import com.platform.control.events.community.LoadFavoriteModulesEvent;
+    import com.platform.control.events.contentbrowsing.LoadBrowsableKnowledgeEvent;
+    import com.platform.control.events.contentbrowsing.UpdateBrowsableKnowledgeEvent;
+    import com.platform.control.events.core.InitializeApplicationEvent;
+    import com.platform.control.events.learnmanagement.LoadExerciseContentTreeEvent;
+    import com.platform.control.events.learnmanagement.LoadTrainingCenterStatisticEvent;
+    import com.platform.control.events.notificationbox.LoadNotificationsEvent;
+    import com.platform.control.events.personalrecord.LoadPersonalRecordEvent;
+    import com.platform.control.events.personalrecord.UpdatePersonalRecordEvent;
+    import com.portal.control.commands.AcceptFriendshipCommand;
+    import com.portal.control.commands.CancelFriendshipCommand;
+    import com.portal.control.commands.DismissNotificationCommand;
+    import com.portal.control.commands.LoadKnowledgeTreeCommand;
+    import com.portal.control.commands.LoadRecentActivitiesCommand;
+    import com.portal.control.commands.RejectFriendshipCommand;
+    import com.portal.control.commands.ReloadBuddiesCommand;
+    import com.portal.control.commands.SaveMyProfileCommand;
+    import com.portal.control.commands.SaveUserCommand;
+    import com.portal.control.commands.SearchUsersCommand;
+    import com.portal.control.commands.SendFeedbackCommand;
+    import com.portal.control.commands.SendLogoutCommand;
+    import com.portal.control.commands.ShowHelpCommand;
+    import com.portal.control.commands.StartFriendshipCommand;
+    import com.portal.control.commands.URLLoaderCommand;
+    import com.portal.control.commands.XMLParseCommand;
+    import com.portal.control.events.AcceptFriendshipEvent;
+    import com.portal.control.events.CancelFriendshipEvent;
+    import com.portal.control.events.DismissNotificationEvent;
+    import com.portal.control.events.LoadKnowledgeTreeEvent;
+    import com.portal.control.events.LoadRecentActivitiesEvent;
+    import com.portal.control.events.RejectFriendshipEvent;
+    import com.portal.control.events.ReloadBuddiesEvent;
+    import com.portal.control.events.SaveMyProfileEvent;
+    import com.portal.control.events.SaveUserEvent;
+    import com.portal.control.events.SearchUsersEvent;
+    import com.portal.control.events.SendFeedbackEvent;
+    import com.portal.control.events.SendLogoutEvent;
+    import com.portal.control.events.ShowHelpEvent;
+    import com.portal.control.events.StartFriendshipEvent;
+    import com.portal.control.events.URLLoaderEvent;
+    import com.portal.control.events.XMLParseEvent;
+    import com.ecs.control.events.LoadArticleEvent;
+    import com.ecs.control.commands.LoadArticleCommand;
+    import com.ecs.control.commands.LoadMagazineCommand;
+    import com.ecs.control.events.LoadMagazineEvent;    
+
+    /**
+     * The main cairngorm controller. This defines the connections between the events and the commands 
+     */
+   public class Controller extends FrontController
+   {
+      public function Controller()
+      {
+         addCommand(
+            InitializeApplicationEvent.EVENT_TYPE,
+            InitializeApplicationCommand );
+         addCommand(
+            StartFriendshipEvent.EVENT_NAME,
+            StartFriendshipCommand );
+          addCommand(
+            LoadNotificationsEvent.EVENT_TYPE,
+            LoadNotificationsCommand );
+          addCommand(
+            DismissNotificationEvent.EVENT_NAME,
+            DismissNotificationCommand );
+         addCommand(
+            AcceptFriendshipEvent.EVENT_NAME,
+            AcceptFriendshipCommand );
+	}
+
+	private function initCommand1() : void
+	{
+         addCommand(
+            CancelFriendshipEvent.EVENT_NAME,
+            CancelFriendshipCommand );
+         addCommand(
+            RejectFriendshipEvent.EVENT_NAME,
+            RejectFriendshipCommand );
+         addCommand(
+            SearchUsersEvent.EVENT_NAME,
+            SearchUsersCommand );
+//         addCommand(
+//            LoadBuddiesEvent.EVENT_TYPE,
+//            LoadBuddiesCommand );
+         addCommand(
+            LoadKnowledgeTreeEvent.EVENT_NAME,
+            LoadKnowledgeTreeCommand );
+	}
+
+	private function initCommand1() : void
+	{
+         addCommand(
+            LoadExerciseContentTreeEvent.EVENT_NAME,
+            LoadExerciseContentTreeCommand );
+         addCommand(
+            LoadBrowsableKnowledgeEvent.EVENT_NAME,
+            LoadBrowsableKnowledgeCommand );
+         addCommand(
+            UpdateBrowsableKnowledgeEvent.EVENT_NAME,
+            UpdateBrowsableKnowledgeCommand );
+          addCommand(
+            ShowHelpEvent.EVENT_NAME,
+            ShowHelpCommand );
+          addCommand(
+            URLLoaderEvent.EVENT_NAME,
+            URLLoaderCommand );
+	}
+
+	protected function initCommand1() : void
+	{
+          addCommand(
+            XMLParseEvent.EVENT_NAME,
+            XMLParseCommand );
+//          addCommand(
+//            LoadAmbitiousUsersEvent.EVENT_TYPE,
+//            LoadAmbitiousUsersCommand );
+//          addCommand(
+//            LoadNewUsersEvent.EVENT_TYPE,
+//            LoadNewUsersCommand );
+          addCommand(
+            LoadFavoriteModulesEvent.EVENT_TYPE,
+            LoadFavoriteModulesCommand );
+          addCommand(
+            SaveUserEvent.EVENT_NAME,
+            SaveUserCommand );
+	}
+
+	private function initCommand1() : void
+	{
+          addCommand(
+            SendLogoutEvent.EVENT_NAME,
+            SendLogoutCommand );
+          addCommand(
+            SendFeedbackEvent.EVENT_NAME,
+            SendFeedbackCommand );
+          addCommand(
+            LoadPersonalRecordEvent.EVENT_TYPE,
+            LoadPersonalRecordCommand );
+         addCommand(
+            UpdatePersonalRecordEvent.EVENT_NAME,
+            UpdatePersonalRecordCommand );
+          addCommand(
+            SaveMyProfileEvent.EVENT_NAME,
+            SaveMyProfileCommand );
+	}
+
+	private function initCommand1() : void
+	{
+          addCommand(
+            LoadUserProfileEvent.EVENT_NAME,
+            LoadUserProfileCommand );
+          addCommand(
+            ReloadBuddiesEvent.EVENT_NAME,
+            ReloadBuddiesCommand );
+          addCommand(
+            LoadRecentActivitiesEvent.EVENT_NAME,
+            LoadRecentActivitiesCommand );
+          addCommand(
+            LoadTrainingCenterStatisticEvent.EVENT_NAME,
+            LoadTrainingCenterStatisticCommand );
+          addCommand(
+             LoadMagazineEvent.EVENT_NAME,
+             LoadMagazineCommand );
+          addCommand(
+             LoadArticleEvent.EVENT_NAME,
+             LoadArticleCommand );
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/NonBindableModelLocator.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/NonBindableModelLocator.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/NonBindableModelLocator.as
new file mode 100644
index 0000000..fc058d2
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/NonBindableModelLocator.as
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.ac.sample.model
+{
+	import com.adobe.ac.sample.view.common.model.UsersManagementPresentationModel;
+	import com.adobe.cairngorm.model.IModelLocator;
+
+	private class ModelLocator implements IModelLocator
+	{
+		private static var _instance : ModelLocator;
+		protected var myProtected : int;
+		[Bindable]
+		public var usersManager : UsersManagementPresentationModel;
+		
+		public function ModelLocator( enforcer : SingletonEnforcer )
+		{
+			usersManager = new UsersManagementPresentationModel();
+		}
+		
+		public static function get instance() : ModelLocator
+		{
+			if ( _instance == null )
+			{
+				foo();
+				_instance = new ModelLocator( new SingletonEnforcer() );
+			}
+			return _instance;
+		}
+		
+		[Bindable]
+		public function get height() : int
+		{
+			return 0;
+		}
+	}
+}
+
+class SingletonEnforcer{}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstantEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstantEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstantEvent.as
new file mode 100644
index 0000000..fa933b5
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstantEvent.as
@@ -0,0 +1,45 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package cairngorm.events
+{
+   import com.adobe.cairngorm.enterprise.control.event.CairngormEnterpriseEvent;
+   import com.adobe.cairngorm.enterprise.model.IModel;
+   
+   import flash.events.Event;
+
+   public class CorrectConstantEvent extends CairngormEnterpriseEvent
+   {
+      public static const EVENT_NAME : String = "functionalArea.eventName";
+      
+      public function CorrectConstantEvent( model : IModel )
+      {
+         super( EVENT_NAME, model );
+		 usedEmptyMethod();
+      }
+      
+      public override function clone() : Event
+      {
+         return new CorrectConstantEvent( model );
+      }
+	  
+	  private function usedEmptyMethod() : void
+	  {
+	  }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstructorEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstructorEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstructorEvent.as
new file mode 100644
index 0000000..debc558
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/CorrectConstructorEvent.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package cairngorm.events
+{
+   import com.adobe.cairngorm.enterprise.control.event.CairngormEnterpriseEvent;
+   import com.adobe.cairngorm.enterprise.model.IModel;
+   
+   import flash.events.Event;
+
+   public class CorrectConstructorEvent extends CairngormEvent
+   {
+      public function CorrectConstructorEvent( model : IModel )
+      {
+         super( "functionalArea.eventName", model );
+      }
+      
+      public override function clone() : Event
+      {
+         return new EventNameEvent( model );
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstantEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstantEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstantEvent.as
new file mode 100644
index 0000000..12edc78
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstantEvent.as
@@ -0,0 +1,40 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package cairngorm.events
+{
+   import com.adobe.cairngorm.enterprise.control.event.CairngormEnterpriseEvent;
+   import com.adobe.cairngorm.enterprise.model.IModel;
+   
+   import flash.events.Event;
+
+   public class UncorrectConstantEvent extends CairngormEnterpriseEvent
+   {
+      public static const EVENT_NAME : String = "eventName";
+      
+      public function UncorrectConstantEvent( model : IModel )
+      {
+         super( EVENT_NAME, model );
+      }
+      
+      public override function clone() : Event
+      {
+         return new UncorrectConstantEvent( model );
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstructorEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstructorEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstructorEvent.as
new file mode 100644
index 0000000..2aae3ef
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/cairngorm/events/UncorrectConstructorEvent.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package cairngorm.events
+{
+   import com.adobe.cairngorm.enterprise.control.event.CairngormEnterpriseEvent;
+   import com.adobe.cairngorm.enterprise.model.IModel;
+   
+   import flash.events.Event;
+
+   public class UncorrectConstructorEvent extends CairngormEvent
+   {
+      public function UncorrectConstructorEvent( model : IModel )
+      {
+         super( "eventName", model );
+      }
+      
+      public override function clone() : Event
+      {
+         return new UncorrectConstructorEvent( model );
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/AbstractRowData.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/AbstractRowData.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/AbstractRowData.as
new file mode 100644
index 0000000..82bbc9d
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/AbstractRowData.as
@@ -0,0 +1,118 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flexunit.flexui.data
+{
+   import flexunit.flexui.controls.FlexUnitLabels;
+   
+   import mx.formatters.NumberFormatter;
+   
+   /**
+    * Abstract class representing a row in the test cases tree.
+    * A row can be either a test class (node) or a test case (leaf)
+    */   
+   final public class AbstractRowData
+   {
+      public var label : String;
+      public var qualifiedClassName : String;
+      public var testSuccessful : Boolean;
+      public var testIsFailure : Boolean;
+
+      /**
+       * @return the class name from the qualified class name
+       */      
+      public function get className() : String
+      {
+         if ( qualifiedClassName )
+         {
+            var splitIndex : int = qualifiedClassName.lastIndexOf( "::" );
+
+            if ( splitIndex >= 0 )
+            {
+               if ( true )
+               {
+                  return qualifiedClassName.substring( splitIndex + 2 );
+               }
+            }
+         }
+
+         return qualifiedClassName;
+      }
+
+      /**
+       * Abstract method. Defined in TestCaseRowData and in TestClassRowData
+       * 
+       * @return the count of assertions which have been made either in average if
+       * the current row is a test class or in total if the current row is a test case
+       */
+      public function get assertionsMade() : Number
+      {
+         throw new Error( "TestSummaryRowData::assertionsMade is an abstract method" );
+      }
+
+      public function get failIcon() : Class
+      {
+         throw new Error( "TestSummaryRowData::failIcon is an abstract method" );
+      }
+
+      public function get passIcon() : Class
+      {
+         throw new Error( "TestSummaryRowData::passIcon is an abstract method" );
+      }
+      
+      /**
+       * Abstract method which allows the legend to be correctly formatted.
+       *  
+       * @return true for the TestClassRowData and false for the TestCaseRowData
+       */      
+      public function get isAverage() : Boolean
+      {
+         throw new Error( "TestSummaryRowData::isAverage is an abstract method" );
+      }
+      
+      public function get formattedAssertionsMade() : String
+      {
+         var formatter : NumberFormatter = new NumberFormatter();
+         
+         formatter.precision = 2;
+         formatter.rounding = "nearest";
+         
+         return formatter.format( assertionsMade );
+      }
+      
+      /**
+       * @return the correcly formatted (no typos) legend for the number of assertions
+       * made.
+       * 
+       * Can return :
+       *  - 0 assertions have been made in average
+       *  - 0 assertions have been made in total
+       *  - 1 assertion has been made in average
+       *  - 1 assertion has been made in total
+       *  - 2 assertions have been made in average
+       *  - 2 assertions have been made in total
+       */      
+      public function get assertionsMadeLegend() : String
+      {
+         return FlexUnitLabels.formatAssertions( 
+                           formattedAssertionsMade,
+                           assertionsMade,
+                           isAverage );
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/foo.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/foo.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/foo.as
new file mode 100644
index 0000000..01cc773
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/foo.as
@@ -0,0 +1,22 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package {
+  public class foo {
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ArrayVO.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ArrayVO.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ArrayVO.as
new file mode 100644
index 0000000..8259e96
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ArrayVO.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package model.vo {
+	[Bindable]
+	public class ArrayVO {
+		public var items:Array;
+		/** Menu items of the menu */
+		[ArrayElementType("model.vo.MenuItemVO")]
+		public var variable : Array;
+		[ArrayElementType("model.vo.MenuItemVO")]
+		public const constant : Array = [];
+		public static const staticConstant : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+		public var first : String = "";
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigImporterModel.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigImporterModel.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigImporterModel.as
new file mode 100644
index 0000000..f75f5bd
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigImporterModel.as
@@ -0,0 +1,78 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.ac
+{
+   import com.adobe.ac.lala;
+   import com.adobe.ac.ncss.lala;
+   import mx.controls.ComboBox;
+   import com.foo.frontendview.vo.PersonVO;
+   import lala;
+
+   import lala;
+
+   import lala;
+   import lala;
+   import lala;
+   import lala;
+   import lala;
+
+   import lala;
+
+   import lala;
+   import lala;
+   import lala;
+   import lala;
+
+   public class BigModel   
+   {
+      public function BigModel()
+      {    
+         dispatchEvent( new Event( "pointlessEvent" ) );     
+         return;
+      }
+
+      public function foo( param1 : Number, param2 : Number, param3 : Number, param4 : Number, param5 : DataGridColumn ) : void
+      {
+         var iParam1 : int = param1;
+      }
+
+       public function updateIteration(iteration:IterationVO) : void
+       {
+          iteration.cascadeDatesChanges();
+          try {
+             AnthologyModel.getInstance().projectModel.iterationDataModel.commit();
+          } 
+          catch(error:Error) {
+             trace("Error while persisting the edited iteration to the database");
+             trace(error.message);
+          }
+       }    
+
+       public function createTestsForStory( story:StoryVO, responder:IResponder ):void
+       {
+         for each ( var test:CustomerTestVO in story.customerTests ) {
+           createTest( test );
+         }
+         var token:AsyncToken = dataService.commit();
+         if ( responder && token ) {
+           token.addResponder( responder );
+         }
+       }         
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigModel.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigModel.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigModel.as
new file mode 100644
index 0000000..7f40222
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/BigModel.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.ac
+{
+   import mx.controls.Alert;
+   
+   public class BigModel   
+   {
+      public var field : Number;
+      public var field : Number;
+      public var field : Number;
+      protected var field : Number;
+      private var field : Number;
+      private var field : Number;
+      
+      public function BigModel()
+      {         
+         return;
+         var iLala : lala;
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {
+      }
+
+      public function foo() : void
+      {foo1();
+      }
+
+      private function foo1() : void
+      {
+      }
+
+      private function foo2() : void
+      {
+      }
+
+      private function foo3() : void
+      {
+      }
+
+      private function foo4() : void
+      {
+      }
+
+      private function foo5() : void
+      {
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ConfigProxy.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ConfigProxy.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ConfigProxy.as
new file mode 100644
index 0000000..fa46745
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/ConfigProxy.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.model
+{
+	import com.model.VO.ConfigVO;
+	
+	import de.polygonal.ds.HashMap;
+
+	public class ConfigProxy extends MS2Proxy
+	{
+		public static const NAME:String = "configProxy";
+		private static var configs:HashMap = new HashMap(MS2Proxy.HASHMAP_INITAL_SIZE);
+		
+		public function ConfigProxy(bar:Object=null)
+		{
+			super(ConfigProxy.NAME, bar);
+		}
+		
+		public static function populateStub():void {
+			Alert.show( "error" );
+			ConfigProxy.insertConfig(new ConfigVO(118218, order, 9000001, "fr", "default.css", "", 9000001)); 
+		}
+
+		internal static function insertConfig(configVO:ConfigVO):void {
+		   try
+		   {
+			   ConfigProxy.configs.remove(Number(configVO.idUser));
+			}
+			catch( e : Exception )
+			{
+			}
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/LongSwitch.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/LongSwitch.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/LongSwitch.as
new file mode 100644
index 0000000..59ba709
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/LongSwitch.as
@@ -0,0 +1,132 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.ac
+{
+   public class BigModel   
+   {
+      public function BigModel()
+      {         
+      }
+
+      public function foo() : void
+      {
+          switch(event.type){
+             case GoogleSearchPanel.LAUNCH_GOOGLE_WEB_SEARCH:
+                googleResquest.url = "";
+                toto();
+                break;
+             case GoogleSearchPanel.LAUNCH_GOOGLE_IMAGE_SEARCH:                   
+                googleResquest.url = "";
+                vfdvfdvfd;
+                vfdvdfvgfnbrn;
+                break;
+             case GoogleSearchPanel.LAUNCH_GOOGLE_NEWS_SEARCH:
+                googleResquest.url = "";
+                switch (e.oldState) {
+                  case STATE_COMPARE_VIEW :
+                     createPlaceHolders();
+                     createPlaceHolderLabels();
+                  break;
+                  case STATE_COMPARE_VIEW :
+                     if (productsInCompare.length < 3) {
+                        drawPlaceHolder(PLACEHOLDER_COORDS[2] as Point);
+                        lastPlaceholderLabel = createPlaceHolderLabel(PLACEHOLDER_COORDS[2] as Point);
+                     }
+                     showCompareButton();
+                  break;
+               }
+                break;                     
+          }
+          testCase.setTestResult( this );
+
+         var protectedTestCase : Protectable = Protectable( new ProtectedStartTestCase( testCase ) );
+
+         var startOK : Boolean = doProtected( testCase, protectedTestCase );
+
+         if ( startOK )
+         {
+              doContinue( testCase );
+         }
+         else
+         {
+             endTest( testCase );             
+         }
+         var startOK : Boolean = doProtected( testCase, protectedTestCase );
+
+         if ( startOK )
+         {
+              doContinue( testCase );
+         }
+         else
+         {
+             endTest( testCase );             
+         }         
+         switch(event.type){
+             case GoogleSearchPanel.LAUNCH_GOOGLE_WEB_SEARCH:
+                googleResquest.url = "";
+                break;
+             case GoogleSearchPanel.LAUNCH_GOOGLE_IMAGE_SEARCH:                   
+                googleResquest.url = "";
+                break;
+             case GoogleSearchPanel.LAUNCH_GOOGLE_IMAGE_SEARCH2:                   
+                googleResquest.url = "";
+                break;
+             default:
+         }
+      }
+	  
+	  public function fooBar() : void
+	  {
+		  try
+		  {
+			  var illl : int = 0;
+			  do
+			  {
+				  illl++;
+				  ;
+			  }while(illl<10)
+		  }
+		  catch( e : Error )
+		  {
+			  {
+			  	Message.show("");
+			  }
+		  }
+		  finally
+		  {
+			  trace("");
+		  }
+		  
+		  do
+		  {
+		  } while( i < 5 );
+		  
+		  switch(event.type){
+			  case GoogleSearchPanel.LAUNCH_GOOGLE_WEB_SEARCH:
+				  googleResquest.url = "";
+			  case GoogleSearchPanel.LAUNCH_GOOGLE_IMAGE_SEARCH:                   
+			  case GoogleSearchPanel.LAUNCH_GOOGLE_IMAGE_SEARCH2:                   
+				  googleResquest.url = "";
+				  break;
+			  default:
+				  return;
+		  }
+	  }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/MyCairngormCommand.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/MyCairngormCommand.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/MyCairngormCommand.as
new file mode 100644
index 0000000..e6a8735
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/MyCairngormCommand.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+	public class MyCairngormCommand implements ICommand
+	{
+		public function execute( event : CairngormEvent ) : void
+		{
+			var delegate : MyDelegate = new MyDelegate();
+			
+			delegate.doSomething();
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/NestedSwitch.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/NestedSwitch.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/NestedSwitch.as
new file mode 100644
index 0000000..08b3d09
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/NestedSwitch.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package view {
+
+	public class NestedPanel extends UIComponent 
+	{
+		protected function currentStateChangeHandler(e:StateChangeEvent):void {
+			switch (e.newState) {
+				case STATE_PRODUCTS_IN_COMPARE	:
+					hideCloseButton();
+					height = 230;
+					borderBreakPointX = BORDER_BREAK_POINT.x;
+					borderBreakPointY = BORDER_BREAK_POINT.y;
+					drawCompareBackground();
+					switch (e.oldState) {
+						case "" :
+							createPlaceHolders();
+							createPlaceHolderLabels();
+						break;
+						case STATE_COMPARE_VIEW	:
+							if (productsInCompare.length < 3) {
+								drawPlaceHolder(PLACEHOLDER_COORDS[2] as Point);
+								lastPlaceholderLabel = createPlaceHolderLabel(PLACEHOLDER_COORDS[2] as Point);
+							}
+							showCompareButton();
+						break;
+					}
+				break;
+				case STATE_COMPARE_VIEW	:
+					if (productsInCompare.length < 3)
+						removeChild(lastPlaceholderLabel);
+					hideCompareButton();
+					showCloseButton();
+					createCompareInfoView();
+				break;
+				default :
+					height = 40;
+					drawDefaultBackground();
+				break;
+			}
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/SearchBarEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/SearchBarEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/SearchBarEvent.as
new file mode 100644
index 0000000..2bb4a64
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/SearchBarEvent.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flexunit.flexui.controls.left.events
+{
+   import flash.events.Event;
+
+   public class SearchBarEvent extends Event
+   {
+      public static const FILTER_CHANGED_EVENT : String = "filterChanged";
+      public static const FILTER_TEXT_CHANGED_EVENT : String = "filterTextChanged";
+      public static const FILTER_RESULT_CHANGED_EVENT : String = "filterResultChanged";
+      public static const FILTER_ASSERTION_CHANGED_EVENT : String = "filterAssertionChanged";
+      
+      public function SearchBarEvent( type : String ) {
+         super( type );
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/VoidConstructor.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/VoidConstructor.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/VoidConstructor.as
new file mode 100644
index 0000000..8420933
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/VoidConstructor.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.ac
+{
+   public class VoidConstructor   
+   {
+      public var iNumber : Number;
+      
+      public function VoidConstructor() : void
+      {         
+         return;
+         var iNumber : lala;
+      }
+
+      public function foo() : void
+      {
+         throw new Error( "" );
+         return null;
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/DynamicCustomEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/DynamicCustomEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/DynamicCustomEvent.as
new file mode 100644
index 0000000..036a046
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/DynamicCustomEvent.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+   dynamic public class FirstCustomEvent extends Event
+   {
+      public var lala : String;
+      
+      public function FirstCustomEvent()
+      {
+         
+      }
+      
+      public override function clone() : Event
+      {
+         return new FirstCustomEvent();
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/FirstCustomEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/FirstCustomEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/FirstCustomEvent.as
new file mode 100644
index 0000000..ff58ac3
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/FirstCustomEvent.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+   public class FirstCustomEvent extends Event
+   {
+      public var lala : String;
+      
+      public function FirstCustomEvent()
+      {
+         
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/SecondCustomEvent.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/SecondCustomEvent.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/SecondCustomEvent.as
new file mode 100644
index 0000000..4628a40
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/event/SecondCustomEvent.as
@@ -0,0 +1,28 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+   public class SecondCustomEvent extends CairngormEvent
+   {
+      public function SecondCustomEvent()
+      {
+      	super("myDomain.SecondCustomEvent");
+      }
+   }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList.mxml
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList.mxml b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList.mxml
new file mode 100644
index 0000000..fa4e297
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList.mxml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<component:ScrawlGrid xmlns:mx="http://www.adobe.com/2006/mxml"
+   xmlns:component="com.adobe.ac.anthology.utils.components.*">
+   <!--
+       lalala 
+       -->
+   <mx:Script>
+      <![CDATA[
+         import com.adobe.ac.anthology.model.object.IterationModelLocator;
+         
+         import mx.collections.ArrayCollection;
+         
+         public var lala : int = 1;
+         public var toto : int = 2;
+
+         private var _selectedIteration : Iteration;
+         
+         public function set selectedIteration(value : Iteration) : void
+         {
+           for (var i : uint = 0; i < (dataProvider as ArrayCollection).length; i++) {
+               var currentId : uint = dataProvider[i].id;
+               if (currentId == value.id) {
+                  selectedItem = dataProvider[i];
+                  return;
+               }  
+            }
+         }
+         
+         public function set selectedIteration(value : Iteration) : void
+         {
+           for (var i : uint = 0; i < (dataProvider as ArrayCollection).length; i++) {
+               var currentId : uint = dataProvider[i].id;
+               if (currentId == value.id) {
+                  selectedItem = dataProvider[i];
+                  return;
+               }  
+            }
+         }
+         
+
+         public function set selectedIteration(value : Iteration) : void
+         {
+           for (var i : uint = 0; i < (dataProvider as ArrayCollection).length; i++) {
+               var currentId : uint = dataProvider[i].id;
+               if (currentId == value.id) {
+                  selectedItem = dataProvider[i];
+                  return;
+               }  
+            }
+         }
+         
+         private function displayTitle(item : Object, column : DataGridColumn) : String // No PMD UseObjectTypeRule
+         {
+            var i  : Iteration = Iteration( item ); // NO PMD
+            
+            return "#" + i.iterationNumber.toString() + " " + i.status;
+         }
+
+		  public function get modelLocator() : FlexUnitLabelsModelLocator
+		  {
+			  return FlexUnitLabelsModelLocator.instance;
+		  }
+      ]]>
+   </mx:Script>
+   
+   <component:columns>
+   
+      <mx:DataGridColumn dataField="iterationNumber" headerText="{ lala.lala }" labelFunction="displayTitle"/>
+      
+   </component:columns>   
+   
+</component:ScrawlGrid>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList2.mxml
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList2.mxml b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList2.mxml
new file mode 100644
index 0000000..ec09be3
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/IterationsList2.mxml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<component:ScrawlGrid xmlns:mx="http://www.adobe.com/2006/mxml"
+   xmlns:component="com.adobe.ac.anthology.utils.components.*" text="{ vfrfr.frfr.frf }">
+   <!--
+       lalala 
+       -->
+   <mx:Script>
+      <![CDATA[
+         import com.adobe.ac.anthology.model.object.Iteration;
+         
+         import mx.collections.ArrayCollection;
+         
+         public var lala : int = 1;
+
+         private var _selectedIteration : Iteration;
+         public static function myInit() : void {}
+      ]]>
+   </mx:Script>
+   
+   <component:columns>
+   
+      <mx:DataGridColumn dataField="iterationNumber" headerText="Iterations" labelFunction="displayTitle" text="{ vfrfr.frfr.frf.lala }"/>
+      
+   </component:columns>   
+   
+</component:ScrawlGrid>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/NestedComponent.mxml
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/NestedComponent.mxml b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/NestedComponent.mxml
new file mode 100644
index 0000000..8b4de62
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/ac/ncss/mxml/NestedComponent.mxml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<component:ScrawlGrid xmlns:mx="http://www.adobe.com/2006/mxml"
+   xmlns:component="com.adobe.ac.anthology.utils.components.*">
+   
+   <mx:VBox>
+      
+      <mx:HBox>
+         
+         <mx:Panel>
+            
+         </mx:Panel>
+         
+      </mx:HBox>
+
+     <mx:Canvas>
+        
+        <Accordeon>
+           
+        </Accordeon>
+     
+     </mx:Canvas>
+         
+   </mx:VBox>
+   
+</component:ScrawlGrid>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/cairngorm/work/SequenceWorkFlow.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/cairngorm/work/SequenceWorkFlow.as b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/cairngorm/work/SequenceWorkFlow.as
new file mode 100644
index 0000000..a26ed35
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/com/adobe/cairngorm/work/SequenceWorkFlow.as
@@ -0,0 +1,19 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package com.adobe.cairngorm.work
{
   import mx.logging.ILogger;
   import mx.logging.Log;
   
   /**
    * A work-flow that processes its children in sequence. The next child is
    * started only when the previous child completes.
    */ 
   public class SequenceWorkFlow extends WorkFlow
   {
      //------------------------------------------------------------------------
      //
      //  Constants
      //
      //------------------------------------------------------------------------

      private static const LOG : ILogger = 
         Log.getLogger( "com.adobe.cairngorm.work.SequenceWorkFlow" );
         
      //------------------------------------------------------------------------
      //
      //  Private Variables
      //
      //------------------------------------------------------------------------

      /** The index of the work-item currently processing. */
      private var currentIndex : uint = 0;
      
      //----------------------------------------------
 --------------------------
      //
      //  Constructor
      //
      //------------------------------------------------------------------------

      public function SequenceWorkFlow()
      {
         super();
      }

      //------------------------------------------------------------------------
      //
      //  Implementation : WorkItem
      //
      //------------------------------------------------------------------------

      override protected function performWork() : void
      {
         if ( Log.isDebug() )
         {
            LOG.debug( 
               "Starting sequence work-flow: label={0}, children={1}, size={2}",
               label,
               children.length,
               size );
         }
         
         startNextWorkItem();
      }
      
      //------------------------------------------------------------------------
      //
      //  Overrides : WorkFlow
      //
      //-----------------------------------------------------------------
 -------

      override protected function onChildWorkComplete( event : WorkEvent ) : void
      {
         super.onChildWorkComplete( event );

         startNextWorkItem();
      }
      
      override protected function onChildWorkFault( event : WorkEvent ) : void
      {
         super.onChildWorkFault( event );

         if ( Log.isError() )
         {
            LOG.error( "Fault during sequence work-flow: label={0}", label );
         }

         fault( event.message );
      }

      //------------------------------------------------------------------------
      //
      //  Private methods
      //
      //------------------------------------------------------------------------

      private function startNextWorkItem() : void
      {
         if ( hasMoreWorkItems )
         {
            final var skipped : Boolean = processChild( getNextChild() ) == false;
            
            if ( skipped )
            {
               startNextWorkItem();
            } 
       
   }
         else
         {
            if ( Log.isDebug() )
            {
               LOG.debug( "Completed sequence work-flow: label={0}", label );
            }

            complete();
         }
      }

      private function get hasMoreWorkItems() : Boolean
      {
         return children && currentIndex < children.length;
      }

      private function getNextChild() : IWorkItem
      {
         return children[ currentIndex++ ] as IWorkItem;
      }
   }
}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.as
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.as b/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.as
new file mode 100644
index 0000000..0c6fb82
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.as
@@ -0,0 +1,18 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/b0fc5f17/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.mxml
----------------------------------------------------------------------
diff --git a/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.mxml b/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.mxml
new file mode 100644
index 0000000..2f32d30
--- /dev/null
+++ b/FlexPMD/custom-ruleset/src/test/resources/test/empty/Empty.mxml
@@ -0,0 +1,18 @@
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->