Example usage for com.vaadin.ui HorizontalLayout addComponent

List of usage examples for com.vaadin.ui HorizontalLayout addComponent

Introduction

In this page you can find the example usage for com.vaadin.ui HorizontalLayout addComponent.

Prototype

@Override
public void addComponent(Component c) 

Source Link

Document

Add a component into this container.

Usage

From source file:com.github.moscaville.contactsdb.main.DetailView.java

private TextArea createNotesField(String inputPrompt, HorizontalLayout horizontalLayout) {
    TextArea textArea = new TextArea();
    textArea.setInputPrompt(inputPrompt);
    textArea.setImmediate(true);/*from   w w  w . ja  v  a2  s  .  c  om*/
    textArea.setNullRepresentation("");
    if (horizontalLayout != null) {
        horizontalLayout.addComponent(textArea);
    }
    return textArea;
}

From source file:com.github.moscaville.contactsdb.main.DetailView.java

private ComboBox createComboBox(String label, List<LookupBase> items, HorizontalLayout horizontalLayout) {
    ComboBox comboBox = new ComboBox();
    RepresentativeUIConverter converter = new RepresentativeUIConverter(items);
    comboBox.setConverter(converter);//from   w  w  w  . j  av a2 s  . c o m
    comboBox.setInputPrompt(label);
    comboBox.setImmediate(true);
    List<String> ids = new ArrayList<>();
    items.stream().forEach((item) -> {
        ids.add(item.getName());
    });
    comboBox.addItems(ids);
    horizontalLayout.addComponent(comboBox);
    return comboBox;
}

From source file:com.github.peholmst.springsecuritydemo.ui.CategoryBrowser.java

License:Apache License

/**
 * Creates the category browser component.
 *//* w w  w.j  av a2s . c  o  m*/
@SuppressWarnings("serial")
private void createComponent() {
    categoryContainer = new CategoryContainer(getCategoryService());
    categoryContainer.refresh();

    /*
     * The tree will show all the categories returned from the category
     * service.
     */
    categoryTree = new Tree();
    {
        categoryTree.setSizeFull();
        categoryTree.setContainerDataSource(categoryContainer);
        categoryTree.setItemCaptionPropertyId("name");
        categoryTree.setImmediate(true);
    }

    /*
     * The form for editing categories is hidden by default and is shown
     * when the user clicks the edit or add button.
     */
    categoryForm = new CategoryForm();

    /*
     * The toolbar will be placed at the bottom of the browser and contains
     * buttons for refreshing the category tree, and adding, editing and
     * removing categories.
     */
    final HorizontalLayout toolbar = new HorizontalLayout();
    {
        /*
         * Button: Refresh the category browser
         */
        refreshButton = new Button();
        refreshButton.setIcon(new ThemeResource("icons/16/refresh.png"));
        refreshButton.setStyleName("small");
        refreshButton.setDescription(getI18nProvider().getMessage("categories.refresh.descr"));
        refreshButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionRefresh();
            }
        });
        toolbar.addComponent(refreshButton);

        /*
         * Button: Add a new category. The currently selected category will
         * be used as parent.
         */
        addButton = new Button();
        addButton.setIcon(new ThemeResource("icons/16/add.png"));
        addButton.setStyleName("small");
        addButton.setDescription(getI18nProvider().getMessage("categories.add.descr"));
        addButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionAdd();
            }
        });
        toolbar.addComponent(addButton);

        /*
         * Button: Edit the selected category
         */
        editButton = new Button();
        editButton.setIcon(new ThemeResource("icons/16/pencil.png"));
        editButton.setStyleName("small");
        editButton.setDescription(getI18nProvider().getMessage("categories.edit.descr"));
        editButton.setEnabled(false);
        editButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionEdit();
            }
        });
        toolbar.addComponent(editButton);

        /*
         * Button: Delete the selected category
         */
        deleteButton = new Button();
        deleteButton.setIcon(new ThemeResource("icons/16/delete.png"));
        deleteButton.setStyleName("small");
        deleteButton.setDescription(getI18nProvider().getMessage("categories.delete.descr"));
        deleteButton.setEnabled(false);
        deleteButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionDelete();
            }
        });
        toolbar.addComponent(deleteButton);

        /*
         * Button: Show/edit the access control list for the selected
         * category
         */
        aclButton = new Button();
        aclButton.setIcon(new ThemeResource("icons/16/lock_edit.png"));
        aclButton.setStyleName("small");
        aclButton.setDescription(getI18nProvider().getMessage("categories.acl.descr"));
        aclButton.setEnabled(false);
        aclButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionACL();
            }
        });
        toolbar.addComponent(aclButton);

        /*
         * Button: Show the audit log for the selected category
         */
        auditButton = new Button();
        auditButton.setIcon(new ThemeResource("icons/16/key.png"));
        auditButton.setStyleName("small");
        auditButton.setDescription(getI18nProvider().getMessage("categories.audit.descr"));
        auditButton.setEnabled(false);
        auditButton.addListener(new Button.ClickListener() {

            @Override
            public void buttonClick(ClickEvent event) {
                actionAudit();
            }
        });
        toolbar.addComponent(auditButton);
    }

    /*
     * The browser layout contains the category tree and the toolbar.
     */
    browserComponent = new VerticalLayout();
    browserComponent.setSizeFull();
    browserComponent.addComponent(categoryTree);
    browserComponent.addComponent(categoryForm.getComponent());
    browserComponent.addComponent(toolbar);
    browserComponent.setExpandRatio(categoryTree, 1.0f);
    browserComponent.setComponentAlignment(toolbar, Alignment.BOTTOM_CENTER);

    /*
     * Register a listener that updates the enablement state every time the
     * selection changes.
     */
    categoryTree.addListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(ValueChangeEvent event) {
            updateEnablementState();
            Long newCategoryId = (Long) event.getProperty().getValue();
            Category newCategory = null;
            if (newCategoryId != null) {
                BeanItem<Category> item = categoryContainer.getItem(newCategoryId);
                if (item != null) {
                    newCategory = item.getBean();
                }
            }
            fireCategorySelectionChanged(newCategory);
        }
    });
}

From source file:com.github.peholmst.springsecuritydemo.ui.LoginView.java

License:Apache License

@SuppressWarnings("serial")
protected void init() {
    final Panel loginPanel = new Panel();
    loginPanel.setCaption(getApplication().getMessage("login.title"));
    ((VerticalLayout) loginPanel.getContent()).setSpacing(true);

    final TextField username = new TextField(getApplication().getMessage("login.username"));
    username.setWidth("100%");
    loginPanel.addComponent(username);//from   w w  w .  j av a 2s  .c o m

    final TextField password = new TextField(getApplication().getMessage("login.password"));
    password.setSecret(true);
    password.setWidth("100%");
    loginPanel.addComponent(password);

    final Button loginButton = new Button(getApplication().getMessage("login.button"));
    loginButton.setStyleName("primary");
    // TODO Make it possible to submit the form by pressing <Enter> in any
    // of the text fields
    loginPanel.addComponent(loginButton);
    ((VerticalLayout) loginPanel.getContent()).setComponentAlignment(loginButton, Alignment.MIDDLE_RIGHT);
    loginButton.addListener(new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            final Authentication auth = new UsernamePasswordAuthenticationToken(username.getValue(),
                    password.getValue());
            try {
                if (logger.isDebugEnabled()) {
                    logger.debug("Attempting authentication for user '" + auth.getName() + "'");
                }
                Authentication returned = getAuthenticationManager().authenticate(auth);
                if (logger.isDebugEnabled()) {
                    logger.debug("Authentication for user '" + auth.getName() + "' succeeded");
                }
                fireEvent(new LoginEvent(LoginView.this, returned));
            } catch (BadCredentialsException e) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Bad credentials for user '" + auth.getName() + "'", e);
                }
                getWindow().showNotification(getApplication().getMessage("login.badCredentials.title"),
                        getApplication().getMessage("login.badCredentials.descr"),
                        Notification.TYPE_WARNING_MESSAGE);
            } catch (DisabledException e) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Account disabled for user '" + auth.getName() + "'", e);
                }
                getWindow().showNotification(getApplication().getMessage("login.disabled.title"),
                        getApplication().getMessage("login.disabled.descr"), Notification.TYPE_WARNING_MESSAGE);
            } catch (LockedException e) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Account locked for user '" + auth.getName() + "'", e);
                }
                getWindow().showNotification(getApplication().getMessage("login.locked.title"),
                        getApplication().getMessage("login.locked.descr"), Notification.TYPE_WARNING_MESSAGE);
            } catch (Exception e) {
                if (logger.isErrorEnabled()) {
                    logger.error("Error while attempting authentication for user '" + auth.getName() + "'");
                }
                ExceptionUtils.handleException(getWindow(), e);
            }
        }
    });

    HorizontalLayout languages = new HorizontalLayout();
    languages.setSpacing(true);
    final Button.ClickListener languageListener = new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            Locale locale = (Locale) event.getButton().getData();
            if (logger.isDebugEnabled()) {
                logger.debug("Changing locale to [" + locale + "] and restarting the application");
            }
            getApplication().setLocale(locale);
            getApplication().close();
        }
    };
    for (Locale locale : getApplication().getSupportedLocales()) {
        if (!getLocale().equals(locale)) {
            final Button languageButton = new Button(getApplication().getLocaleDisplayName(locale));
            languageButton.setStyleName(Button.STYLE_LINK);
            languageButton.setData(locale);
            languageButton.addListener(languageListener);
            languages.addComponent(languageButton);
        }
    }
    loginPanel.addComponent(languages);

    loginPanel.setWidth("300px");

    final HorizontalLayout viewLayout = new HorizontalLayout();
    viewLayout.addComponent(loginPanel);
    viewLayout.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER);
    viewLayout.setSizeFull();
    viewLayout.setMargin(true);

    setCompositionRoot(viewLayout);
    setSizeFull();
}

From source file:com.github.peholmst.springsecuritydemo.ui.MainView.java

License:Apache License

/**
 * TODO Document me!//from  w ww.j a v a2 s  . c o  m
 * 
 * @return
 */
protected Component createTicketBrowser() {
    final HorizontalLayout toolbar = new HorizontalLayout();
    toolbar.setSpacing(true);
    toolbar.setWidth("100%");

    final Button refreshButton = new Button(getApplication().getMessage("tickets.refresh.caption"));
    refreshButton.setIcon(new ThemeResource("icons/16/refresh.png"));
    refreshButton.setStyleName("small");
    refreshButton.setDescription(getApplication().getMessage("tickets.refresh.descr"));
    toolbar.addComponent(refreshButton);
    toolbar.setComponentAlignment(refreshButton, Alignment.MIDDLE_LEFT);

    final Button addButton = new Button(getApplication().getMessage("tickets.add.caption"));
    addButton.setIcon(new ThemeResource("icons/16/add.png"));
    addButton.setStyleName("small");
    addButton.setDescription(getApplication().getMessage("tickets.add.descr"));
    toolbar.addComponent(addButton);
    toolbar.setComponentAlignment(addButton, Alignment.MIDDLE_RIGHT);

    final SplitPanel splitPanel = new SplitPanel();
    splitPanel.setSizeFull();

    final Table ticketsTable = new Table();
    ticketsTable.setSizeFull();
    splitPanel.addComponent(ticketsTable);

    splitPanel.addComponent(new Label("The form for editing tickets will show up here"));

    final VerticalLayout browser = new VerticalLayout();
    browser.setSizeFull();
    browser.addComponent(toolbar);
    browser.addComponent(splitPanel);
    browser.setExpandRatio(splitPanel, 1.0f);

    return browser;
}

From source file:com.github.peholmst.springsecuritydemo.ui.MainView.java

License:Apache License

/**
 * TODO Document me!/*from  ww  w  . jav a2s .com*/
 * 
 * @return
 */
@SuppressWarnings("serial")
protected Component createHeader() {
    final HorizontalLayout header = new HorizontalLayout();
    header.setMargin(true);
    header.setWidth("100%");

    /*
     * Header label will contain the name and version of the application.
     */
    final Label headerLabel = new Label(
            getApplication().getMessage("app.title", getApplication().getVersion()));
    headerLabel.setStyleName("appHeaderText");
    header.addComponent(headerLabel);
    header.setStyleName("appHeader");
    header.setExpandRatio(headerLabel, 1.0f);
    header.setComponentAlignment(headerLabel, Alignment.MIDDLE_LEFT);

    /*
     * User links contains information about the current user and a button
     * for logging out.
     */
    final HorizontalLayout userLinks = new HorizontalLayout();
    userLinks.setStyleName("appHeaderUserLinks");
    userLinks.setSpacing(true);

    /*
     * The user label contains the name of the current user.
     */
    final Label userLabel = new Label(
            getApplication().getMessage("main.currentlyLoggedIn", getApplication().getUser().getName()),
            Label.CONTENT_XHTML);
    userLinks.addComponent(userLabel);
    userLinks.setComponentAlignment(userLabel, Alignment.MIDDLE_LEFT);
    userLabel.setSizeUndefined();

    /*
     * The logout button closes the application, effectively logging the
     * user out.
     */
    final Button logoutButton = new Button(getApplication().getMessage("main.logout.caption"),
            new Button.ClickListener() {

                @Override
                public void buttonClick(ClickEvent event) {
                    // TODO Add confirmation
                    getApplication().close();
                }
            });
    logoutButton.setDescription(getApplication().getMessage("main.logout.descr"));
    logoutButton.setStyleName("small");
    userLinks.addComponent(logoutButton);
    userLinks.setComponentAlignment(logoutButton, Alignment.MIDDLE_RIGHT);

    header.addComponent(userLinks);
    header.setComponentAlignment(userLinks, Alignment.MIDDLE_RIGHT);
    return header;
}

From source file:com.github.tempora.view.MainView.java

License:Apache License

