Estou iniciando meus estudos do SWIZ framework e estou usando os livros e
ebooks do Daniel e o código está dando um erro que não consigo resolver:
Error: InjectProcessor Error: bean of type [class EstadoController] not
found! at org.swizframework.processors::InjectProcessor/addInjectByType()...

*beans/Bean.mxml*
<?xml version="1.0" encoding="utf-8"?>
<swiz:BeanProvider
         xmlns:fx="http://ns.adobe.com/mxml/2009";
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx"
         xmlns:swiz="http://swiz.swizframework.org";
xmlns:services="services.*" xmlns:controllers="controllers.*">

    <swiz:ServiceHelper id="serviceHelper" />

</swiz:BeanProvider>

*controllers/ControllerBase.as*
package controllers
{
    import flash.events.IEventDispatcher;
    import org.swizframework.utils.services.ServiceHelper;

    public class ControllerBase
    {
        [Dispatcher]
        public var dispatcher:IEventDispatcher;

        [Inject]
        public var serviceHelper:ServiceHelper;
    }
}

*controllers/EstadoController.as*
package controllers
{
    import events.EstadoEvent;
    import mx.collections.ArrayCollection;
    import mx.collections.ArrayList;
    import mx.collections.IList;
    import mx.controls.Alert;
    import mx.rpc.events.ResultEvent;
    import services.EstadoService;
    import valueObjects.EstadoVO;

    public class EstadoController extends ControllerBase
    {
        [Inject]
        public var estadoService:EstadoService;

        [Bindable]
        public var dataProvider:ArrayList;

        [Bindable]
        public var currentEstado:EstadoVO;

        public function getAll():void{
            this.serviceHelper.executeServiceCall(estadoService.getAll(),
onGetAll);
        }

        private function onGetAll(event:ResultEvent):void{
            this.dataProvider = new ArrayList(event.result as Array);
            dispatcher.dispatchEvent(new EstadoEvent(EstadoEvent.GETALL));
        }
    }
}

*events/EstadoEvent.as*
package events
{
    import flash.events.Event;
    public class EstadoEvent extends Event
    {
        public static const CREATE:String = "EstadoEvent.CREATE";
        public static const SAVE:String = "EstadoEvent.SAVE";
        public static const DEL:String = "EstadoEvent.DEL";
        public static const GETALL:String = "EstadoEvent.GETALL";
        public function EstadoEvent(type:String)
        {
            super(type, true, true);
        }
    }
}

*services/ServiceBase.as*
package services
{
    import mx.rpc.remoting.mxml.RemoteObject;
    public class ServiceBase extends RemoteObject
    {
        public function ServiceBase(source:String)
        {
            super("amf");
            this.endpoint = "../gateway.php";
            this.source = source;
        }
    }
}

*services/EstadoService.as*
package services
{
    public dynamic class EstadoService extends ServiceBase
    {
        public function EstadoService()
        {
            super("EstadoService");
        }
    }
}
*valueObjects/EstadoVO.as*
package valueObjects
{
    [Bindable]
    [RemoteClass(alias="EstadoVO")]
    public class EstadoVO
    {
        public var id:int;
        public var nome:String;
    }
}

*views/EstadoView.mxml*
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009";
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx"
         title="Estados"
         width="400" height="300">

    <s:layout>
        <s:VerticalLayout paddingTop="10" paddingRight="10"
paddingBottom="10" paddingLeft="10" />
    </s:layout>

    <fx:Script>
        <![CDATA[
            import controllers.EstadoController;
            import events.EstadoEvent;
            import spark.events.GridSelectionEvent;
            import valueObjects.EstadoVO;

            [Inject]
            [Bindable]
            public var estadoController:EstadoController;

            [PostConstruct]
            public function onPostConstruct():void{
                estadoController.getAll();
            }
        ]]>
    </fx:Script>
    <s:DataGrid id="dataGrid" width="100%" height="100%"
                dataProvider="{estadoController.dataProvider}">
        <s:columns>
            <s:ArrayList>
                <s:GridColumn dataField="nome" headerText="Nome" />
                <s:GridColumn dataField="id" headerText="ID"
visible="false" />
            </s:ArrayList>
        </s:columns>
    </s:DataGrid>
</s:Panel>



-- 
Wemerson Guimarães
Rio Verde - Go - Brasil

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a