001: /*
002: * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
003: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
004: */
005:
006: package com.sun.portal.search.admin;
007:
008: import java.io.IOException;
009: import java.net.URL;
010: import java.util.logging.Logger;
011: import java.util.logging.Level;
012:
013: import com.sun.portal.search.admin.CSViewBeanBase;
014: import com.sun.portal.search.robot.RobotConfig;
015: import com.sun.portal.log.common.PortalLogger;
016:
017: import javax.servlet.http.HttpServletRequest;
018:
019: import com.iplanet.jato.RequestContext;
020:
021: import com.iplanet.jato.view.event.DisplayEvent;
022: import com.iplanet.jato.view.event.ChildDisplayEvent;
023: import com.iplanet.jato.view.event.RequestInvocationEvent;
024:
025: import com.iplanet.jato.view.html.StaticTextField;
026: import com.iplanet.jato.view.html.TextField;
027: import com.iplanet.jato.view.html.CheckBox;
028: import com.iplanet.jato.view.html.Button;
029: import com.iplanet.jato.view.html.ComboBox;
030: import com.iplanet.jato.view.html.RadioButtonGroup;
031:
032: import com.iplanet.jato.view.html.Option;
033: import com.iplanet.jato.view.html.OptionList;
034:
035: import com.iplanet.jato.view.View;
036: import com.iplanet.jato.view.ViewBean;
037: import com.iplanet.jato.view.ViewBeanBase;
038:
039: import com.iplanet.jato.ViewBeanManager;
040:
041: import com.iplanet.jato.model.*;
042: import com.iplanet.am.console.components.view.html.IPlanetButton;
043:
044: import javax.servlet.http.HttpServletRequest;
045: import javax.servlet.http.HttpServletResponse;
046:
047: /**
048: * iPS admin console view bean: TODO
049: */
050: public class FiltersViewBean extends CSViewBeanBase {
051: public static final String DEFAULT_DISPLAY_URL = "/ps/searchadmin/Filters.jsp";
052: public static final String PAGE_NAME = "Filters";
053: public static final String NEW_BUTTON = "NewButton";
054: public static final String DELETE_BUTTON = "DeleteButton";
055: public static final String SUBMIT_BUTTON = "SubmitButton";
056: public static final String RESET_BUTTON = "ResetButton";
057: public static final String FILTERS_VIEW = "FiltersList";
058:
059: // Create a logger for this class
060: private static Logger debugLogger = PortalLogger
061: .getLogger(FiltersViewBean.class);
062:
063: /**
064: * constructor
065: *
066: * @param PageName of this view bean
067: * @param displayURL default display URL
068: */
069: public FiltersViewBean() {
070: super (PAGE_NAME);
071: setDefaultDisplayURL(DEFAULT_DISPLAY_URL);
072: registerChildren();
073: }
074:
075: /**
076: * register child component
077: */
078: protected void registerChildren() {
079: registerChild(NEW_BUTTON, IPlanetButton.class);
080: registerChild(DELETE_BUTTON, IPlanetButton.class);
081: registerChild(SUBMIT_BUTTON, IPlanetButton.class);
082: registerChild(RESET_BUTTON, IPlanetButton.class);
083: registerChild(FILTERS_VIEW, FiltersListView.class);
084:
085: }
086:
087: /**
088: * create child component
089: *
090: * @param name of component
091: * @return child component
092: */
093: protected View createChild(String name) {
094: View Headerchild = super .createChild(name);
095: if (Headerchild != null)
096: return Headerchild;
097: if (name.equals(NEW_BUTTON)) {
098: return new IPlanetButton(this , NEW_BUTTON, "");
099: }
100: if (name.equals(DELETE_BUTTON)) {
101: return new IPlanetButton(this , DELETE_BUTTON, "");
102: }
103: if (name.equals(SUBMIT_BUTTON)) {
104: return new IPlanetButton(this , SUBMIT_BUTTON, "");
105: }
106: if (name.equals(RESET_BUTTON)) {
107: return new IPlanetButton(this , RESET_BUTTON, "");
108: }
109: if (name.equals(FILTERS_VIEW)) {
110: return new FiltersListView(this , FILTERS_VIEW);
111: }
112:
113: throw new IllegalArgumentException("Invalid child name ["
114: + name + "]");
115: }
116:
117: public void beginDisplay(DisplayEvent event) {
118: setPageEncoding();
119: setDisplayFieldValue(SUBMIT_BUTTON,
120: getLocalizedString("submit.text"));
121: setDisplayFieldValue(NEW_BUTTON, getLocalizedString("new.text"));
122: setDisplayFieldValue(DELETE_BUTTON,
123: getLocalizedString("delete.text"));
124: setDisplayFieldValue(RESET_BUTTON,
125: getLocalizedString("reset.text"));
126: RobotConfig rc = CSConfig.getRobotConfig();
127: if (rc.numRule() == 0) {
128: IPlanetButton child = (IPlanetButton) getChild(DELETE_BUTTON);
129: child.setEnable(false);
130: }
131:
132: }
133:
134: public boolean beginListTableDisplay(ChildDisplayEvent event) {
135: RobotConfig rc = CSConfig.getRobotConfig();
136: return rc.numRule() > 0;
137: }
138:
139: public boolean beginEmptyListDisplay(ChildDisplayEvent event) {
140: RobotConfig rc = CSConfig.getRobotConfig();
141: return rc.numRule() == 0;
142: }
143:
144: /**
145: * handles invocation of view bean
146: *
147: * @param event request invocation event
148: */
149: public void handleNewButtonRequest(RequestInvocationEvent event) {
150: ViewBean pvb = getParentViewBean();
151: HttpServletResponse response = (pvb.getRequestContext())
152: .getResponse();
153:
154: try {
155: response.sendRedirect("Filter");
156: } catch (IOException e) {
157: //TOFIX: handle this
158: }
159: }
160:
161: public void handleSubmitButtonRequest(RequestInvocationEvent event) {
162: FiltersListView child = (FiltersListView) getChild(FILTERS_VIEW);
163: try {
164: ModelExecutionContext modExe = new ModelExecutionContextBase(
165: ModelExecutionContext.OPERATION_UPDATE);
166: child.executeAutoUpdatingModels(modExe);
167: } catch (ModelControlException e) {
168: debugLogger.log(Level.INFO, "PSSH_CSPSA0010", e
169: .getMessage());
170: }
171: forwardTo();
172: }
173:
174: public void handleDeleteButtonRequest(RequestInvocationEvent event) {
175: FiltersListView child = (FiltersListView) getChild(FILTERS_VIEW);
176: try {
177: ModelExecutionContext modExe = new ModelExecutionContextBase(
178: ModelExecutionContext.OPERATION_DELETE);
179: child.executeAutoDeletingModels(modExe);
180: } catch (ModelControlException e) {
181: debugLogger.log(Level.INFO, "PSSH_CSPSA0010", e
182: .getMessage());
183: }
184: forwardTo();
185: }
186:
187: public void handleResetButtonRequest(RequestInvocationEvent event) {
188: forwardTo();
189: }
190:
191: }
|