1<%-- $HeadURL: svn+ssh://jwilden@svn.wald.intevation.org/deegree/apps/igeoportal-standard/branches/2.5_testing/savecontext.jsp $ --%>
2<%--
3 This file is part of deegree, http://deegree.org/
4 Copyright (C) 2001-2009 by:
5 - Department of Geography, University of Bonn -
6 and
7 - lat/lon GmbH -
8
9 This library is free software; you can redistribute it and/or modify it under
10 the terms of the GNU Lesser General Public License as published by the Free
11 Software Foundation; either version 2.1 of the License, or (at your option)
12 any later version.
13 This library is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
16 details.
17 You should have received a copy of the GNU Lesser General Public License
18 along with this library; if not, write to the Free Software Foundation, Inc.,
19 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
21 Contact information:
22
23 lat/lon GmbH
24 Aennchenstr. 19, 53177 Bonn
25 Germany
26 http://lat-lon.de/
27
28 Department of Geography, University of Bonn
29 Prof. Dr. Klaus Greve
30 Postfach 1147, 53001 Bonn
31 Germany
32 http://www.geographie.uni-bonn.de/deegree/
33
34 e-mail: info@deegree.org
35--%>
36<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
37<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
38<%@ page import="org.deegree.i18n.Messages" %>
39<%@ page import="java.util.Locale" %>
40<%
41    Locale loc = request.getLocale();
42%>
43<html>
44    <head>
45        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
46        <meta name="author" content="lat/lon GmbH" />
47        <meta name="KeyWords" content="deegree iGeoPortal lat/lon" />
48        <title>deegree iGeoPortal</title>
49        <link href="css/deegree.css" rel="stylesheet" type="text/css" />
50        <script language="JavaScript1.2" type="text/javascript" src="./javascript/rpc.js"></script>
51        <script language="JavaScript1.2" type="text/javascript">
52        <!--
53            function getBBox(){
54                return opener.parent.controller.mapModel.getBoundingBox();
55            }
56
57            function getLayerList(){
58                var layerlist = '';
59                var b = opener.parent.controller.mapModel.getLayerList();
60                var lgroup = b.getLayerGroups();
61                // ATTENTION: using fist layer list only
62                var MAX = lgroup.length;
63                var k = 0;
64                for( var i = 0; i < MAX; i++ ){
65                    var g = lgroup[i].getLayers();
66                    for ( var j = 0; j < g.length; j++ ) {
67                    	 if ( g[j].getName() != 'highlight' ) {
68	                         // index k is layer order
69	                         var v = g[j].isVisible() + "|" + k + "|" + lgroup[i].getServiceType() +
70	                                 "|" + lgroup[i].getServiceName() + "|" + lgroup[i].getServiceURL() +
71	                                 "|" + g[j].getTitle() + "|" + g[j].isQueryable();
72	                         layerlist += createMember( g[j].getName(), v, "string" );
73	                         k++;
74                    	 }
75                    }
76                }
77                return layerlist;
78            }
79
80            function save() {
81                var userSession = 5555;
82                if ( opener.parent.controller.vSessionKeeper != null ) {
83                    userSession = opener.parent.controller.vSessionKeeper.id;
84                }
85
86                // user shouldn't be allowed to choose a name...
87                var filename = document.forms[0].filename.value;
88
89                if( filename.length < 1 ){
90                    alert('Please enter a valid file name.');
91                    document.forms[0].filename.focus();
92                    return;
93                }
94                var req= "<?xml version='1.0' encoding='UTF-8'?><methodCall>" +
95                    "<methodName>mapClient:contextSave</methodName><params><param><value><struct>"+
96                    createMember( "sessionID", userSession, "string" )  +
97                    createMember( "newContext", filename, "string" )  +
98                    createMember( "layerList", getLayerList(), "struct" ) ;
99                var b = getBBox();
100                req = req + "<member><name>boundingBox</name><value><struct>"+
101                    createMember( "minx", b.minx, "double" ) +
102                    createMember( "miny", b.miny, "double" ) +
103                    createMember( "maxx", b.maxx, "double" ) +
104                    createMember( "maxy", b.maxy, "double" ) +
105                    "</struct></value></member>";
106                req = req + "</struct></value></param></params></methodCall>";
107
108                document.getElementById( "RPC" ).value = encodeURIComponent( req );
109                document.forms[0].method = "post";
110                document.forms[0].action = "control";
111                document.forms[0].submit();
112            }
113            -->
114        </script>
115    </head>
116    <body class="pSaveContext">
117        <!-- HEADER AREA -->
118        <table>
119            <tbody>
120                <tr>
121                    <td colspan="2">&nbsp;</td>
122                </tr>
123                <tr>
124                    <td width="30">&nbsp;</td>
125                    <td class="header"><%=Messages.get( loc, "IGEO_STD_CNTXT_SAVE_HEADER" ) %></td>
126                </tr>
127            </tbody>
128        </table>
129        <form action="javascript:save();">
130            <input id="RPC" type="hidden" name="rpc" value="">
131            <!-- TEXT AREA -->
132            <table>
133                <tr>
134                    <td colspan="4">&nbsp;</td>
135                </tr>
136                <tr>
137                    <td width="30">&nbsp;</td>
138                    <td width="120" class="text"><%=Messages.get( loc, "IGEO_STD_CNTXT_SAVE_LABLE" ) %></td>
139                    <td width="*"><input type="text" style="color:#111111" name="filename" id="filename" value="new_context.xml" size="25"></input></td>
140                    <td width="30">&nbsp;</td>
141                </tr>
142            </table>
143            <!-- BUTTON AREA -->
144            <br/><br />
145            <a href="javascript:save()" class="buttonArea1" title="<%=Messages.get( loc, "IGEO_STD_BTN_SAVE_TT" ) %>"><%=Messages.get( loc, "IGEO_STD_BTN_SAVE" ) %></a>
146            <a href="javascript:window.close()" class="buttonArea2" title="<%=Messages.get( loc, "IGEO_STD_BTN_CANCEL_TT" ) %>"><%=Messages.get( loc, "IGEO_STD_BTN_CANCEL" ) %></a>
147        </form>
148    </body>
149</html>
150