/* * Copyright 2011 JBoss Inc * * 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 * * 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.jbpm.formbuilder.client.effect.scripthandlers; import java.util.HashMap; import java.util.Map; import org.jbpm.formapi.shared.api.FBScript; import org.jbpm.formbuilder.client.FormBuilderGlobals; import org.jbpm.formbuilder.client.messages.I18NConstants; import com.google.gwt.user.client.ui.Widget; import com.gwtent.reflection.client.Reflectable; /** * */ @Reflectable public class PlainTextScriptHelper extends AbstractScriptHelper { private final I18NConstants i18n = FormBuilderGlobals.getInstance().getI18n(); private String scriptPanel = ""; private PlainTextScriptHelperView view; public PlainTextScriptHelper() { super(); } @Override public void setScript(FBScript script) { if (script != null) { this.scriptPanel = script.getContent(); } } @Override public Map<String, Object> getDataMap() { Map<String, Object> dataMap = new HashMap<String, Object>(); String value = this.scriptPanel; value = value.replaceAll("\"", "\\\"").replaceAll("\n", ""); dataMap.put("@className", PlainTextScriptHelper.class.getName()); dataMap.put("scriptPanel", value); return dataMap; } @Override public void setDataMap(Map<String, Object> dataMap) { String value = (String) dataMap.get("scriptPanel"); if (value == null) { this.scriptPanel = ""; } else { this.scriptPanel = value; } if (view != null) { view.readDataFrom(this); } } @Override public String asScriptContent() { if (view != null) { view.writeDataTo(this); } return this.scriptPanel; } @Override public Widget draw() { if (view == null) { view = new PlainTextScriptHelperView(this); } return view; } @Override public String getName() { return i18n.PlainTextScriptHelperName(); } public void setScriptPanel(String scriptPanel) { this.scriptPanel = scriptPanel; } public String getScriptPanel() { return scriptPanel; } }