/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.policy.adminui.client.view.policy; import java.util.ArrayList; import java.util.List; import org.ebayopensource.turmeric.policy.adminui.client.PolicyAdminUIUtil; import org.ebayopensource.turmeric.policy.adminui.client.model.UserAction; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.EffectType; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.ExtraField; import org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.RLPolicyCreatePresenter.RLPolicyCreateDisplay; import org.ebayopensource.turmeric.policy.adminui.client.util.PolicyExtraFieldsUtil; import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextArea; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; /** * The Class RLPolicyCreateView. */ public class RLPolicyCreateView extends PolicyCreateView implements RLPolicyCreateDisplay { /** The Constant SELECTED_ACTION. */ protected static final UserAction SELECTED_ACTION = UserAction.RL_POLICY_CREATE; private static final String TITLE_FORM = PolicyAdminUIUtil.policyAdminConstants .policyInformationRLCreate(); List<ExtraField> rlExtraFields = new ArrayList<ExtraField>(); /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.view.policy.PolicyCreateView#getSelectedAction() */ @Override public UserAction getSelectedAction() { return SELECTED_ACTION; } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.view.policy.PolicyCreateView#getTitleForm() */ @Override public String getTitleForm() { return TITLE_FORM; } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.view.policy.PolicyCreateView#clear() */ @Override public void clear() { super.clear(); for (int i = 0; i < extraFieldsGrid.getRowCount(); i++) { Widget widget = extraFieldsGrid.getWidget(i, 1); if (widget != null && widget instanceof CheckBox) { ((CheckBox) widget).setValue(false); } else if (widget != null && widget instanceof TextBox) { ((TextBox) widget).setText(""); } else if (widget != null && widget instanceof TextArea) { ((TextArea) widget).setText(""); } else if (widget != null && widget instanceof ListBox) { ((ListBox) widget).setSelectedIndex(-1); } } } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.Display#activate() */ @Override public void activate() { contentView.activate(); //setting effect values ListBox list = (ListBox) extraFieldsGrid.getWidget(6, 1); if(list.getItemCount() == 0){ for (String effectType: EffectType.getValues()) { list.addItem(effectType); } } this.setVisible(true); } /* * (non-Javadoc) * * @see * org.ebayopensource.turmeric.policy.adminui.client.Display#getAssociatedId() */ @Override public String getAssociatedId() { return null; } /* * (non-Javadoc) * * @see * org.ebayopensource.turmeric.policy.adminui.client.Display#setAssociatedId * (java.lang.String) */ @Override public void setAssociatedId(String id) { } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.view.policy.PolicyCreateView#initializeExtraFields() */ protected void initializeExtraFields() { rlExtraFields = PolicyExtraFieldsUtil.getRLExtraFields(); extraFieldsGrid = new Grid(rlExtraFields.size() + 1, 3); for (ExtraField extraField : rlExtraFields) { extraFieldsGrid.setWidget(extraField.getOrder(), 0, new Label( extraField.getLabelName())); if (extraField.getFieldType() != null && "CheckBox".equalsIgnoreCase(extraField.getFieldType())) { CheckBox chBox = new CheckBox(); chBox.setEnabled(true); extraField.setCheckBox(chBox); extraFieldsGrid.setWidget(extraField.getOrder(), 1, extraField.getCheckBox()); } else if (extraField.getFieldType() != null && "TextBox".equalsIgnoreCase(extraField.getFieldType())) { TextBox txBox = new TextBox(); txBox.setText(""); txBox.setWidth(extraField.getLenghtBox()); extraField.setTextBox(txBox); extraFieldsGrid.setWidget(extraField.getOrder(), 1, extraField.getTextBox()); } else if (extraField.getFieldType() != null && "TextArea".equalsIgnoreCase(extraField.getFieldType())) { TextArea txArea = new TextArea(); txArea.setText(""); txArea.setWidth(extraField.getLenghtBox()); // txArea.setEnabled(false); extraField.setTextArea(txArea); extraFieldsGrid.setWidget(extraField.getOrder(), 1, extraField.getTextArea()); } else if (extraField.getFieldType() != null && "ListBox".equalsIgnoreCase(extraField.getFieldType())) { ListBox lsBox = new ListBox(); for (int i = 0; i < extraField.getListBox().getItemCount(); i++) { lsBox.addItem(extraField.getListBox().getItemText(i)); } extraField.setListBox(lsBox); extraFieldsGrid.setWidget(extraField.getOrder(), 1, extraField.getListBox()); } } } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.PolicyCreateDisplay#setPolicyDesc(java.lang.String) */ @Override public void setPolicyDesc(String policyDesc) { } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.PolicyCreateDisplay#setPolicyName(java.lang.String) */ @Override public void setPolicyName(String policyName) { } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.PolicyCreateDisplay#setExtraFieldList(java.util.List) */ @Override public void setExtraFieldList(List<ExtraField> extraFieldList) { } /* (non-Javadoc) * @see org.ebayopensource.turmeric.policy.adminui.client.presenter.policy.PolicyCreatePresenter.PolicyCreateDisplay#setStatusListboxEnabled(boolean) */ @Override public void setStatusListboxEnabled(boolean enable) { } @Override public void addAddConditionButtonClickHandler(ClickHandler clickHandler) { getAddConditionButton().addClickHandler(clickHandler); } @Override public void addRsListBoxChangeHandler(ChangeHandler changeHandler) { getRsListBox().addChangeHandler(changeHandler); } }