public MainView() {
    VerticalLayout vlayout = new VerticalLayout();
    vlayout.addStyleName("outlined");
    vlayout.addStyleName("bg");
    vlayout.setSizeFull();/*from  w  w w.ja va2  s.c  om*/
    vlayout.setMargin(true);
    HorizontalLayout hlayout = new HorizontalLayout();
    hlayout.addStyleName("outlined");
    hlayout.setSizeFull();
    setContent(vlayout);

    // Title
    Label caption = new Label("Tempora");
    caption.setStyleName("logo-label", true);
    caption.setWidth(null);
    vlayout.addComponent(caption);
    vlayout.setExpandRatio(caption, 0.2f);

    vlayout.setComponentAlignment(caption, Alignment.MIDDLE_CENTER);
    vlayout.addComponent(hlayout);
    vlayout.setExpandRatio(hlayout, 0.7f);

    //
    // General information about the User's mailbox
    //
    final Panel generalInfoPanel = new Panel("<center>General Information</center>");
    generalInfoPanel.addStyleName("frame-bg-general-info");
    generalInfoPanel.setSizeFull();

    this.currentHistoryId = new Label("0");
    currentHistoryId.setStyleName("general-info-count", true);
    currentHistoryId.setCaption("History ID");

    this.messagesTotal = new Label("0");
    messagesTotal.setStyleName("general-info-count", true);
    messagesTotal.setCaption("Messages Total");

    this.threadsTotal = new Label("0");
    threadsTotal.setCaption("Threads Total");
    threadsTotal.setStyleName("general-info-count", true);

    FormLayout mailboxInfoLayout = new FormLayout(messagesTotal, currentHistoryId, threadsTotal);
    VerticalLayout mailboxInfoMainLayout = new VerticalLayout(mailboxInfoLayout);
    mailboxInfoMainLayout.setSizeFull();
    mailboxInfoMainLayout.setMargin(true);
    generalInfoPanel.setContent(mailboxInfoMainLayout);

    //
    // Stats
    //
    final Panel statsPanel = new Panel("<center>Statistics</center>");
    statsPanel.addStyleName("frame-bg-stats");
    statsPanel.setSizeFull();

    this.bodyAvgSize = new Label("0");
    bodyAvgSize.setCaption("Body Avg. Size");
    bodyAvgSize.setStyleName("stats-count", true);

    FormLayout statsLayout = new FormLayout(bodyAvgSize);
    VerticalLayout statsMainLayout = new VerticalLayout(statsLayout);
    statsMainLayout.setSizeFull();
    statsMainLayout.setMargin(true);
    statsPanel.setContent(statsMainLayout);

    //
    // Top 5
    //
    Panel top5Panel = new Panel("<center>Top 5</center>");
    top5Panel.addStyleName("frame-bg-top5");

    // Top 5 Senders
    Panel top5SendersPanel = new Panel("<center>Senders</center>");
    top5SendersPanel.addStyleName("frame-bg-top5");
    top5SendersPanel.setSizeFull();
    this.top5Senders = new Label("NO DATA", ContentMode.PREFORMATTED);
    top5Senders.setSizeUndefined();
    top5SendersPanel.setContent(top5Senders);

    // Top 5 Title Tags
    Panel top5TitleTagsPanel = new Panel("<center>Title Tags</center>");
    top5TitleTagsPanel.addStyleName("frame-bg-top5");
    top5TitleTagsPanel.setSizeFull();
    this.top5TitleTags = new Label("NO DATA", ContentMode.PREFORMATTED);
    top5TitleTags.setSizeUndefined();
    top5TitleTagsPanel.setContent(top5TitleTags);

    top5Panel.setSizeFull();

    VerticalLayout top5MainLayout = new VerticalLayout(top5SendersPanel, top5TitleTagsPanel);
    top5MainLayout.setMargin(true);
    top5MainLayout.setSpacing(true);
    top5MainLayout.setSizeFull();
    top5MainLayout.setComponentAlignment(top5SendersPanel, Alignment.MIDDLE_CENTER);
    top5MainLayout.setComponentAlignment(top5TitleTagsPanel, Alignment.MIDDLE_CENTER);
    top5Panel.setContent(top5MainLayout);

    hlayout.setSpacing(true);
    hlayout.addComponent(generalInfoPanel);
    hlayout.addComponent(statsPanel);
    hlayout.addComponent(top5Panel);

    this.currentUserEmail = new Label("-");
    currentUserEmail.setCaption("Email");

    Button reloadButton = new Button("\u27F3 Reload");
    reloadButton.addClickListener(e -> {
        getSession().getSession().invalidate();
        getUI().getPage().reload();
    });

    HorizontalLayout infoHLayout = new HorizontalLayout();
    infoHLayout.addStyleName("outlined");
    infoHLayout.setSizeFull();
    infoHLayout.setSpacing(true);
    infoHLayout.setMargin(true);

    infoHLayout.addComponent(reloadButton);
    reloadButton.setWidth(null);
    infoHLayout.setComponentAlignment(reloadButton, Alignment.BOTTOM_LEFT);

    infoHLayout.addComponent(currentUserEmail);
    currentUserEmail.setWidth(null);
    infoHLayout.setComponentAlignment(currentUserEmail, Alignment.BOTTOM_RIGHT);

    vlayout.addComponent(infoHLayout);
    vlayout.setExpandRatio(infoHLayout, 0.5f);
}

From source file:com.gnts.asm.txn.AssetDetails.java

License:Open Source License

private void assembleUserInputLayout() {
    logger.info(/*www.  j  av  a 2  s  .  c om*/
            "Company ID : " + companyid + " | User Name : " + username + " > " + "Assembling search layout");
    // add the form layouts into user input layout
    hlUserInputLayout.removeAllComponents();
    flColumn1 = new FormLayout();
    flColumn2 = new FormLayout();
    flColumn3 = new FormLayout();
    flColumn4 = new FormLayout();
    flColumn1.addComponent(tfAssetName);
    tfAssetName.setRequired(true);
    flColumn1.addComponent(cbAssetType);
    cbAssetType.setRequired(true);
    flColumn1.addComponent(cbBranch);
    flColumn1.addComponent(tfAssetDetailDesc);
    flColumn1.addComponent(cbBrand);
    cbBrand.setRequired(true);
    flColumn1.addComponent(cbCategory);
    flColumn1.setSpacing(true);
    flColumn1.setMargin(true);
    cbCategory.setRequired(true);
    flColumn2.addComponent(cbDept);
    cbDept.setRequired(true);
    flColumn2.addComponent(tfAssetLocation);
    flColumn2.addComponent(tfSerialNo);
    flColumn2.addComponent(tfMfgSerialNo);
    flColumn2.addComponent(tfInvoiceNo);
    flColumn2.addComponent(dtPurchaseDate);
    flColumn2.addComponent(tfPurchaseValue);
    flColumn2.addComponent(tfSalvageValue);
    flColumn2.setSpacing(true);
    flColumn2.setMargin(true);
    flColumn3.addComponent(tfservicerequire);
    flColumn3.addComponent(dtLastServiceDate);
    flColumn3.addComponent(dtNextServiceDate);
    flColumn3.addComponent(dtWarrentyDate);
    flColumn3.addComponent(taWarrentyDesc);
    flColumn3.addComponent(tfLicenseInfo);
    flColumn4.addComponent(tfLifeInYears);
    flColumn4.addComponent(tfLifeInMonths);
    flColumn4.addComponent(cbReview);
    flColumn4.addComponent(cbAction);
    flColumn4.addComponent(tfRemarks);
    flColumn4.addComponent(cbAssetStatus);
    HorizontalLayout hlInput = new HorizontalLayout();
    VerticalLayout vlUserInput = new VerticalLayout();
    // hlInput.setWidth("1150");
    hlInput.addComponent(flColumn1);
    hlInput.addComponent(flColumn2);
    hlInput.addComponent(flColumn3);
    hlInput.addComponent(flColumn4);
    hlInput.setSpacing(true);
    hlInput.setMargin(true);
    vlUserInput.addComponent(GERPPanelGenerator.createPanel(hlInput));
    tabSheet.addTab(vlAssetSpec, "Asset Spec");
    tabSheet.addTab(vlOwnDetails, "Asset Own Details");
    tabSheet.setSizeFull();
    vlUserInput.addComponent(tabSheet);
    vlUserInput.setWidth("1180");
    hlUserInputLayout.addComponent(vlUserInput);
    hlUserInputLayout.setWidth("98%");
    hlUserInputLayout.setSizeUndefined();
    hlUserInputLayout.setSpacing(true);
    // build search layout
}

From source file:com.gnts.pem.txn.sbi.SBIBuilding.java

