/** * Copyright (C) 2015 Orange * 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 com.francetelecom.clara.cloud.presentation.designer.services.webgui; import com.francetelecom.clara.cloud.logicalmodel.LogicalWebGUIService; import com.francetelecom.clara.cloud.presentation.designer.services.LogicalServiceBasePanel; import com.francetelecom.clara.cloud.presentation.resource.CacheActivatedImage; import org.apache.wicket.AttributeModifier; import org.apache.wicket.Page; import org.apache.wicket.bean.validation.PropertyValidator; import org.apache.wicket.behavior.AttributeAppender; import org.apache.wicket.markup.html.form.CheckBox; import org.apache.wicket.markup.html.form.RequiredTextField; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.model.StringResourceModel; /** * Created by IntelliJ IDEA. * User: Thomas Escalle - tawe8231 * Entity : FT/OLNC/RD/MAPS/MEP/MSE * Date: 03/01/12 */ public class LogicalWebGuiServicePanel extends LogicalServiceBasePanel<LogicalWebGUIService> { public LogicalWebGuiServicePanel(String id, IModel<LogicalWebGUIService> model, Page parentPage, boolean isNew, boolean readOnly, boolean configOverride) { super(id, model, parentPage, isNew, readOnly, configOverride); initComponents(); } private void initComponents() { getServiceForm().add(new CacheActivatedImage("logicalWebGuiPanelIcon",new ResourceModel("webui.icon").getObject())); // Online help link String completeHelpUrl = ""; try { completeHelpUrl = new StringResourceModel("portal.designer.logical.service.online_manual.baseUrl", null).getString() + new StringResourceModel("portal.designer.logical.service.online_manual.webgui", null).getString(); } catch (Exception e) { //do nothing } ExternalLink onlineHelpLink = new ExternalLink("onlineHelpLink", completeHelpUrl); getServiceForm().add(onlineHelpLink); if (completeHelpUrl.isEmpty()) { onlineHelpLink.setVisible(false); } // FUNCTIONNAL PARAMETERS // Service label RequiredTextField<String> label = new RequiredTextField<String>("label"); label.setLabel(new StringResourceModel("portal.designer.service.gui.label",null)); label.add(new PropertyValidator<>()); getServiceForm().add(label); // Service context root RequiredTextField<String> contextRoot = new RequiredTextField<String>("contextRoot.value"); contextRoot.setLabel(new StringResourceModel("portal.designer.service.gui.contextroot",null)); contextRoot.add(new PropertyValidator<>()); getServiceForm().add(contextRoot); // Service stateful state CheckBox statefulCb = new CheckBox("stateful"); statefulCb.setLabel(new StringResourceModel("portal.designer.service.gui.stateful",null)); statefulCb.add(new PropertyValidator<>()); getServiceForm().add(statefulCb); // SLO // Service secure state CheckBox secureCb = new CheckBox("secure"); // secureCb.setEnabled(false); secureCb.setLabel(new StringResourceModel("portal.designer.service.gui.secure",null)); secureCb.add(new AttributeAppender("title", new StringResourceModel("portal.designer.service.notAvailable", null), " ")); secureCb.add(new PropertyValidator<>()); getServiceForm().add(secureCb); // Service max number of sessions TextField maxNumberSessions = new TextField("maxNumberSessions"); maxNumberSessions.setLabel(new StringResourceModel("portal.designer.service.gui.maxNumberSessions",null)); maxNumberSessions.add(new AttributeModifier("class", "small")); maxNumberSessions.add(new PropertyValidator<>()); getServiceForm().add(maxNumberSessions); // Service max request per seconds final TextField maxReqPerSeconds = new TextField("maxReqPerSeconds"); maxReqPerSeconds.setLabel(new StringResourceModel("portal.designer.service.gui.maxReqPerSeconds",null)); maxReqPerSeconds.add(new AttributeAppender("title", new StringResourceModel("portal.designer.service.notAvailable", null), " ")); maxReqPerSeconds.add(new PropertyValidator<>()); getServiceForm().add(maxReqPerSeconds); } }