<%--
 ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 ~
 ~ WSO2 Inc. 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.
 --%>
<%@ page import="org.wso2.carbon.ui.CarbonUIUtil" %>
<%@ page import="org.wso2.carbon.CarbonConstants" %>
<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
<%@page import="org.wso2.carbon.dataservices.ui.DataServiceAdminClient"%>
<%@ page import="org.wso2.carbon.utils.ServerConstants" %>
<%@page import="org.apache.axis2.AxisFault"%>
<jsp:useBean id="dataService" class="org.wso2.carbon.dataservices.ui.beans.Data" scope="session"/>

<%
    String serviceStatus = request.getParameter("flag");

    String serviceName = dataService.getName();
    //String serviceGroup = dataService.getServiceGroup();
    String serviceHierarchy = dataService.getServiceHierarchy();
    if(serviceHierarchy != null) {
        serviceName = serviceHierarchy;
    }
    if (serviceName != null) {    	
        if(serviceStatus != null) {
            dataService.setStatus("inactive");
        } else {
            dataService.setStatus("active");  
        }
        String backendServerURL = CarbonUIUtil.getServerURL(config.getServletContext(), session);
        ConfigurationContext configContext =
                (ConfigurationContext) config.getServletContext().getAttribute(CarbonConstants.CONFIGURATION_CONTEXT);
        String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
        DataServiceAdminClient client = new DataServiceAdminClient(cookie,backendServerURL,configContext);
        try{
            client.saveDataService(serviceName, "", dataService.buildXML().toString());
        }catch(AxisFault e){
			String errorMsg = e.getLocalizedMessage();
			%>
			<script type="text/javascript">
				location.href = "dsErrorPage.jsp?errorMsg=<%=errorMsg%>";
			</script>
			<%     	
        }
    }
%>

<script type="text/javascript">
    location.href = "../service-mgt/index.jsp";
</script>