@SuppressWarnings("deprecation")
void buildView(VerticalLayout layoutPage, HorizontalLayout hlHeaderLayout) {
    // for component width
    setComponentStyle();//ww  w.  j a v a  2  s .  co  m
    hlHeaderLayout.removeAllComponents();

    tblEvalDetails = new Table();
    tblEvalDetails.setStyleName(Runo.TABLE_SMALL);
    tblEvalDetails.setPageLength(14);
    tblEvalDetails.setSizeFull();
    tblEvalDetails.setFooterVisible(true);
    tblEvalDetails.setSelectable(true);
    tblEvalDetails.setImmediate(true);
    tblEvalDetails.setColumnCollapsingAllowed(true);

    // for evaluation details
    tfEvaluationPurpose.setValue("Collateral Security to the Bank");
    slStreetSerNo.addItem("STREET NAME");
    slStreetSerNo.addItem("SURVEY NO");
    slStreetSerNo.setNullSelectionAllowed(false);

    tfEvaluationNumber.setRequired(true);
    slBankBranch.setRequired(true);
    dfDateofValuation.setRequired(true);
    tfEvaluationPurpose.setRequired(true);
    layoutEvaluationDetails1.setColumns(4);

    layoutEvaluationDetails1.addComponent(tfEvaluationNumber);
    layoutEvaluationDetails1.addComponent(slBankBranch);
    layoutEvaluationDetails1.addComponent(tfEvaluationPurpose);
    layoutEvaluationDetails1.addComponent(tfValuatedBy);
    layoutEvaluationDetails1.addComponent(dfDateofValuation);
    layoutEvaluationDetails1.addComponent(dfVerifiedDate);
    layoutEvaluationDetails1.addComponent(tfVerifiedBy);
    layoutEvaluationDetails1.addComponent(tfDynamicEvaluation1);
    layoutEvaluationDetails1.addComponent(tfDynamicEvaluation2);
    tfDynamicEvaluation1.setVisible(false);
    tfDynamicEvaluation2.setVisible(false);
    layoutEvaluationDetails1.setSpacing(true);
    layoutEvaluationDetails1.setMargin(true);

    layoutEvaluationDetails.addComponent(btnDynamicEvaluation1);
    layoutEvaluationDetails.setComponentAlignment(btnDynamicEvaluation1, Alignment.TOP_RIGHT);
    layoutEvaluationDetails.addComponent(layoutEvaluationDetails1);

    // for asset details
    VerticalLayout formAsset1 = new VerticalLayout();
    VerticalLayout formAsset2 = new VerticalLayout();
    VerticalLayout formAsset3 = new VerticalLayout();
    VerticalLayout formAsset4 = new VerticalLayout();
    formAsset1.setSpacing(true);
    formAsset2.setSpacing(true);
    formAsset4.setSpacing(true);

    formAsset1.addComponent(tfCustomerName);
    formAsset1.addComponent(tfLandMark);
    formAsset1.addComponent(slPropertyDesc);
    formAsset2.addComponent(tfCustomerAddr);
    formAsset3.addComponent(tfPropertyAddress);
    formAsset3.addComponent(chkSameAddress);
    formAsset4.addComponent(tfDynamicAsset1);
    formAsset4.addComponent(tfDynamicAsset2);
    tfDynamicAsset1.setVisible(false);
    tfDynamicAsset2.setVisible(false);

    chkSameAddress.setImmediate(true);
    chkSameAddress.addListener(new Property.ValueChangeListener() {
        private static final long serialVersionUID = 1L;

        public void valueChange(ValueChangeEvent event) {

            if (chkSameAddress.getValue().equals(true)) {
                tfPropertyAddress.setValue(tfCustomerAddr.getValue());

            } else {
                tfPropertyAddress.setValue("");
            }
        }
    });

    layoutAssetDetails1.setSpacing(true);
    layoutAssetDetails1.setColumns(4);
    layoutAssetDetails1.addComponent(formAsset1);
    layoutAssetDetails1.addComponent(formAsset2);
    layoutAssetDetails1.addComponent(formAsset3);
    layoutAssetDetails1.addComponent(formAsset4);
    layoutAssetDetails1.setMargin(true);

    layoutAssetDetails.addComponent(btnDynamicAsset);
    layoutAssetDetails.setComponentAlignment(btnDynamicAsset, Alignment.TOP_RIGHT);
    layoutAssetDetails.addComponent(layoutAssetDetails1);

    lblHeading = new Label("Owner Details");
    layoutAssetOwner.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutAssetOwner.addComponent(PanelGenerator.createPanel(layoutOwnerDetails));
    lblHeading = new Label("Asset Details");
    layoutAssetOwner.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutAssetOwner.addComponent(PanelGenerator.createPanel(layoutAssetDetails));

    // for Owner Details
    layoutOwnerDetails.addComponent(btnAddOwner);
    layoutOwnerDetails.setComponentAlignment(btnAddOwner, Alignment.TOP_RIGHT);
    layoutOwnerDetails1.setColumns(4);
    layoutOwnerDetails1.addComponent(new ComponentIterOwnerDetails("", ""));
    layoutOwnerDetails.addComponent(layoutOwnerDetails1);
    layoutOwnerDetails1.setSpacing(true);
    layoutOwnerDetails1.setMargin(true);

    // for document details
    panelNormalDocumentDetails.addComponent(btnAddNorDoc);
    panelNormalDocumentDetails.setComponentAlignment(btnAddNorDoc, Alignment.TOP_RIGHT);
    panelNormalDocumentDetails.addComponent(new ComponentIteratorNormlDoc(null, null, "", ""));
    panelNormalDocumentDetails.setMargin(true);
    panelLegalDocumentDetails.addComponent(btnAddLegalDoc);
    panelLegalDocumentDetails.setComponentAlignment(btnAddLegalDoc, Alignment.TOP_RIGHT);
    panelLegalDocumentDetails.addComponent(new ComponentIteratorLegalDoc("", "", null));
    panelLegalDocumentDetails.setMargin(true);
    layoutNormalLegal.addComponent(PanelGenerator.createPanel(panelNormalDocumentDetails));
    lblHeading = new Label("Legal Documents");
    layoutNormalLegal.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutNormalLegal.addComponent(PanelGenerator.createPanel(panelLegalDocumentDetails));
    layoutNormalLegal.setMargin(true);
    panelNormalDocumentDetails.setWidth("100%");
    panelLegalDocumentDetails.setWidth("100%");

    // for adjoin properties
    panelAdjoinProperties.addComponent(btnAddAdjoinProperty);
    panelAdjoinProperties.setComponentAlignment(btnAddAdjoinProperty, Alignment.BOTTOM_RIGHT);
    panelAdjoinProperties.addComponent(new ComponentIteratorAdjoinProperty(null, true, true, true));

    // for dimensions
    panelDimension.addComponent(btnAddDimension);
    panelDimension.setComponentAlignment(btnAddDimension, Alignment.BOTTOM_RIGHT);
    panelDimension.addComponent(new ComponentIterDimensionofPlot(null, true, true, true));

    //for description of the property
    layoutDescProperty.setMargin(true);
    layoutDescProperty1.setSpacing(true);
    layoutDescProperty1.setColumns(4);
    layoutDescProperty.addComponent(btnDynamicDescProp);
    layoutDescProperty.setComponentAlignment(btnDynamicDescProp, Alignment.TOP_RIGHT);
    layoutDescProperty1.addComponent(tfSiteNumber);
    layoutDescProperty1.addComponent(tfSFNumber);
    layoutDescProperty1.addComponent(tfNewSFNumber);
    layoutDescProperty1.addComponent(tfVillage);
    layoutDescProperty1.addComponent(tfTaluk);
    layoutDescProperty1.addComponent(tfDistCorpPanc);
    layoutDescProperty1.addComponent(tfLocationSketch);
    layoutDescProperty1.addComponent(tfProTaxReceipt);
    layoutDescProperty1.addComponent(tfElecServiceConnNo);
    layoutDescProperty1.addComponent(tfElecConnecName);
    layoutDescProperty1.addComponent(slHighMiddPoor);
    layoutDescProperty1.addComponent(slUrbanSemiRural);
    layoutDescProperty1.addComponent(slResiIndustCommer);
    layoutDescProperty1.addComponent(slProOccupiedBy);
    layoutDescProperty1.addComponent(tfMonthlyRent);
    layoutDescProperty1.addComponent(tfCoverUnderStatCentral);
    layoutDescProperty1.addComponent(tfAnyConversionLand);
    layoutDescProperty1.addComponent(tfExtentSite);
    layoutDescProperty1.addComponent(tfYearAcquistion);
    layoutDescProperty1.addComponent(tfPurchaseValue);
    layoutDescProperty1.addComponent(tfPropLandmark);
    layoutDescProperty1.addComponent(tfPostalAddress);
    layoutDescProperty1.addComponent(tfDynamicDescProp1);
    layoutDescProperty1.addComponent(tfDynamicDescProp2);
    layoutDescProperty.addComponent(layoutDescProperty1);
    tfDynamicDescProp1.setVisible(false);
    tfDynamicDescProp2.setVisible(false);
    //for charcteristiccs of the site
    layoutCharcterSite1.setSpacing(true);
    layoutCharcterSite1.setColumns(4);
    layoutCharcterSite.setMargin(true);
    layoutCharcterSite.addComponent(btnDynamicCharacter);
    layoutCharcterSite.setComponentAlignment(btnDynamicCharacter, Alignment.TOP_RIGHT);
    layoutCharcterSite1.addComponent(slLocalClass);
    layoutCharcterSite1.addComponent(slSurroundDevelop);
    layoutCharcterSite1.addComponent(tfFlood);
    layoutCharcterSite1.addComponent(slFeasibility);
    layoutCharcterSite1.addComponent(slLandLevel);
    layoutCharcterSite1.addComponent(slLandShape);
    layoutCharcterSite1.addComponent(slTypeUse);
    layoutCharcterSite1.addComponent(tfUsageRestriction);
    layoutCharcterSite1.addComponent(slIsPlot);
    layoutCharcterSite1.addComponent(tfApprveNo);
    layoutCharcterSite1.addComponent(tfNoReason);
    layoutCharcterSite1.addComponent(tfSubdivide);
    layoutCharcterSite1.addComponent(slDrawApproval);
    layoutCharcterSite1.addComponent(slCornerInter);
    layoutCharcterSite1.addComponent(slRoadFacility);
    layoutCharcterSite1.addComponent(slTypeRoad);
    layoutCharcterSite1.addComponent(slRoadWidth);
    layoutCharcterSite1.addComponent(slLandLock);
    layoutCharcterSite1.addComponent(slWaterPotential);
    layoutCharcterSite1.addComponent(slUnderSewerage);
    layoutCharcterSite1.addComponent(slPowerSupply);
    layoutCharcterSite1.addComponent(tfAdvantageSite);
    layoutCharcterSite1.addComponent(tfDisadvantageSite);
    layoutCharcterSite1.addComponent(tfGeneralRemarks);
    layoutCharcterSite1.addComponent(tfDynamicCharacter1);
    layoutCharcterSite1.addComponent(tfDynamicCharacter2);
    layoutCharcterSite.addComponent(layoutCharcterSite1);
    tfDynamicCharacter1.setVisible(false);
    tfDynamicCharacter2.setVisible(false);

    // valuation of land
    layoutValuationLand.setSpacing(true);
    layoutValuationLand1.setSpacing(true);
    layoutValuationLand1.setColumns(4);
    layoutValuationLand1.addComponent(tfAreaofLand);
    layoutValuationLand1.addComponent(tfNorthandSouth);
    layoutValuationLand1.addComponent(tfMarketRate);
    layoutValuationLand1.addComponent(tfGuiderate);
    layoutValuationLand1.addComponent(tfAdopetdMarketRate);
    layoutValuationLand1.addComponent(tfFairMarketRate);
    layoutValuationLand1.addComponent(tfDynamicValuation1);
    layoutValuationLand1.addComponent(tfDynamicValuation2);
    tfDynamicValuation1.setVisible(false);
    tfDynamicValuation2.setVisible(false);
    layoutValuationLand.addComponent(btnDynamicValuation);
    layoutValuationLand.setComponentAlignment(btnDynamicValuation, Alignment.TOP_RIGHT);
    layoutValuationLand.addComponent(layoutValuationLand1);
    layoutValuationLand.setMargin(true);
    tfFairMarketRate.setValue("0.00");
    tfAdopetdMarketRate.setRequired(true);
    //property value
    layoutPropertyValue.setSpacing(true);
    layoutPropertyValue.setMargin(true);
    layoutPropertyValue1.setColumns(4);
    layoutPropertyValue1.setSpacing(true);
    layoutPropertyValue1.addComponent(tfRealziableRate);
    layoutPropertyValue1.addComponent(tfDistressRate);
    layoutPropertyValue1.addComponent(tfGuidelineRate);
    layoutPropertyValue.addComponent(layoutPropertyValue1);

    //for flat1
    layoutForFlats.setMargin(true);
    layoutForFlats.setSpacing(true);
    layoutForFlats1.setSpacing(true);
    layoutForFlats.addComponent(btnDynamicForFlat);
    layoutForFlats.setComponentAlignment(btnDynamicForFlat, Alignment.TOP_RIGHT);
    layoutForFlats1.addComponent(slUndivideShare);
    layoutForFlats1.addComponent(tfUDSproportion);
    layoutForFlats1.addComponent(tfUDSArea);
    layoutForFlats1.addComponent(tfFlatsApproved);
    layoutForFlats1.addComponent(tfFlatsWorkplan);
    layoutForFlats1.addComponent(slUnderPermissable);
    layoutForFlats1.addComponent(lblFloorIndex);
    layoutForFlats1.addComponent(tfIndexPlan);
    layoutForFlats1.addComponent(tfIndexSite);
    layoutForFlats1.addComponent(tfIndexCalculation);
    layoutForFlats1.addComponent(tfDynamicForFlat1);
    layoutForFlats1.addComponent(tfDynamicForFlat2);
    tfDynamicForFlat1.setVisible(false);
    tfDynamicForFlat2.setVisible(false);
    layoutForFlats.addComponent(layoutForFlats1);

    //for Calculation-extra Items
    layoutExtraItems.setCaption("Extra Items");
    layoutExtraItems.setWidth("420px");
    layoutExtraItems.addComponent(btnDynamicExtra);
    layoutExtraItems.setComponentAlignment(btnDynamicExtra, Alignment.TOP_RIGHT);
    layoutExtraItems.addComponent(new ComponentIterExtraItems(null, ""));

    layoutAdditionItem.setCaption("Additional Items");
    layoutAdditionItem.setWidth("400px");
    layoutAdditionItem.addComponent(btnDynamicAdditional);
    layoutAdditionItem.setComponentAlignment(btnDynamicAdditional, Alignment.TOP_RIGHT);
    layoutAdditionItem.addComponent(new ComponentIterAdditionalItems(null, ""));

    layoutExtraAddItems1.setSpacing(true);
    layoutExtraAddItems1.setMargin(true);
    layoutExtraAddItems.setColumns(2);
    layoutExtraAddItems.addComponent(layoutExtraItems);
    layoutExtraAddItems.addComponent(layoutAdditionItem);
    layoutExtraAddItems1.addComponent(layoutExtraAddItems);

    //for Miscellaneous
    layoutMiscellaneous.setCaption("Miscellaneous");
    layoutMiscellaneous.setWidth("420px");
    layoutMiscellaneous.addComponent(btnDynamicMiscell);
    layoutMiscellaneous.setComponentAlignment(btnDynamicMiscell, Alignment.TOP_RIGHT);
    layoutMiscellaneous.addComponent(new ComponentIterMiscellaneous(null, ""));

    layoutServices.setCaption("Services");
    layoutServices.setWidth("400px");
    layoutServices.addComponent(btnDynamicServices);
    layoutServices.setComponentAlignment(btnDynamicServices, Alignment.TOP_RIGHT);
    layoutServices.addComponent(new ComponentIerServices(null, ""));

    layoutMiscellService1.setSpacing(true);
    layoutMiscellService1.setMargin(true);
    layoutMiscellService.setColumns(2);
    layoutMiscellService.addComponent(layoutMiscellaneous);
    layoutMiscellService.addComponent(layoutServices);
    layoutMiscellService1.addComponent(layoutMiscellService);

    // for details of plan approval
    layoutPlanApproval1.setColumns(2);
    FormLayout lay1 = new FormLayout();
    FormLayout lay2 = new FormLayout();
    lay1.addComponent(tfLandandBuilding);
    lay1.addComponent(tfBuilding);
    lay1.addComponent(tfPlanApprovedBy);
    lay1.addComponent(dfLicenseFrom);
    lay1.addComponent(slIsLicenceForced);
    lay1.addComponent(tfDynamicPlanApproval2);

    lay2.addComponent(tfQuality);
    lay2.addComponent(slAllApprovalRecved);
    lay2.addComponent(slConstAsperAppPlan);
    lay2.addComponent(tfReason);
    lay2.addComponent(tfDynamicPlanApproval1);
    tfDynamicPlanApproval1.setVisible(false);
    tfDynamicPlanApproval2.setVisible(false);
    lay1.setSpacing(true);
    lay2.setSpacing(true);
    layoutPlanApproval1.addComponent(lay1);
    layoutPlanApproval1.addComponent(lay2);
    layoutPlanApproval1.setSpacing(true);
    layoutPlanApproval1.setMargin(true);
    layoutPlanApproval.addComponent(btnDynamicPlanApproval);
    layoutPlanApproval.setComponentAlignment(btnDynamicPlanApproval, Alignment.TOP_RIGHT);
    layoutPlanApproval.addComponent(layoutPlanApproval1);
    //valuation of Construction
    formConstValuation1.addComponent(slTypeProperty);
    formConstValuation1.addComponent(slTypeStructure);
    formConstValuation1.addComponent(tfYearConstruction);
    formConstValuation1.addComponent(slExterior);
    formConstValuation1.addComponent(slInterior);
    formConstValuation1.addComponent(tfLifeAge);
    formConstValuation1.addComponent(tfFutureLife);
    formConstValuation1.addComponent(tfDetailsPlan);
    formConstValuation1.addComponent(slDeviation);
    formConstValuation1.addComponent(tfDtlsDeviation);

    formConstValuation2.addComponent(btnAddRoofHt);
    formConstValuation2.addComponent(tfNoFloors);

    layoutConstValuation.setSpacing(true);
    layoutConstValuation1.setSpacing(true);
    layoutConstValuation1.setColumns(2);
    layoutConstValuation1.addComponent(formConstValuation1);
    layoutConstValuation1.addComponent(new VerticalLayout() {
        {
            addComponent(formConstValuation2);
            addComponent(layoutRoofHeight);
        }

    });

    formConstValuation1.addComponent(tfDynamicConstval1);
    formConstValuation1.addComponent(tfDynamicConstval2);
    layoutConstValuation.addComponent(btnDynamicConstVal);
    layoutConstValuation.setComponentAlignment(btnDynamicConstVal, Alignment.TOP_RIGHT);
    layoutConstValuation.addComponent(layoutConstValuation1);
    layoutConstValuation.setMargin(true);

    // for Build Specification
    panelBuildSpecfication.addComponent(btnAddBuildSpec);
    panelBuildSpecfication.setComponentAlignment(btnAddBuildSpec, Alignment.BOTTOM_RIGHT);
    panelBuildSpecfication.addComponent(new ComponentIterBuildingSpecfication(null, true, true, true));
    panelBuildSpecfication.setWidth("100%");

    //for Valuation Details
    layoutValuationDetails.addComponent(btnAddValDtls);
    layoutValuationDetails1.setColumns(8);
    layoutValuationDetails1.setSpacing(true);
    layoutValuationDetails.setComponentAlignment(btnAddValDtls, Alignment.TOP_RIGHT);
    layoutValuationDetails1.addComponent(lblParticular);
    layoutValuationDetails1.addComponent(lblPlinthArea);
    layoutValuationDetails1.addComponent(lblRoofHt);
    layoutValuationDetails1.addComponent(lblBuildAge);
    layoutValuationDetails1.addComponent(lblRate);
    layoutValuationDetails1.addComponent(lblReplace);
    layoutValuationDetails1.addComponent(lblDepreciation);
    layoutValuationDetails1.addComponent(lblNetvalue);
    layoutValuationDetails1.setComponentAlignment(lblParticular, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblPlinthArea, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblRoofHt, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblBuildAge, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblRate, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblReplace, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblDepreciation, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setComponentAlignment(lblNetvalue, Alignment.BOTTOM_LEFT);
    layoutValuationDetails1.setWidth("650px");
    layoutValuationDetails.addComponent(layoutValuationDetails1);
    layoutValuationDetails.addComponent(layoutValuationDetails2);
    layoutValuationDetails.setWidth("100%");
    layoutValuationDetails.setMargin(true);
    ValuationDetailsList obj = new ValuationDetailsList();
    ValuationDetailsList obj1 = new ValuationDetailsList();
    obj.setFloorDtlsLabel("Ground Floor Building");
    obj1.setFloorDtlsLabel("First Floor Building");
    layoutValuationDetails2.addComponent(new ComponenetIterValuationDetails(obj));
    layoutValuationDetails2.addComponent(new ComponenetIterValuationDetails(obj1));

    // for plinth area
    layoutPlintharea.addComponent(btnAddPlinth);
    layoutPlintharea.setComponentAlignment(btnAddPlinth, Alignment.BOTTOM_RIGHT);
    layoutPlintharea.setMargin(true);
    layoutPlintharea.addComponent(new ComponentIterPlinthArea("Ground Floor", "", ""));
    layoutPlintharea.addComponent(new ComponentIterPlinthArea("Portico and Stair", "", ""));

    //for applicant estimate
    layoutElectrical.setSpacing(true);
    layoutElectrical1.setSpacing(true);
    layoutElectrical1.setColumns(4);
    layoutElectrical1.addComponent(tfTypeofwiring);
    layoutElectrical1.addComponent(tfClassFit);
    layoutElectrical1.addComponent(tfNOofLight);
    layoutElectrical1.addComponent(tfExhaustFan);
    layoutElectrical1.addComponent(tfSpareplug);
    layoutElectrical1.addComponent(tfDynamicElectrical1);
    layoutElectrical1.addComponent(tfDynamicElectrical2);
    tfDynamicElectrical1.setVisible(false);
    tfDynamicElectrical2.setVisible(false);
    layoutElectrical.addComponent(btnDynamicElectrical);
    layoutElectrical.setComponentAlignment(btnDynamicElectrical, Alignment.TOP_RIGHT);
    layoutElectrical.addComponent(layoutElectrical1);
    layoutElectrical.setMargin(true);

    //for applicant reasonable
    layoutPlumbing.setSpacing(true);
    layoutPlumbing1.setSpacing(true);
    layoutPlumbing1.setColumns(4);
    layoutPlumbing1.addComponent(tfNoofClosets);
    layoutPlumbing1.addComponent(tfNoofWashbin);
    layoutPlumbing1.addComponent(tfWatertaps);
    layoutPlumbing1.addComponent(tfAnyFixtures);
    layoutPlumbing1.addComponent(tfDynamicPlum1);
    layoutPlumbing1.addComponent(tfDynamicPlum2);

    layoutPlumbing.addComponent(btnDynamicPlumbing);
    layoutPlumbing.setComponentAlignment(btnDynamicPlumbing, Alignment.TOP_RIGHT);
    layoutPlumbing.addComponent(layoutPlumbing1);
    layoutPlumbing.setMargin(true);

    // for Guideline area
    layoutGuideline.addComponent(btnAddGuideline);
    layoutGuideline.setComponentAlignment(btnAddGuideline, Alignment.TOP_RIGHT);
    layoutGuideline.setMargin(true);
    layoutGuideline.addComponent(new ComponentIterGuideline("Land", "", "", ""));
    layoutGuideline.addComponent(new ComponentIterGuideline("Construction", "", "", ""));

    // for guide line reference
    streetLayout.addComponent(slStreetSerNo);
    streetLayout.addComponent(tfStreetName);

    layoutGuidelineReference1.setColumns(4);
    layoutGuidelineReference1.setSpacing(true);
    layoutGuidelineReference1.addComponent(tfZone);
    layoutGuidelineReference1.addComponent(tfSRO);
    layoutGuidelineReference1.addComponent(tfVillage);
    layoutGuidelineReference1.addComponent(tfRevnueDist);
    layoutGuidelineReference1.addComponent(tfTalukName);
    layoutGuidelineReference1.addComponent(streetLayout);
    layoutGuidelineReference1.addComponent(tfGuidelineValue);
    layoutGuidelineReference1.addComponent(tfGuidelineValueMatric);
    layoutGuidelineReference1.addComponent(slClassification);
    layoutGuidelineReference1.setMargin(true);

    layoutGuidelineReference.setSpacing(true);
    layoutGuidelineReference.addComponent(layoutGuidelineReference1);

    // add components in main panel
    accordion.setWidth("100%");
    layoutEvaluationDetails.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutEvaluationDetails), "Evaluation Details");

    layoutOwnerDetails.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutAssetOwner), "Owner Details/Asset Details");
    layoutAssetDetails.setStyleName("bluebar");

    layoutNormalLegal.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutNormalLegal), "Document Details");

    panelAdjoinProperties.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(panelAdjoinProperties), "Adjoining Properties");
    panelDimension.setStyleName("bluebar");
    accordion.addTab(panelDimension, "Dimension");

    layoutDescProperty.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutDescProperty), "Description of the property");
    layoutCharcterSite.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutCharcterSite), "Characteristics of the site");
    layoutValuationLand.setStyleName("bluebar");
    accordion.addTab(layoutValuationLand, "Valuation of Land");
    layoutPlanApproval.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPlanApproval), "Details of Plan Approval");
    layoutPlintharea.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPlintharea), "Plinth Area Details");
    layoutForFlats.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutForFlats), "For Flats");
    layoutConstValuation.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutConstValuation), "Technical Details of the Building");
    panelBuildSpecfication.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(panelBuildSpecfication), "Specification");
    layoutValuationDetails.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutValuationDetails), "Details of Valuation");
    layoutExtraAddItems1.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutExtraAddItems1), "Extra/Additional Items");
    layoutMiscellService1.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutMiscellService1), "Miscellaneous/Services");
    layoutElectrical.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutElectrical), "Electrical Installation");

    layoutPlumbing.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPlumbing), "Plumbing Installation");

    layoutGuideline.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutGuideline), "Guideline Details");

    layoutGuidelineReference.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutGuidelineReference), "Guideline Reference Details");
    layoutPropertyValue.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPropertyValue), "Property Value Details");
    this.accordion.addListener(new SelectedTabChangeListener() {
        public void selectedTabChange(SelectedTabChangeEvent event) {
            if (event.getTabSheet().getSelectedTab().equals(panelDimension)) {
                Iterator<Component> myComps = panelDimension.getComponentIterator();
                BigDecimal siteArea = new BigDecimal(0.00);
                while (myComps.hasNext()) {
                    final Component component = myComps.next();
                    int i = 1;

                    if (component instanceof ComponentIterDimensionofPlot) {

                        ComponentIterDimensionofPlot mycomponent = (ComponentIterDimensionofPlot) component;
                        List<TPemCmPropDimension> getList = mycomponent.getDimensionPropertyList();

                        try {
                            List<String> mylist = mycomponent.getLeastValaue();
                            siteArea = siteArea.add(new BigDecimal(mylist.get(0).replaceAll("[^\\d.]", "")));
                            tfNorthandSouth.setValue(mylist.get(1));
                            tfAreaofLand.setValue(siteArea.toString());
                        } catch (Exception e) {

                            logger.info("Error-->" + e);
                        }
                    }
                }
                BigDecimal site = new BigDecimal(0.00);
                BigDecimal fair = new BigDecimal(1.00);
                BigDecimal salbale = new BigDecimal(435.60);
                try {
                    site = new BigDecimal(tfAreaofLand.getValue().replaceAll("[^\\d.]", ""));
                } catch (Exception e) {
                    site = new BigDecimal("0.00");

                }
                try {
                    site.divide(salbale, 2, RoundingMode.HALF_UP).toPlainString();
                    fair.multiply(site.divide(salbale, 2, RoundingMode.HALF_UP))
                            .multiply(new BigDecimal(tfAdopetdMarketRate.getValue().replaceAll("[^\\d.]", "")));
                    tfAreaofLand.setValue(site.toString() + " sft (or) "
                            + site.divide(salbale, 2, RoundingMode.HALF_UP).toPlainString() + " cents");
                    tfFairMarketRate.setValue(XMLUtil.IndianFormat(new BigDecimal(fair
                            .multiply(site.divide(salbale, 2, RoundingMode.HALF_UP))
                            .multiply(new BigDecimal(tfAdopetdMarketRate.getValue().replaceAll("[^\\d.]", "")))
                            .toString())));
                } catch (Exception e) {

                }
            }

        }
    });
    /*tfEvaluationNumber.addValidator(new IntegerValidator("Enter numbers only"));
    tfEvaluationNumber.addBlurListener(new SaarcValidate(tfEvaluationNumber));*/
    tfEvaluationNumber.setImmediate(true);

    tfEvaluationNumber.addBlurListener(new BlurListener() {

        private static final long serialVersionUID = 1L;

        public void blur(BlurEvent event) {
            // TODO Auto-generated method stub
            if (!tfEvaluationNumber.isReadOnly()) {
                tfEvaluationNumber.setComponentError(null);
                try {
                    tfEvaluationNumber.setComponentError(null);
                    String evalno = tfEvaluationNumber.getValue().toString();
                    count = beanEvaluation.getEvalNoCount(evalno);

                    if (tfEvaluationNumber.getValue() != null
                            && tfEvaluationNumber.getValue().trim().length() > 0) {

                        if (count == 0) {

                            tfEvaluationNumber.setComponentError(null);

                        } else {

                            tfEvaluationNumber
                                    .setComponentError(new UserError("Evaluation number is already Exist"));

                        }
                    }
                } catch (Exception e) {

                }
            }

        }
    });
    layoutMainForm.addComponent(PanelGenerator.createPanel(accordion));

    mainPanel.addComponent(layoutMainForm);
    mainPanel.addComponent(layoutButton2);
    mainPanel.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);
    mainPanel.setVisible(false);

    layoutMainForm.setMargin(true);
    layoutMainForm.setSpacing(true);
    // for main panel
    layoutButton2.setSpacing(true);
    btnSave.setStyleName("savebt");
    btnCancel.setStyleName("cancelbt");
    btnSubmit.setStyleName("submitbt");
    //   saveExcel.addStyleName("downloadbt");
    btnSave.setVisible(false);
    btnSubmit.setVisible(false);
    btnCancel.setVisible(false);

    layoutButton2.addComponent(btnSave);
    //   layoutButton2.addComponent(saveExcel);
    layoutButton2.addComponent(btnSubmit);
    layoutButton2.addComponent(btnCancel);
    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);

    // Initaited the Label Function here by Hohul
    lblTableTitle = new Label();
    lblSaveNotification = new Label();
    lblSaveNotification.setContentMode(ContentMode.HTML);
    lblNotificationIcon = new Label();
    lblTableTitle.setValue("<B>&nbsp;&nbsp;Action:</B>");
    lblTableTitle.setContentMode(ContentMode.HTML);
    lblFormTittle = new Label();
    lblFormTittle.setContentMode(ContentMode.HTML);
    lblFormTittle.setValue("&nbsp;&nbsp;<b>" + screenName + "</b>&nbsp;::&nbsp;Home");
    lblFormTitle1 = new Label();
    lblFormTitle1.setContentMode(ContentMode.HTML);
    lblFormTitle1.setValue("&nbsp;&nbsp;<b>" + screenName + "</b>&nbsp;::&nbsp;");
    lblAddEdit = new Label();
    lblAddEdit.setContentMode(ContentMode.HTML);

    // Button Back declaration by Hohul
    btnBack = new Button("Home", this);
    btnBack.setStyleName("link");

    // Bread Scrumbs initiated here by Hohul

    hlBreadCrumbs = new HorizontalLayout();
    hlBreadCrumbs.addComponent(lblFormTitle1);
    hlBreadCrumbs.addComponent(btnBack);
    hlBreadCrumbs.setComponentAlignment(btnBack, Alignment.TOP_CENTER);
    hlBreadCrumbs.addComponent(lblAddEdit);
    hlBreadCrumbs.setComponentAlignment(lblAddEdit, Alignment.MIDDLE_CENTER);
    hlBreadCrumbs.setVisible(false);

    // for search panel
    // for search panel
    // Added by Hohul ----->  For Search Panel Layouts
    FormLayout flSearchEvalNumber = new FormLayout();
    flSearchEvalNumber.addComponent(tfSearchEvalNumber);

    FormLayout flSearchBankbranch = new FormLayout();
    flSearchBankbranch.addComponent(slSearchBankbranch);

    FormLayout flSearchCustomer = new FormLayout();
    flSearchCustomer.addComponent(tfSearchCustomer);

    HorizontalLayout hlSearchComponentLayout = new HorizontalLayout();
    hlSearchComponentLayout.addComponent(flSearchEvalNumber);
    hlSearchComponentLayout.addComponent(flSearchBankbranch);
    hlSearchComponentLayout.addComponent(flSearchCustomer);
    hlSearchComponentLayout.setSpacing(true);
    hlSearchComponentLayout.setMargin(true);

    //Initialization and properties for btnDownload      
    btnDownload = new Button("Download");
    //btnDownload.setDescription("Download");
    btnDownload.addStyleName("downloadbt");
    btnDownload.addClickListener(new ClickListener() {
        @Override
        public void buttonClick(ClickEvent event) {
            //  UI.getCurrent()..clearDashboardButtonBadge();
            event.getButton().removeStyleName("unread");
            if (notifications != null && notifications.getUI() != null)
                notifications.close();
            else {
                buildNotifications(event);
                UI.getCurrent().addWindow(notifications);
                notifications.focus();
                ((VerticalLayout) UI.getCurrent().getContent())
                        .addLayoutClickListener(new LayoutClickListener() {
                            @Override
                            public void layoutClick(LayoutClickEvent event) {
                                notifications.close();
                                ((VerticalLayout) UI.getCurrent().getContent()).removeLayoutClickListener(this);
                            }
                        });
            }

        }
    });

    hlFileDownloadLayout = new HorizontalLayout();
    hlFileDownloadLayout.setSpacing(true);
    hlFileDownloadLayout.addComponent(btnDownload);
    hlFileDownloadLayout.setComponentAlignment(btnDownload, Alignment.MIDDLE_CENTER);

    VerticalLayout vlSearchandResetButtonLAyout = new VerticalLayout();
    vlSearchandResetButtonLAyout.setSpacing(true);
    vlSearchandResetButtonLAyout.addComponent(btnReset);
    vlSearchandResetButtonLAyout.setWidth("100");
    vlSearchandResetButtonLAyout.addStyleName("topbarthree");
    vlSearchandResetButtonLAyout.setMargin(true);

    HorizontalLayout hlSearchComponentandButtonLayout = new HorizontalLayout();
    hlSearchComponentandButtonLayout.setSizeFull();
    hlSearchComponentandButtonLayout.setSpacing(true);
    hlSearchComponentandButtonLayout.addComponent(hlSearchComponentLayout);
    hlSearchComponentandButtonLayout.setComponentAlignment(hlSearchComponentLayout, Alignment.MIDDLE_LEFT);
    hlSearchComponentandButtonLayout.addComponent(vlSearchandResetButtonLAyout);
    hlSearchComponentandButtonLayout.setComponentAlignment(vlSearchandResetButtonLAyout,
            Alignment.MIDDLE_RIGHT);
    hlSearchComponentandButtonLayout.setExpandRatio(vlSearchandResetButtonLAyout, 1);
    final VerticalLayout vlSearchComponentandButtonLayout = new VerticalLayout();
    vlSearchComponentandButtonLayout.setSpacing(true);
    vlSearchComponentandButtonLayout.setSizeFull();
    vlSearchComponentandButtonLayout.addComponent(hlSearchComponentandButtonLayout);

    /*layoutSearch.addComponent(tfSearchEvalNumber);
    layoutSearch.addComponent(slSearchBankbranch);
    layoutSearch.addComponent(tfSearchCustomer);
    layoutSearch.addComponent(btnReset);
    layoutSearch.setComponentAlignment(btnReset, Alignment.BOTTOM_LEFT);
    btnSearch.addStyleName("default");*/
    btnReset.addStyleName("resetbt");
    tfSearchCustomer.setImmediate(true);
    tfSearchCustomer.addListener(new TextChangeListener() {
        private static final long serialVersionUID = 1L;
        SimpleStringFilter filter = null;

        public void textChange(TextChangeEvent event) {
            Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
            if (filter != null)
                f.removeContainerFilter(filter);

            filter = new SimpleStringFilter("custName", event.getText(), true, false);

            f.addContainerFilter(filter);
            total = f.size();
            tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
        }
    });
    tfSearchEvalNumber.setImmediate(true);
    tfSearchEvalNumber.addListener(new TextChangeListener() {
        private static final long serialVersionUID = 1L;
        SimpleStringFilter filter = null;

        public void textChange(TextChangeEvent event) {
            Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
            if (filter != null)
                f.removeContainerFilter(filter);

            filter = new SimpleStringFilter("evalNo", event.getText(), true, false);

            f.addContainerFilter(filter);
            total = f.size();
            tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
        }
    });
    slSearchBankbranch.setImmediate(true);
    slSearchBankbranch.addValueChangeListener(new Property.ValueChangeListener() {
        private static final long serialVersionUID = 1L;
        Filter filter = null;

        @Override
        public void valueChange(ValueChangeEvent event) {
            // TODO Auto-generated method stub

            try {
                String strBankBranch = slSearchBankbranch.getValue().toString();
                Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
                if (filter != null)
                    f.removeContainerFilter(filter);

                filter = new Compare.Equal("bankBranch", strBankBranch);
                f.addContainerFilter(filter);
                f.addContainerFilter(filter);
                total = f.size();
                tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
            } catch (Exception e) {
            }
        }

    });
    searchPanel.addComponent(PanelGenerator.createPanel(vlSearchComponentandButtonLayout));
    searchPanel.setMargin(true);

    // Add Layout table panel by Hohul

    HorizontalLayout flTableCaption = new HorizontalLayout();
    flTableCaption.addComponent(lblTableTitle);
    flTableCaption.setComponentAlignment(lblTableTitle, Alignment.MIDDLE_CENTER);
    flTableCaption.addStyleName("lightgray");
    flTableCaption.setHeight("25px");
    flTableCaption.setWidth("60px");
    lblNoofRecords = new Label(" ", ContentMode.HTML);
    lblNoofRecords.addStyleName("lblfooter");
    HorizontalLayout hlTableTittleLayout = new HorizontalLayout();
    hlTableTittleLayout.addComponent(flTableCaption);
    hlTableTittleLayout.addComponent(btnAdd);
    hlTableTittleLayout.addComponent(btnEdit);
    hlTableTittleLayout.addComponent(btnView);
    hlTableTittleLayout.setHeight("25px");
    hlTableTittleLayout.setSpacing(true);

    HorizontalLayout hlTableTitleandCaptionLayout = new HorizontalLayout();
    hlTableTitleandCaptionLayout.addStyleName("topbarthree");
    hlTableTitleandCaptionLayout.setWidth("100%");
    hlTableTitleandCaptionLayout.addComponent(hlTableTittleLayout);
    hlTableTitleandCaptionLayout.addComponent(hlFileDownloadLayout);
    hlTableTitleandCaptionLayout.setComponentAlignment(hlFileDownloadLayout, Alignment.MIDDLE_RIGHT);
    hlTableTitleandCaptionLayout.setHeight("28px");

    // for table panel
    btnAdd.addStyleName("add");
    btnEdit.addStyleName("editbt");
    btnView.addStyleName("view");
    btnView.setEnabled(false);

    hlAddEditLayout.addStyleName("topbarthree");
    hlAddEditLayout.setWidth("100%");
    hlAddEditLayout.addComponent(hlTableTitleandCaptionLayout);
    hlAddEditLayout.setHeight("28px");
    // Added Action Label to Table

    layoutTable.addComponent(hlAddEditLayout);
    layoutTable.setComponentAlignment(hlAddEditLayout, Alignment.TOP_LEFT);
    layoutTable.addComponent(tblEvalDetails);

    tablePanel.addComponent(layoutTable);
    tablePanel.setWidth("100%");
    tablePanel.setMargin(true);

    slSearchBankbranch.setNullSelectionAllowed(false);
    slSearchBankbranch.setInputPrompt(Common.SELECT_PROMPT);
    tfSearchCustomer.setInputPrompt("Enter Customer");
    tfSearchEvalNumber.setInputPrompt("Enter Evaluation Number");
    tfAdopetdMarketRate.setInputPrompt("Enter Market Rate");
    tfAdvantageSite.setInputPrompt("Enter Advantage Site");
    tfAnyConversionLand.setInputPrompt("Enter Conversion Land");
    tfAnyFixtures.setInputPrompt("Enter Fixtures");
    tfApprveNo.setInputPrompt("Enter Approve No");
    tfAreaofLand.setInputPrompt("Enter Area Of Land");
    tfBuilding.setInputPrompt("Enter Building");
    tfCaption.setInputPrompt("Enter Caption");
    tfClassFit.setInputPrompt("Enter Class Fit");
    tfCoverUnderStatCentral.setInputPrompt("Enter Cover Under State Central");
    //tfCustomerAddr.setInputPrompt("Enter Customer Address");
    //tfCustomerName.setInputPrompt("Enter Customer Name");
    tfDetailsPlan.setInputPrompt("Enter Detail Plan");
    tfDisadvantageSite.setInputPrompt("Enter Disadvantages");
    tfDistCorpPanc.setInputPrompt("Enter District");
    tfDistressRate.setInputPrompt("Enter Distress Rate");
    tfDtlsDeviation.setInputPrompt("Enter Deviation Details");
    tfDynamicAsset1.setInputPrompt("Enter Dynamic Asset");
    tfDynamicAsset2.setInputPrompt("Enter Dynamic Asset");
    tfDynamicCharacter1.setInputPrompt("Enter Dynamic Character");
    tfDynamicCharacter2.setInputPrompt("Enter Dynamic Character");
    tfDynamicConstval1.setInputPrompt("Enter Dynamic Constant Value");
    tfDynamicConstval2.setInputPrompt("Enter Dynamic Constant Value");
    tfDynamicDescProp1.setInputPrompt("Enter Dynamic Description");
    tfDynamicDescProp2.setInputPrompt("Enter Dynamic Description");
    tfDynamicElectrical1.setInputPrompt("Enter Dynamic Electrial");
    tfDynamicElectrical2.setInputPrompt("Enter Dynamic Electrial");
    tfDynamicEvaluation1.setInputPrompt("Enter Dynamic Evaluation");
    tfDynamicEvaluation2.setInputPrompt("Enter Dynamic Evaluation");
    tfDynamicForFlat1.setInputPrompt("Enter Flat");
    tfDynamicForFlat2.setInputPrompt("Enter Flat");
    tfDynamicPlanApproval1.setInputPrompt("Enter Plan Approval");
    tfDynamicPlanApproval2.setInputPrompt("Enter Plan Approval");
    tfDynamicPlum1.setInputPrompt("Enter Plumping");
    tfDynamicPlum2.setInputPrompt("Enter Plumping");
    tfDynamicValuation1.setInputPrompt("Enter Valuation");
    tfDynamicValuation2.setInputPrompt("Enter Valuation");

    layoutPage.addComponent(mainPanel);
    layoutPage.addComponent(searchPanel);
    layoutPage.addComponent(tablePanel);

    // Added labels and titles to respective Location by Hohul

    HorizontalLayout hlNotificationLayout = new HorizontalLayout();
    hlNotificationLayout.addComponent(lblNotificationIcon);
    hlNotificationLayout.setComponentAlignment(lblNotificationIcon, Alignment.MIDDLE_LEFT);
    hlNotificationLayout.addComponent(lblSaveNotification);
    hlNotificationLayout.setComponentAlignment(lblSaveNotification, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(lblFormTittle);
    hlHeaderLayout.setComponentAlignment(lblFormTittle, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(hlBreadCrumbs);
    hlHeaderLayout.setComponentAlignment(hlBreadCrumbs, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(hlNotificationLayout);
    hlHeaderLayout.setComponentAlignment(hlNotificationLayout, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.MIDDLE_RIGHT);

    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);

    // load Component list values
    loadComponentListValues();

    //   setTableProperties();
    populateAndConfig(false);

}

From source file:com.gnts.pem.txn.sbi.SBIConstruction.java

@SuppressWarnings("deprecation")
void buildView(VerticalLayout layoutPage, HorizontalLayout hlHeaderLayout) {
    // for component width
    setComponentStyle();/*from w  w  w  . j a  va2 s  .  c om*/
    hlHeaderLayout.removeAllComponents();

    tblEvalDetails = new Table();
    tblEvalDetails.setStyleName(Runo.TABLE_SMALL);
    tblEvalDetails.setPageLength(14);
    tblEvalDetails.setSizeFull();
    tblEvalDetails.setFooterVisible(true);
    tblEvalDetails.setSelectable(true);
    tblEvalDetails.setImmediate(true);
    tblEvalDetails.setColumnCollapsingAllowed(true);
    // for evaluation details
    tfEvaluationPurpose.setValue("Collateral Security to the Bank");
    slStreetSerNo.addItem("Street Name");
    slStreetSerNo.addItem("Survey Number");
    slStreetSerNo.setNullSelectionAllowed(false);
    tfEvaluationNumber.setRequired(true);
    slBankBranch.setRequired(true);
    dfDateofValuation.setRequired(true);
    tfEvaluationPurpose.setRequired(true);
    layoutEvaluationDetails1.setColumns(4);

    layoutEvaluationDetails1.addComponent(tfEvaluationNumber);
    layoutEvaluationDetails1.addComponent(slBankBranch);
    layoutEvaluationDetails1.addComponent(tfEvaluationPurpose);
    layoutEvaluationDetails1.addComponent(tfValuatedBy);
    layoutEvaluationDetails1.addComponent(dfDateofValuation);
    layoutEvaluationDetails1.addComponent(dfVerifiedDate);
    layoutEvaluationDetails1.addComponent(tfVerifiedBy);
    layoutEvaluationDetails1.addComponent(tfDynamicEvaluation1);
    layoutEvaluationDetails1.addComponent(tfDynamicEvaluation2);
    tfDynamicEvaluation1.setVisible(false);
    tfDynamicEvaluation2.setVisible(false);
    layoutEvaluationDetails1.setSpacing(true);
    layoutEvaluationDetails1.setMargin(true);

    layoutEvaluationDetails.addComponent(btnDynamicEvaluation1);
    layoutEvaluationDetails.setComponentAlignment(btnDynamicEvaluation1, Alignment.TOP_RIGHT);
    layoutEvaluationDetails.addComponent(layoutEvaluationDetails1);

    // for asset details
    VerticalLayout formAsset1 = new VerticalLayout();
    VerticalLayout formAsset2 = new VerticalLayout();
    VerticalLayout formAsset3 = new VerticalLayout();
    VerticalLayout formAsset4 = new VerticalLayout();
    formAsset1.setSpacing(true);
    formAsset2.setSpacing(true);
    formAsset4.setSpacing(true);

    formAsset1.addComponent(tfCustomerName);
    formAsset1.addComponent(tfLandMark);
    formAsset1.addComponent(slPropertyDesc);
    formAsset2.addComponent(tfCustomerAddr);
    formAsset3.addComponent(tfPropertyAddress);
    formAsset3.addComponent(chkSameAddress);
    formAsset4.addComponent(tfDynamicAsset1);
    formAsset4.addComponent(tfDynamicAsset2);
    tfDynamicAsset1.setVisible(false);
    tfDynamicAsset2.setVisible(false);

    chkSameAddress.setImmediate(true);
    chkSameAddress.addListener(new Property.ValueChangeListener() {
        private static final long serialVersionUID = 1L;

        public void valueChange(ValueChangeEvent event) {

            if (chkSameAddress.getValue().equals(true)) {
                tfPropertyAddress.setValue(tfCustomerAddr.getValue());

            } else {
                tfPropertyAddress.setValue("");
            }
        }
    });

    layoutAssetDetails1.setSpacing(true);
    layoutAssetDetails1.setColumns(4);
    layoutAssetDetails1.addComponent(formAsset1);
    layoutAssetDetails1.addComponent(formAsset2);
    layoutAssetDetails1.addComponent(formAsset3);
    layoutAssetDetails1.addComponent(formAsset4);
    layoutAssetDetails1.setMargin(true);

    layoutAssetDetails.addComponent(btnDynamicAsset);
    layoutAssetDetails.setComponentAlignment(btnDynamicAsset, Alignment.TOP_RIGHT);
    layoutAssetDetails.addComponent(layoutAssetDetails1);

    lblHeading = new Label("Owner Details");
    layoutAssetOwner.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutAssetOwner.addComponent(PanelGenerator.createPanel(layoutOwnerDetails));
    lblHeading = new Label("Asset Details");
    layoutAssetOwner.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutAssetOwner.addComponent(PanelGenerator.createPanel(layoutAssetDetails));

    // for Owner Details
    layoutOwnerDetails.addComponent(btnAddOwner);
    layoutOwnerDetails.setComponentAlignment(btnAddOwner, Alignment.TOP_RIGHT);
    layoutOwnerDetails1.setColumns(4);
    layoutOwnerDetails1.addComponent(new ComponentIterOwnerDetails("", ""));
    layoutOwnerDetails.addComponent(layoutOwnerDetails1);
    layoutOwnerDetails1.setSpacing(true);
    layoutOwnerDetails1.setMargin(true);

    // for document details
    panelNormalDocumentDetails.addComponent(btnAddNorDoc);
    panelNormalDocumentDetails.setComponentAlignment(btnAddNorDoc, Alignment.TOP_RIGHT);
    panelNormalDocumentDetails.addComponent(new ComponentIteratorNormlDoc(null, null, "", ""));
    panelNormalDocumentDetails.setMargin(true);
    panelLegalDocumentDetails.addComponent(btnAddLegalDoc);
    panelLegalDocumentDetails.setComponentAlignment(btnAddLegalDoc, Alignment.TOP_RIGHT);
    panelLegalDocumentDetails.addComponent(new ComponentIteratorLegalDoc("", "", null));
    panelLegalDocumentDetails.setMargin(true);
    layoutNormalLegal.addComponent(PanelGenerator.createPanel(panelNormalDocumentDetails));
    lblHeading = new Label("Legal Documents");
    layoutNormalLegal.addComponent(lblHeading);
    lblHeading.setStyleName("h4");
    layoutNormalLegal.addComponent(PanelGenerator.createPanel(panelLegalDocumentDetails));
    layoutNormalLegal.setMargin(true);
    panelNormalDocumentDetails.setWidth("100%");
    panelLegalDocumentDetails.setWidth("100%");

    // for adjoin properties
    panelAdjoinProperties.addComponent(btnAddAdjoinProperty);
    panelAdjoinProperties.setComponentAlignment(btnAddAdjoinProperty, Alignment.BOTTOM_RIGHT);
    panelAdjoinProperties.addComponent(new ComponentIteratorAdjoinProperty(null, true, true, true));

    // for dimensions
    panelDimension.addComponent(btnAddDimension);
    panelDimension.setComponentAlignment(btnAddDimension, Alignment.BOTTOM_RIGHT);
    panelDimension.addComponent(new ComponentIterDimensionofPlot(null, true, true, true));

    //for description of the property
    layoutDescProperty.setMargin(true);
    layoutDescProperty1.setSpacing(true);
    layoutDescProperty1.setColumns(4);
    layoutDescProperty.addComponent(btnDynamicDescProp);
    layoutDescProperty.setComponentAlignment(btnDynamicDescProp, Alignment.TOP_RIGHT);
    layoutDescProperty1.addComponent(tfSiteNumber);
    layoutDescProperty1.addComponent(tfSFNumber);
    layoutDescProperty1.addComponent(tfNewSFNumber);
    layoutDescProperty1.addComponent(tfVillage);
    layoutDescProperty1.addComponent(tfTaluk);
    layoutDescProperty1.addComponent(tfDistCorpPanc);
    layoutDescProperty1.addComponent(tfLocationSketch);
    layoutDescProperty1.addComponent(tfProTaxReceipt);
    layoutDescProperty1.addComponent(tfElecServiceConnNo);
    layoutDescProperty1.addComponent(tfElecConnecName);
    layoutDescProperty1.addComponent(slHighMiddPoor);
    layoutDescProperty1.addComponent(slUrbanSemiRural);
    layoutDescProperty1.addComponent(slResiIndustCommer);
    layoutDescProperty1.addComponent(slProOccupiedBy);
    layoutDescProperty1.addComponent(tfMonthlyRent);
    layoutDescProperty1.addComponent(tfCoverUnderStatCentral);
    layoutDescProperty1.addComponent(tfAnyConversionLand);
    layoutDescProperty1.addComponent(tfExtentSite);
    layoutDescProperty1.addComponent(tfYearAcquistion);
    layoutDescProperty1.addComponent(tfPurchaseValue);
    layoutDescProperty1.addComponent(tfPropLandmark);
    layoutDescProperty1.addComponent(tfPostalAddress);
    layoutDescProperty1.addComponent(tfDynamicDescProp1);
    layoutDescProperty1.addComponent(tfDynamicDescProp2);
    layoutDescProperty.addComponent(layoutDescProperty1);
    tfDynamicDescProp1.setVisible(false);
    tfDynamicDescProp2.setVisible(false);
    //for charcteristiccs of the site
    layoutCharcterSite1.setSpacing(true);
    layoutCharcterSite1.setColumns(4);
    layoutCharcterSite.setMargin(true);
    layoutCharcterSite.addComponent(btnDynamicCharacter);
    layoutCharcterSite.setComponentAlignment(btnDynamicCharacter, Alignment.TOP_RIGHT);
    layoutCharcterSite1.addComponent(slLocalClass);
    layoutCharcterSite1.addComponent(slSurroundDevelop);
    layoutCharcterSite1.addComponent(tfFlood);
    layoutCharcterSite1.addComponent(slFeasibility);
    layoutCharcterSite1.addComponent(slLandLevel);
    layoutCharcterSite1.addComponent(slLandShape);
    layoutCharcterSite1.addComponent(slTypeUse);
    layoutCharcterSite1.addComponent(tfUsageRestriction);
    layoutCharcterSite1.addComponent(slIsPlot);
    layoutCharcterSite1.addComponent(tfApprveNo);
    layoutCharcterSite1.addComponent(tfNoReason);
    layoutCharcterSite1.addComponent(tfSubdivide);
    layoutCharcterSite1.addComponent(slDrawApproval);
    layoutCharcterSite1.addComponent(slCornerInter);
    layoutCharcterSite1.addComponent(slRoadFacility);
    layoutCharcterSite1.addComponent(slTypeRoad);
    layoutCharcterSite1.addComponent(slRoadWidth);
    layoutCharcterSite1.addComponent(slLandLock);
    layoutCharcterSite1.addComponent(slWaterPotential);
    layoutCharcterSite1.addComponent(slUnderSewerage);
    layoutCharcterSite1.addComponent(slPowerSupply);
    layoutCharcterSite1.addComponent(tfAdvantageSite);
    layoutCharcterSite1.addComponent(tfDisadvantageSite);
    layoutCharcterSite1.addComponent(tfGeneralRemarks);
    layoutCharcterSite1.addComponent(tfDynamicCharacter1);
    layoutCharcterSite1.addComponent(tfDynamicCharacter2);
    layoutCharcterSite.addComponent(layoutCharcterSite1);
    tfDynamicCharacter1.setVisible(false);
    tfDynamicCharacter2.setVisible(false);

    // valuation of land
    layoutValuationLand.setSpacing(true);
    layoutValuationLand1.setSpacing(true);
    layoutValuationLand1.setColumns(4);
    layoutValuationLand1.addComponent(tfAreaofLand);
    layoutValuationLand1.addComponent(tfNorthandSouth);
    layoutValuationLand1.addComponent(tfMarketRate);
    layoutValuationLand1.addComponent(tfGuiderate);
    layoutValuationLand1.addComponent(tfAdopetdMarketRate);
    layoutValuationLand1.addComponent(tfFairMarketRate);
    layoutValuationLand1.addComponent(tfDynamicValuation1);
    layoutValuationLand1.addComponent(tfDynamicValuation2);
    tfDynamicValuation1.setVisible(false);
    tfDynamicValuation2.setVisible(false);
    tfAdopetdMarketRate.setRequired(true);
    layoutValuationLand.addComponent(btnDynamicValuation);
    layoutValuationLand.setComponentAlignment(btnDynamicValuation, Alignment.TOP_RIGHT);
    layoutValuationLand.addComponent(layoutValuationLand1);
    layoutValuationLand.setMargin(true);
    tfFairMarketRate.setValue("0.00");
    tfFairMarketRate.setImmediate(true);
    tfFairMarketRate.addBlurListener(new BlurListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void blur(BlurEvent event) {
            try {
                String numberOnly = tfFairMarketRate.getValue().replaceAll("[^0-9]", "");
                BigDecimal fairmarket = new BigDecimal(numberOnly);

                BigDecimal realizable = (fairmarket.multiply(new BigDecimal(95))).divide(new BigDecimal(100));
                realizable = realizable.subtract(realizable.remainder(new BigDecimal(1000)));
                tfRealziableRate.setValue(realizable.toString());

                BigDecimal distress = (fairmarket.multiply(new BigDecimal(85))).divide(new BigDecimal(100));
                distress = distress.subtract(distress.remainder(new BigDecimal(1000)));
                tfDistressRate.setValue(distress.toString());

            } catch (Exception e) {
            }
        }
    });
    //tfEvaluationNumber.addValidator(new IntegerValidator("Enter numbers only"));
    //tfEvaluationNumber.addBlurListener(new SaarcValidate(tfEvaluationNumber));
    tfEvaluationNumber.setImmediate(true);

    tfEvaluationNumber.addBlurListener(new BlurListener() {

        private static final long serialVersionUID = 1L;

        public void blur(BlurEvent event) {
            // TODO Auto-generated method stub
            if (!tfEvaluationNumber.isReadOnly()) {
                tfEvaluationNumber.setComponentError(null);
                try {
                    tfEvaluationNumber.setComponentError(null);
                    String evalno = tfEvaluationNumber.getValue().toString();
                    count = beanEvaluation.getEvalNoCount(evalno);

                    if (tfEvaluationNumber.getValue() != null
                            && tfEvaluationNumber.getValue().trim().length() > 0) {

                        if (count == 0) {

                            tfEvaluationNumber.setComponentError(null);

                        } else {

                            tfEvaluationNumber
                                    .setComponentError(new UserError("Evaluation number is already Exist"));

                        }
                    }
                } catch (Exception e) {

                }
            }

        }
    });
    //property value
    layoutPropertyValue.setSpacing(true);
    layoutPropertyValue.setMargin(true);
    layoutPropertyValue1.setColumns(4);
    layoutPropertyValue1.setSpacing(true);
    layoutPropertyValue1.addComponent(tfRealziableRate);
    layoutPropertyValue1.addComponent(tfDistressRate);
    layoutPropertyValue1.addComponent(tfGuidelineRate);
    layoutPropertyValue.addComponent(layoutPropertyValue1);

    //for Estimate Construction
    layoutEstimateConstruction.setSpacing(true);
    layoutEstimateConstruction.setMargin(true);
    layoutEstimateConstruction.addComponent(btnDynamicEstimate);
    layoutEstimateConstruction.setComponentAlignment(btnDynamicEstimate, Alignment.TOP_RIGHT);
    layoutEstimateConstruction1.setSpacing(true);
    layoutEstimateConstruction1.addComponent(tfEstimateGiven);
    layoutEstimateConstruction1.addComponent(tfAppReason);
    layoutEstimateConstruction1.addComponent(tfSalient);
    layoutEstimateConstruction1.addComponent(tfBreakup);
    layoutEstimateConstruction1.addComponent(tfDynamicEstimateConst1);
    layoutEstimateConstruction1.addComponent(tfDynamicEstimateConst2);
    layoutEstimateConstruction.addComponent(layoutEstimateConstruction1);
    tfDynamicEstimateConst1.setVisible(false);
    tfDynamicEstimateConst2.setVisible(false);
    // for details of plan approval
    layoutPlanApproval1.setColumns(2);
    FormLayout lay1 = new FormLayout();
    FormLayout lay2 = new FormLayout();
    lay1.addComponent(tfLandandBuilding);
    lay1.addComponent(tfBuilding);
    lay1.addComponent(tfPlanApprovedBy);
    lay1.addComponent(dfLicenseFrom);
    lay1.addComponent(slIsLicenceForced);
    lay1.addComponent(tfDynamicPlanApproval2);

    lay2.addComponent(tfQuality);
    lay2.addComponent(slAllApprovalRecved);
    lay2.addComponent(slConstAsperAppPlan);
    lay2.addComponent(tfReason);
    lay2.addComponent(tfDynamicPlanApproval1);
    tfDynamicPlanApproval1.setVisible(false);
    tfDynamicPlanApproval2.setVisible(false);
    lay1.setSpacing(true);
    lay2.setSpacing(true);
    layoutPlanApproval1.addComponent(lay1);
    layoutPlanApproval1.addComponent(lay2);
    layoutPlanApproval1.setSpacing(true);
    layoutPlanApproval1.setMargin(true);
    layoutPlanApproval.addComponent(btnDynamicPlanApproval);
    layoutPlanApproval.setComponentAlignment(btnDynamicPlanApproval, Alignment.TOP_RIGHT);
    layoutPlanApproval.addComponent(layoutPlanApproval1);

    // for Build Specification
    panelBuildSpecfication.addComponent(btnAddBuildSpec);
    panelBuildSpecfication.setComponentAlignment(btnAddBuildSpec, Alignment.BOTTOM_RIGHT);
    panelBuildSpecfication.addComponent(new ComponentIterBuildingSpecfication(null, true, true, true));
    panelBuildSpecfication.setWidth("100%");
    // for plinth area
    layoutPlintharea.addComponent(btnAddPlinth);
    layoutPlintharea.setComponentAlignment(btnAddPlinth, Alignment.BOTTOM_RIGHT);
    layoutPlintharea.setMargin(true);
    layoutPlintharea.addComponent(new ComponentIterPlinthArea("Ground Floor", "", ""));
    layoutPlintharea.addComponent(new ComponentIterPlinthArea("Portico and Stair", "", ""));

    // for applicant estimate
    layoutApplicantEstimate.setSpacing(true);
    layoutApplicantEstimate1.setSpacing(true);
    layoutApplicantEstimate1.setColumns(2);
    layoutApplicantEstimate2.setSpacing(true);
    layoutApplicantEstimate2.setColumns(2);
    layoutApplicantEstimate3.setSpacing(true);
    layoutApplicantEstimate3.setColumns(2);
    layoutApplicantEstimate4.setSpacing(true);
    layoutApplicantEstimate4.setColumns(2);
    layoutApplicantEstimate1.addComponent(lblAppEstimate);
    layoutApplicantEstimate1.addComponent(tfAppEstimate);
    layoutApplicantEstimate1.addComponent(lblDtlsAppEstimate);
    layoutApplicantEstimate1.addComponent(tfDtlsAppEstimate);
    layoutApplicantEstimate1.addComponent(tfDetails1);
    layoutApplicantEstimate1.addComponent(tfDetailVal1);
    layoutApplicantEstimate1.addComponent(tfDetails2);
    layoutApplicantEstimate1.addComponent(tfDetailVal2);
    layoutApplicantEstimate1.addComponent(tfDetails3);
    layoutApplicantEstimate1.addComponent(tfDetailVal3);
    layoutApplicantEstimate2.addComponent(tfDynamicAppEstimate1);
    layoutApplicantEstimate2.addComponent(tfDynamicAppEstimate2);
    layoutApplicantEstimate2.addComponent(tfDynamicAppEstimate3);
    layoutApplicantEstimate2.addComponent(tfDynamicAppEstimate4);
    layoutApplicantEstimate3.addComponent(tfDynamicAppEstimate5);
    layoutApplicantEstimate3.addComponent(tfDynamicAppEstimate6);
    layoutApplicantEstimate3.addComponent(tfDynamicAppEstimate7);
    layoutApplicantEstimate3.addComponent(tfDynamicAppEstimate8);
    layoutApplicantEstimate4.addComponent(lblTotal);
    layoutApplicantEstimate4.addComponent(tfTotalval);

    layoutApplicantEstimate.addComponent(btnDynamicAppEstimate);
    layoutApplicantEstimate.setComponentAlignment(btnDynamicAppEstimate, Alignment.TOP_RIGHT);
    layoutApplicantEstimate.addComponent(layoutApplicantEstimate1);
    layoutApplicantEstimate.addComponent(layoutApplicantEstimate2);
    layoutApplicantEstimate.addComponent(layoutApplicantEstimate3);
    layoutApplicantEstimate.addComponent(layoutApplicantEstimate4);
    layoutApplicantEstimate2.setVisible(true);
    layoutApplicantEstimate3.setVisible(true);
    layoutApplicantEstimate.setMargin(true);
    tfDynamicAppEstimate2.setValue("0.00");
    tfDetailVal2.setValue("0.00");
    tfDetailVal1.setValue("0.00");
    tfDynamicAppEstimate4.setValue("0.00");
    tfDynamicAppEstimate6.setValue("0.00");
    tfDynamicAppEstimate8.setValue("0.00");
    tfDetailVal3.setValue("0.00");
    tfTotalval.setImmediate(true);
    tfTotalval.addBlurListener(new BlurListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void blur(BlurEvent event) {
            // TODO Auto-generated method stub
            BigDecimal appEstimate = new BigDecimal(0.00);

            BigDecimal test = new BigDecimal("0.00");
            BigDecimal test1 = new BigDecimal("0.00");
            BigDecimal test2 = new BigDecimal("0.00");
            BigDecimal test3 = new BigDecimal("0.00");
            BigDecimal test4 = new BigDecimal("0.00");
            BigDecimal test5 = new BigDecimal("0.00");
            BigDecimal test6 = new BigDecimal("0.00");

            try {
                test = new BigDecimal(tfDetailVal1.getValue());

            } catch (Exception e) {
                test = new BigDecimal("0.00");
            }
            try {
                test1 = new BigDecimal(tfDetailVal2.getValue());
            } catch (Exception e) {
                test1 = new BigDecimal("0.00");
            }
            try {
                test2 = new BigDecimal(tfDetailVal3.getValue());
            } catch (Exception e) {
                test2 = new BigDecimal("0.00");
            }
            try {
                test3 = new BigDecimal(tfDynamicAppEstimate2.getValue());

            } catch (Exception e) {
                test3 = new BigDecimal("0.00");
            }
            try {
                test4 = new BigDecimal(tfDynamicAppEstimate4.getValue());
            } catch (Exception e) {
                test4 = new BigDecimal("0.00");
            }
            try {
                test5 = new BigDecimal(tfDynamicAppEstimate6.getValue());
            } catch (Exception e) {
                test4 = new BigDecimal("0.00");
            }
            try {
                test6 = new BigDecimal(tfDynamicAppEstimate8.getValue());
            } catch (Exception e) {
                test4 = new BigDecimal("0.00");
            }
            appEstimate = appEstimate.add(test).add(test1).add(test2).add(test3).add(test4).add(test5)
                    .add(test6);
            tfTotalval.setValue(appEstimate.toString());
            tfAppEstimate.setValue(appEstimate.toString());
        }
    });

    //for applicant reasonable
    layoutApplicantReasonable.setSpacing(true);
    layoutApplicantReasonable1.setSpacing(true);
    layoutApplicantReasonable2.setSpacing(true);
    layoutApplicantReasonable1.setColumns(2);
    layoutApplicantReasonable2.setColumns(2);
    layoutApplicantReasonable1.setVisible(false);
    layoutApplicantReasonable2.addComponent(lblAppReasonable);
    layoutApplicantReasonable2.addComponent(slAppReasonable);
    layoutApplicantReasonable1.addComponent(lblReasonEstimate);
    layoutApplicantReasonable1.addComponent(tfReasonEstimateVal);
    layoutApplicantReasonable1.addComponent(lblDtlsAppReasonable);
    layoutApplicantReasonable1.addComponent(tfDtlsAppReasonable);
    layoutApplicantReasonable1.addComponent(tfDetailsReason1);
    layoutApplicantReasonable1.addComponent(tfDetailReasonVal1);
    layoutApplicantReasonable1.addComponent(tfDetailsReason2);
    layoutApplicantReasonable1.addComponent(tfDetailReasonVal2);
    layoutApplicantReasonable1.addComponent(tfDetailsReason3);
    layoutApplicantReasonable1.addComponent(tfDetailReasonVal3);
    layoutApplicantReasonable1.addComponent(tfDynamicAppReason1);
    layoutApplicantReasonable1.addComponent(tfDynamicAppReason2);
    layoutApplicantReasonable1.addComponent(tfDynamicAppReason3);
    layoutApplicantReasonable1.addComponent(tfDynamicAppReason4);
    layoutApplicantReasonable1.addComponent(lblReasonTotal);
    layoutApplicantReasonable1.addComponent(tfReasonTotalval);
    tfDynamicAppReason1.setVisible(false);
    tfDynamicAppReason2.setVisible(false);
    tfDynamicAppReason3.setVisible(false);
    tfDynamicAppReason4.setVisible(false);

    layoutApplicantReasonable.addComponent(btnDynamicAppReason);
    layoutApplicantReasonable.setComponentAlignment(btnDynamicAppReason, Alignment.TOP_RIGHT);
    layoutApplicantReasonable.addComponent(layoutApplicantReasonable2);
    layoutApplicantReasonable.addComponent(layoutApplicantReasonable1);
    layoutApplicantReasonable.setMargin(true);
    tfDetailReasonVal1.setValue("0.00");
    tfDetailReasonVal2.setValue("0.00");
    tfDetailReasonVal3.setValue("0.00");
    tfReasonTotalval.setImmediate(true);
    tfReasonTotalval.addBlurListener(new BlurListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void blur(BlurEvent event) {
            // TODO Auto-generated method stubBigDecimal appEstimate =new BigDecimal(0.00);
            BigDecimal appReason = new BigDecimal(0.00);
            BigDecimal test = new BigDecimal("0.00");
            BigDecimal test1 = new BigDecimal("0.00");
            BigDecimal test2 = new BigDecimal("0.00");
            BigDecimal test3 = new BigDecimal("0.00");
            BigDecimal test4 = new BigDecimal("0.00");

            try {
                test = new BigDecimal(tfDetailReasonVal1.getValue());

            } catch (Exception e) {
                test = new BigDecimal("0.00");
            }
            try {
                test1 = new BigDecimal(tfDetailReasonVal2.getValue());
            } catch (Exception e) {
                test1 = new BigDecimal("0.00");
            }
            try {
                test2 = new BigDecimal(tfDetailReasonVal3.getValue());
            } catch (Exception e) {
                test2 = new BigDecimal("0.00");
            }
            try {
                test3 = new BigDecimal(tfDynamicAppReason2.getValue());

            } catch (Exception e) {
                test3 = new BigDecimal("0.00");
            }
            try {
                test4 = new BigDecimal(tfDynamicAppReason2.getValue());
            } catch (Exception e) {
                test4 = new BigDecimal("0.00");
            }
            appReason = appReason.add(test).add(test1).add(test2).add(test3).add(test4);
            tfReasonTotalval.setValue(appReason.toString());
            tfReasonEstimateVal.setValue(appReason.toString());
        }
    });

    slAppReasonable.setImmediate(true);
    slAppReasonable.setNullSelectionAllowed(false);
    slAppReasonable.addListener(new Property.ValueChangeListener() {
        private static final long serialVersionUID = 1L;

        public void valueChange(ValueChangeEvent event) {
            if (slAppReasonable.getValue() != null) {
                if (slAppReasonable.getValue().equals(Common.NO_DESC)) {
                    layoutApplicantReasonable1.setVisible(true);
                    btnDynamicAppReason.setVisible(true);
                } else {
                    layoutApplicantReasonable1.setVisible(false);
                    btnDynamicAppReason.setVisible(false);
                }
            }
        }
    });

    //Earth quake

    layoutEarthquake1.setSpacing(true);
    layoutEarthquake1.setColumns(4);
    layoutEarthquake1.addComponent(slEarthQuake);
    layoutEarthquake1.addComponent(tfDynamicEarthquake1);
    layoutEarthquake1.addComponent(tfDynamicEarthquake2);
    tfDynamicEarthquake1.setVisible(false);
    tfDynamicEarthquake2.setVisible(false);

    layoutEarthquake.addComponent(btnDynamicEarthQuake);
    layoutEarthquake.setComponentAlignment(btnDynamicEarthQuake, Alignment.TOP_RIGHT);
    layoutEarthquake.addComponent(layoutEarthquake1);
    layoutEarthquake.setMargin(true);
    // construction
    //layoutConstruction.setCaption("Construction");
    layoutConstruction1.setSpacing(true);
    layoutConstruction1.setColumns(4);
    layoutConstruction1.addComponent(tfStageofConst);
    layoutConstruction1.addComponent(tfSalablity);
    layoutConstruction1.addComponent(tfRentalValues);
    layoutConstruction1.addComponent(tfIncome);
    layoutConstruction1.addComponent(tfDynamicConstruction1);
    layoutConstruction1.addComponent(tfDynamicConstruction2);
    tfDynamicConstruction1.setVisible(false);
    tfDynamicConstruction2.setVisible(false);

    layoutConstruction.addComponent(btnDynamicConstruction);
    layoutConstruction.setComponentAlignment(btnDynamicConstruction, Alignment.TOP_RIGHT);
    layoutConstruction.addComponent(layoutConstruction1);
    layoutConstruction.setMargin(true);

    // cost of construction
    layoutCost.setColumns(2);
    layoutCostConstruction1.setColumns(2);
    layoutCostConstruction2.setColumns(2);
    layoutCostConstruction.setSpacing(true);
    layoutCost.setSpacing(true);
    layoutCostConstruction2.setSpacing(true);
    layoutCostConstruction1.setSpacing(true);
    layoutCostConstruction1.setSpacing(true);
    layoutCost.addComponent(lblCostConst);
    layoutCost.addComponent(tfCostConstruction);

    layoutCostConstruction1.addComponent(tfDynamicCostConst1);
    layoutCostConstruction1.addComponent(tfDynamicCostConst2);
    layoutCostConstruction1.addComponent(tfDynamicCostConst3);
    layoutCostConstruction1.addComponent(tfDynamicCostConst4);
    layoutCostConstruction1.addComponent(tfDynamicCostConst5);
    layoutCostConstruction1.addComponent(tfDynamicCostConst6);

    layoutCostConstruction2.addComponent(tfDynamicCostConst7);
    layoutCostConstruction2.addComponent(tfDynamicCostConst8);
    layoutCostConstruction2.addComponent(tfDynamicCostConst9);
    layoutCostConstruction2.addComponent(tfDynamicCostConst10);
    layoutCostConstruction1.setVisible(false);
    layoutCostConstruction2.setVisible(false);

    layoutCostConstruction.addComponent(btnDynamicCostConst);
    layoutCostConstruction.setComponentAlignment(btnDynamicCostConst, Alignment.TOP_RIGHT);
    layoutCostConstruction.addComponent(layoutCost);
    layoutCostConstruction.addComponent(layoutCostConstruction1);
    layoutCostConstruction.addComponent(layoutCostConstruction2);
    layoutCostConstruction.setMargin(true);

    // for Guideline area
    layoutGuideline.addComponent(btnAddGuideline);
    layoutGuideline.setComponentAlignment(btnAddGuideline, Alignment.TOP_RIGHT);
    layoutGuideline.setMargin(true);
    layoutGuideline.addComponent(new ComponentIterGuideline("Land", "", "", ""));
    layoutGuideline.addComponent(new ComponentIterGuideline("Construction", "", "", ""));

    // for guide line reference
    streetLayout.addComponent(slStreetSerNo);
    streetLayout.addComponent(tfStreetName);

    layoutGuidelineReference1.setColumns(4);
    layoutGuidelineReference1.setSpacing(true);
    layoutGuidelineReference1.addComponent(tfZone);
    layoutGuidelineReference1.addComponent(tfSRO);
    layoutGuidelineReference1.addComponent(tfVillage1);
    layoutGuidelineReference1.addComponent(tfRevnueDist);
    layoutGuidelineReference1.addComponent(tfTalukName);
    layoutGuidelineReference1.addComponent(streetLayout);
    layoutGuidelineReference1.addComponent(tfGuidelineValue);
    layoutGuidelineReference1.addComponent(tfGuidelineValueMatric);
    layoutGuidelineReference1.addComponent(slClassification);
    layoutGuidelineReference1.setMargin(true);

    layoutGuidelineReference.setSpacing(true);
    layoutGuidelineReference.addComponent(layoutGuidelineReference1);
    // add components in main panel
    accordion.setWidth("100%");
    layoutEvaluationDetails.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutEvaluationDetails), "Evaluation Details");

    layoutOwnerDetails.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutAssetOwner), "Owner Details/Asset Details");
    layoutAssetDetails.setStyleName("bluebar");

    layoutNormalLegal.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutNormalLegal), "Document Details");

    panelAdjoinProperties.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(panelAdjoinProperties), "Adjoining Properties");
    panelDimension.setStyleName("bluebar");
    accordion.addTab(panelDimension, "Dimension");

    layoutDescProperty.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutDescProperty), "Description of the property");
    layoutCharcterSite.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutCharcterSite), "Characteristics of the site");
    layoutValuationLand.setStyleName("bluebar");
    accordion.addTab(layoutValuationLand, "Valuation of Land");
    layoutPlanApproval.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutEstimateConstruction), "Estimate for Construction");
    layoutEstimateConstruction.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPlanApproval), "Details of Plan Approval");
    panelBuildSpecfication.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(panelBuildSpecfication), "Specification");
    layoutPlintharea.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPlintharea), "Plinth Area Details");
    layoutApplicantEstimate.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutApplicantEstimate), "Applicant Estimate");

    layoutApplicantReasonable.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutApplicantReasonable), "Applicant Reasonable");

    layoutGuideline.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutGuideline), "Guideline Details");

    layoutGuidelineReference.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutGuidelineReference), "Guideline Reference Details");
    layoutPropertyValue.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutPropertyValue), "Property Value Details");
    layoutEarthquake.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutEarthquake), "Earth Quake Details");

    layoutCostConstruction.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutCostConstruction), "Cost of Construction");
    layoutConstruction.setStyleName("bluebar");
    accordion.addTab(PanelGenerator.createPanel(layoutConstruction), "Stage of Construction");
    this.accordion.addListener(new SelectedTabChangeListener() {
        public void selectedTabChange(SelectedTabChangeEvent event) {
            if (event.getTabSheet().getSelectedTab().equals(panelDimension)) {
                Iterator<Component> myComps = panelDimension.getComponentIterator();
                BigDecimal siteArea = new BigDecimal(0.00);
                while (myComps.hasNext()) {
                    final Component component = myComps.next();
                    int i = 1;

                    if (component instanceof ComponentIterDimensionofPlot) {

                        ComponentIterDimensionofPlot mycomponent = (ComponentIterDimensionofPlot) component;
                        List<TPemCmPropDimension> getList = mycomponent.getDimensionPropertyList();

                        try {
                            List<String> mylist = mycomponent.getLeastValaue();
                            siteArea = siteArea.add(new BigDecimal(mylist.get(0).replaceAll("[^\\d.]", "")));
                            tfNorthandSouth.setValue(mylist.get(1));
                            tfAreaofLand.setValue(siteArea.toString());
                        } catch (Exception e) {

                            logger.info("Error-->" + e);
                        }
                    }
                }
                BigDecimal site = new BigDecimal(0.00);
                BigDecimal fair = new BigDecimal(1.00);
                BigDecimal salbale = new BigDecimal(435.60);
                try {
                    site = new BigDecimal(tfAreaofLand.getValue().replaceAll("[^\\d.]", ""));
                } catch (Exception e) {
                    site = new BigDecimal("0.00");

                }
                try {
                    site.divide(salbale, 2, RoundingMode.HALF_UP).toPlainString();
                    fair.multiply(site.divide(salbale, 2, RoundingMode.HALF_UP))
                            .multiply(new BigDecimal(tfAdopetdMarketRate.getValue().replaceAll("[^\\d.]", "")));
                    tfAreaofLand.setValue(site.toString() + " sft (or) "
                            + site.divide(salbale, 2, RoundingMode.HALF_UP).toPlainString() + " cents");
                    tfFairMarketRate.setValue(XMLUtil.IndianFormat(new BigDecimal(fair
                            .multiply(site.divide(salbale, 2, RoundingMode.HALF_UP))
                            .multiply(new BigDecimal(tfAdopetdMarketRate.getValue().replaceAll("[^\\d.]", "")))
                            .toString())));
                } catch (Exception e) {

                }
            }

        }
    });
    layoutMainForm.addComponent(PanelGenerator.createPanel(accordion));

    mainPanel.addComponent(layoutMainForm);
    mainPanel.addComponent(layoutButton2);
    mainPanel.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);
    mainPanel.setVisible(false);

    layoutMainForm.setMargin(true);
    layoutMainForm.setSpacing(true);
    // for main panel
    layoutButton2.setSpacing(true);
    btnSave.setStyleName("savebt");
    btnCancel.setStyleName("cancelbt");
    //      saveExcel.addStyleName("downloadbt");
    btnSubmit.setStyleName("submitbt");
    btnSave.setVisible(false);
    btnSubmit.setVisible(false);
    btnCancel.setVisible(false);

    layoutButton2.addComponent(btnSave);
    layoutButton2.addComponent(btnSubmit);
    //      layoutButton2.addComponent(saveExcel);
    layoutButton2.addComponent(btnCancel);
    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);

    // Initaited the Label Function here by Hohul
    lblTableTitle = new Label();
    lblSaveNotification = new Label();
    lblSaveNotification.setContentMode(ContentMode.HTML);
    lblNotificationIcon = new Label();
    lblTableTitle.setValue("<B>&nbsp;&nbsp;Action:</B>");
    lblTableTitle.setContentMode(ContentMode.HTML);
    lblFormTittle = new Label();
    lblFormTittle.setContentMode(ContentMode.HTML);
    lblFormTittle.setValue("&nbsp;&nbsp;<b>" + screenName + "</b>&nbsp;::&nbsp;Home");
    lblFormTitle1 = new Label();
    lblFormTitle1.setContentMode(ContentMode.HTML);
    lblFormTitle1.setValue("&nbsp;&nbsp;<b>" + screenName + "</b>&nbsp;::&nbsp;");
    lblAddEdit = new Label();
    lblAddEdit.setContentMode(ContentMode.HTML);

    // Button Back declaration by Hohul
    btnBack = new Button("Home", this);
    btnBack.setStyleName("link");

    // Bread Scrumbs initiated here by Hohul

    hlBreadCrumbs = new HorizontalLayout();
    hlBreadCrumbs.addComponent(lblFormTitle1);
    hlBreadCrumbs.addComponent(btnBack);
    hlBreadCrumbs.setComponentAlignment(btnBack, Alignment.TOP_CENTER);
    hlBreadCrumbs.addComponent(lblAddEdit);
    hlBreadCrumbs.setComponentAlignment(lblAddEdit, Alignment.MIDDLE_CENTER);
    hlBreadCrumbs.setVisible(false);

    // for search panel
    // for search panel
    // Added by Hohul ----->  For Search Panel Layouts
    FormLayout flSearchEvalNumber = new FormLayout();
    flSearchEvalNumber.addComponent(tfSearchEvalNumber);

    FormLayout flSearchBankbranch = new FormLayout();
    flSearchBankbranch.addComponent(slSearchBankbranch);

    FormLayout flSearchCustomer = new FormLayout();
    flSearchCustomer.addComponent(tfSearchCustomer);

    HorizontalLayout hlSearchComponentLayout = new HorizontalLayout();
    hlSearchComponentLayout.addComponent(flSearchEvalNumber);
    hlSearchComponentLayout.addComponent(flSearchBankbranch);
    hlSearchComponentLayout.addComponent(flSearchCustomer);
    hlSearchComponentLayout.setSpacing(true);
    hlSearchComponentLayout.setMargin(true);

    //Initialization and properties for btnDownload      
    btnDownload = new Button("Download");
    //btnDownload.setDescription("Download");
    btnDownload.addStyleName("downloadbt");
    btnDownload.addClickListener(new ClickListener() {
        @Override
        public void buttonClick(ClickEvent event) {
            //  UI.getCurrent()..clearDashboardButtonBadge();
            event.getButton().removeStyleName("unread");
            if (notifications != null && notifications.getUI() != null)
                notifications.close();
            else {
                buildNotifications(event);
                UI.getCurrent().addWindow(notifications);
                notifications.focus();
                ((VerticalLayout) UI.getCurrent().getContent())
                        .addLayoutClickListener(new LayoutClickListener() {
                            @Override
                            public void layoutClick(LayoutClickEvent event) {
                                notifications.close();
                                ((VerticalLayout) UI.getCurrent().getContent()).removeLayoutClickListener(this);
                            }
                        });
            }

        }
    });

    hlFileDownloadLayout = new HorizontalLayout();
    hlFileDownloadLayout.setSpacing(true);
    hlFileDownloadLayout.addComponent(btnDownload);
    hlFileDownloadLayout.setComponentAlignment(btnDownload, Alignment.MIDDLE_CENTER);

    VerticalLayout vlSearchandResetButtonLAyout = new VerticalLayout();
    vlSearchandResetButtonLAyout.setSpacing(true);
    vlSearchandResetButtonLAyout.addComponent(btnReset);
    vlSearchandResetButtonLAyout.setWidth("100");
    vlSearchandResetButtonLAyout.addStyleName("topbarthree");
    vlSearchandResetButtonLAyout.setMargin(true);

    HorizontalLayout hlSearchComponentandButtonLayout = new HorizontalLayout();
    hlSearchComponentandButtonLayout.setSizeFull();
    hlSearchComponentandButtonLayout.setSpacing(true);
    hlSearchComponentandButtonLayout.addComponent(hlSearchComponentLayout);
    hlSearchComponentandButtonLayout.setComponentAlignment(hlSearchComponentLayout, Alignment.MIDDLE_LEFT);
    hlSearchComponentandButtonLayout.addComponent(vlSearchandResetButtonLAyout);
    hlSearchComponentandButtonLayout.setComponentAlignment(vlSearchandResetButtonLAyout,
            Alignment.MIDDLE_RIGHT);
    hlSearchComponentandButtonLayout.setExpandRatio(vlSearchandResetButtonLAyout, 1);
    final VerticalLayout vlSearchComponentandButtonLayout = new VerticalLayout();
    vlSearchComponentandButtonLayout.setSpacing(true);
    vlSearchComponentandButtonLayout.setSizeFull();
    vlSearchComponentandButtonLayout.addComponent(hlSearchComponentandButtonLayout);

    /*layoutSearch.addComponent(tfSearchEvalNumber);
    layoutSearch.addComponent(slSearchBankbranch);
    layoutSearch.addComponent(tfSearchCustomer);
    layoutSearch.addComponent(btnReset);
    layoutSearch.setComponentAlignment(btnReset, Alignment.BOTTOM_LEFT);
    btnSearch.addStyleName("default");*/
    btnReset.addStyleName("resetbt");
    tfSearchCustomer.setImmediate(true);
    tfSearchCustomer.addListener(new TextChangeListener() {
        private static final long serialVersionUID = 1L;
        SimpleStringFilter filter = null;

        public void textChange(TextChangeEvent event) {
            Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
            if (filter != null)
                f.removeContainerFilter(filter);

            filter = new SimpleStringFilter("custName", event.getText(), true, false);

            f.addContainerFilter(filter);
            total = f.size();
            tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
        }
    });
    tfSearchEvalNumber.setImmediate(true);
    tfSearchEvalNumber.addListener(new TextChangeListener() {
        private static final long serialVersionUID = 1L;
        SimpleStringFilter filter = null;

        public void textChange(TextChangeEvent event) {
            Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
            if (filter != null)
                f.removeContainerFilter(filter);

            filter = new SimpleStringFilter("evalNo", event.getText(), true, false);

            f.addContainerFilter(filter);
            total = f.size();
            tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
        }
    });
    slSearchBankbranch.setImmediate(true);
    slSearchBankbranch.addValueChangeListener(new Property.ValueChangeListener() {
        private static final long serialVersionUID = 1L;
        Filter filter = null;

        @Override
        public void valueChange(ValueChangeEvent event) {
            // TODO Auto-generated method stub

            try {
                String strBankBranch = slSearchBankbranch.getValue().toString();
                Filterable f = (Filterable) tblEvalDetails.getContainerDataSource();
                if (filter != null)
                    f.removeContainerFilter(filter);

                filter = new Compare.Equal("bankBranch", strBankBranch);
                f.addContainerFilter(filter);
                f.addContainerFilter(filter);
                total = f.size();
                tblEvalDetails.setColumnFooter("lastUpdateDt", "No. of Records:" + total);
            } catch (Exception e) {
            }
        }

    });

    searchPanel.addComponent(PanelGenerator.createPanel(vlSearchComponentandButtonLayout));
    searchPanel.setMargin(true);

    // Add Layout table panel by Hohul

    HorizontalLayout flTableCaption = new HorizontalLayout();
    flTableCaption.addComponent(lblTableTitle);
    flTableCaption.setComponentAlignment(lblTableTitle, Alignment.MIDDLE_CENTER);
    flTableCaption.addStyleName("lightgray");
    flTableCaption.setHeight("25px");
    flTableCaption.setWidth("60px");
    lblNoofRecords = new Label(" ", ContentMode.HTML);
    lblNoofRecords.addStyleName("lblfooter");
    HorizontalLayout hlTableTittleLayout = new HorizontalLayout();
    hlTableTittleLayout.addComponent(flTableCaption);
    hlTableTittleLayout.addComponent(btnAdd);
    hlTableTittleLayout.addComponent(btnEdit);
    hlTableTittleLayout.addComponent(btnView);
    hlTableTittleLayout.setHeight("25px");
    hlTableTittleLayout.setSpacing(true);

    HorizontalLayout hlTableTitleandCaptionLayout = new HorizontalLayout();
    hlTableTitleandCaptionLayout.addStyleName("topbarthree");
    hlTableTitleandCaptionLayout.setWidth("100%");
    hlTableTitleandCaptionLayout.addComponent(hlTableTittleLayout);
    hlTableTitleandCaptionLayout.addComponent(hlFileDownloadLayout);
    hlTableTitleandCaptionLayout.setComponentAlignment(hlFileDownloadLayout, Alignment.MIDDLE_RIGHT);
    hlTableTitleandCaptionLayout.setHeight("28px");

    // for table panel
    btnAdd.addStyleName("add");
    btnEdit.addStyleName("editbt");
    btnView.addStyleName("view");
    btnView.setEnabled(false);

    hlAddEditLayout.addStyleName("topbarthree");
    hlAddEditLayout.setWidth("100%");
    hlAddEditLayout.addComponent(hlTableTitleandCaptionLayout);
    hlAddEditLayout.setHeight("28px");
    // Added Action Label to Table

    layoutTable.addComponent(hlAddEditLayout);
    layoutTable.setComponentAlignment(hlAddEditLayout, Alignment.TOP_LEFT);
    layoutTable.addComponent(tblEvalDetails);

    tablePanel.addComponent(layoutTable);
    tablePanel.setWidth("100%");
    tablePanel.setMargin(true);

    layoutPage.addComponent(mainPanel);
    layoutPage.addComponent(searchPanel);
    layoutPage.addComponent(tablePanel);

    // Added labels and titles to respective Location by Hohul

    HorizontalLayout hlNotificationLayout = new HorizontalLayout();
    hlNotificationLayout.addComponent(lblNotificationIcon);
    hlNotificationLayout.setComponentAlignment(lblNotificationIcon, Alignment.MIDDLE_LEFT);
    hlNotificationLayout.addComponent(lblSaveNotification);
    hlNotificationLayout.setComponentAlignment(lblSaveNotification, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(lblFormTittle);
    hlHeaderLayout.setComponentAlignment(lblFormTittle, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(hlBreadCrumbs);
    hlHeaderLayout.setComponentAlignment(hlBreadCrumbs, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(hlNotificationLayout);
    hlHeaderLayout.setComponentAlignment(hlNotificationLayout, Alignment.MIDDLE_LEFT);
    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.MIDDLE_RIGHT);

    hlHeaderLayout.addComponent(layoutButton2);
    hlHeaderLayout.setComponentAlignment(layoutButton2, Alignment.BOTTOM_RIGHT);

    // load Component list values
    loadComponentListValues();

    //   setTableProperties();
    populateAndConfig(false);

}