1 / 16

Eagle Framework

Eagle Framework. ANEES-UR-REHMAN. Introduction. Domain Driven Application Plateform It develops any enterprise application for web with any kind of layout by only defining domain objects with meta model information. Central Features. Rich Internet Application Domain Driven Architecture

yama
Download Presentation

Eagle Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Eagle Framework ANEES-UR-REHMAN

  2. Introduction Domain Driven Application Plateform • It develops any enterprise application for web with any kind of layout by only defining domain objects with meta model information.

  3. Central Features • Rich Internet Application • Domain Driven Architecture • Modular Architecture • Dynamic Application Generation • Dynamic Bindable Form Generation • GWT/HTML5 based Application • Dynamic In-memory Compiler

  4. Central Features contd.. • Rules Oriented Service Model • JavaEE 6.0 compatible • Using CDI for service injection • Easy and Fast to Develop and Maintain • Configured and Controlled by Meta Model Architecture

  5. Defining Use case • @Actions(actions = { @Action(actionType = ActionTypes.SUBMIT_ACTION, performerType = ActionPerformerType.JAVA, exeution= UserProfileAction.class), @Action(actionType = ActionTypes.SEARCH_ACTION, performerType = ActionPerformerType.JAVA, exeution = UserProfileSearchAction.class)}) • @DomainObject(domainObject = UsersBean.class, position = "1", groups={@Groups(displayOption=DisplayOptionType.CASCADE, group={@Group(name="User Credentials", position="2", displayOption=DisplayOptionType.TABBED, properties={"userRank","userRoles"})})}) • @ExceptDomainObjectPropertyPolicy(domainObject = UsersBean.class, genralPolicy = DomainPerpertiesAllowType.ALLOW_ALL, properties = { @DomainProperties(property = "titles"), @DomainProperties(property="id"), @DomainProperties(property="address") }) • publicclass UserProfilePanel extends BaseComponentBuilder { • privatestaticfinallongserialVersionUID = 1L; • publicstaticfinal String COMPONENT_ID = UserProfilePanel.class.getName(); • @Override • public String getComponentIdentity() { • returnCOMPONENT_ID; • } • @Override • public String getFormTitle() { • return "User Profile"; • }

  6. Defining Properties for SearchResult Table • Create the file with USECASEID.out and USECASEID.in to define the properties to take part in Searching and then populating in PaggedTable • META-INF/search-table/Usecase_Id.in Usecase_id.out

  7. Defining Domain Object • Component will defined by the return type of property, if not defined by annotation • For Number, BigDecimal, Integer => FormattedTextField • For String => TextField Component • For String with @Password => PasswordField Component • For String with @RadioButton => Radio Group Component • For String with @Tablle => Table Component • For Boolean => CheckBox Component • For java.util.Date => PopupDate Component • For Enumeration with @Enumerated => Combobox Component (For Static Values)

  8. Defining Domain Object contd.. • Component also can be defined by the Meta-Model Information • @ManyToMany => Table Component • @OneToMany => Table Component • @ManyToOne => Combobox Component (retrieved from table) • @RadioButton => RadioButton Group Component • @Table => Table Component • Component constraint information • @PropertyConstraints(isMandatory = MandatoryType.TURE, maxLength = "8", inputCaseType = StringInputCaseType.UPPERCASE, textInputDataType = TextFiledInputDataType.ONLYALPHA)

  9. Defining Domain Object contd.. • Component position can be defined by the Meta-Model Information • @UiComponentPosition( positionColumn = "1", positionRow = "1", tableDisplayColumn= "1") • Only 2 Columns are supported by the template – if more columns are required then Template must be modified accordingly…

  10. Create Container for Use cases • Create the container for usecases by extending BaseContainerBuilder. • Register the usecase IDs with container. • Please follow the example giving in eagle-coders-server-kernui.

  11. Registering the Usecase • The usecase must be registered to conf/ com.eagle.coders.common.ui.interfaces.IComponentfile inside eagle-coders-server-kern project • The container must be registered to conf/ com.eagle.coders.common.ui.component.IUseCasesContainerfile inside eagle-coders-server-kern project

  12. Modularity System • Modularity is done by using Netbeanse org-openide-util.jar • Above file must be in ear file or lib folder of deployable server

  13. Thank You

More Related