| /* |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| */ |
| package org.apache.wiki.ui.admin.beans; |
| |
| import org.apache.wiki.WikiContext; |
| import org.apache.wiki.api.core.Engine; |
| import org.apache.wiki.management.SimpleMBean; |
| import org.apache.wiki.ui.admin.AdminBean; |
| import org.apache.wiki.util.TextUtil; |
| |
| import javax.management.NotCompliantMBeanException; |
| import javax.servlet.http.HttpServletRequest; |
| |
| /** |
| * This class is still experimental. |
| * |
| * |
| */ |
| public class PlainEditorAdminBean extends SimpleMBean implements AdminBean { |
| |
| private static final String TEMPLATE = "<div>"+ |
| "<input type='checkbox' id='ajax' %checked/>Use AJAX?<br />" + |
| "<input type='submit' value='Submit'/>" + |
| "%messages" + |
| "</div>"; |
| |
| private boolean m_checked; |
| |
| private static final String[] ATTRIBUTES = {"title","checked"}; |
| private static final String[] METHODS = {}; |
| |
| public PlainEditorAdminBean() throws NotCompliantMBeanException { |
| } |
| |
| @Override public String doGet( final WikiContext context) |
| { |
| final HttpServletRequest req = context.getHttpRequest(); |
| |
| if( req != null && req.getMethod().equals("POST") && getTitle().equals( req.getParameter("form") ) ) |
| { |
| return doPost( context ); |
| } |
| String base = TEMPLATE; |
| |
| base = TextUtil.replaceString( base, "%checked", "checked='checked'" ); |
| base = TextUtil.replaceString( base, "%messages", "" ); |
| |
| return base; |
| } |
| |
| @Override public String doPost( final WikiContext context ) |
| { |
| final HttpServletRequest req = context.getHttpRequest(); |
| |
| final boolean checked = "checked".equals( req.getParameter( "id" ) ); |
| |
| // Make changes |
| |
| String base = TEMPLATE; |
| |
| base = TextUtil.replaceString( base, "%checked", checked ? "checked='checked'" : "" ); |
| base = TextUtil.replaceString( base, "%messages", "<br /><font color='red'>Your settings have been saved</font>" ); |
| |
| return base; |
| } |
| |
| @Override public String getTitle() |
| { |
| return "Plain editor"; |
| } |
| |
| @Override public int getType() |
| { |
| return EDITOR; |
| } |
| |
| public boolean isEnabled() |
| { |
| return true; |
| } |
| |
| @Override public String getId() |
| { |
| return "editor.plain"; |
| } |
| |
| public boolean getChecked() |
| { |
| return m_checked; |
| } |
| |
| @Override public String[] getAttributeNames() |
| { |
| return ATTRIBUTES; |
| } |
| |
| @Override public String[] getMethodNames() |
| { |
| return METHODS; |
| } |
| |
| @Override public void initialize( final Engine engine ) { |
| } |
| |
| } |