Please find in attachment a new JSP a bit more flexible ...

I'm thinking that it could be integrated in Shindig container samples ...

A possible re-work could be to read the key provided by the
shindig.properties instead of a hard-coded one ....

--
Thomas Sauzedde


<%@ page import=" org.apache.shindig.common.crypto.BasicBlobCrypter, 
                  org.apache.shindig.auth.BlobCrypterSecurityToken,
                  org.apache.shindig.common.util.Utf8UrlCoder"
%>

<jsp:useBean id="viewer" scope="session" class="java.lang.String" />
<jsp:useBean id="owner" scope="session" class="java.lang.String" />

<%-- PUT YOUR KEY HERE --%>
<%
        String key = "PUT YOUR B64 KEY HERE";
%>


<%-- HANDLE Login form submission --%>
<%
  if(null != request.getParameter("viewertxt") && 
request.getParameter("viewertxt").length() > 0){
    viewer = request.getParameter("viewertxt");
    session.setAttribute("viewer" , viewer);
  }
  if(null != request.getParameter("ownertxt") && 
request.getParameter("ownertxt").length() > 0){
    owner = request.getParameter("ownertxt");
    session.setAttribute("owner" , owner);
  }
%>

<!DOCTYPE html>
<html>
<head>
<title>Sample: Simple Container</title>

<%
  if( null != viewer && viewer.length() > 0 && null != owner && owner.length() 
> 0){
%>
      <%
        String gadgetUrl = 
"http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml";;
        if(null!= request.getParameter("gadgeturl") && 
request.getParameter("gadgeturl").length() > 0){
          gadgetUrl = request.getParameter("gadgeturl");
        }
        if(null!= request.getParameter("freegadgeturl") && 
request.getParameter("freegadgeturl").length() > 0){
          gadgetUrl = request.getParameter("freegadgeturl");
        }
        BasicBlobCrypter blobCrypter = new BasicBlobCrypter(key.getBytes());
        BlobCrypterSecurityToken st = new BlobCrypterSecurityToken(blobCrypter, 
"default", "localhost");
        st.setViewerId(viewer);
        st.setOwnerId(owner);
        st.setAppUrl(gadgetUrl);
        String token = Utf8UrlCoder.encode(st.encrypt());
      %>
      
      

      <!-- default container look and feel -->
      <link rel="stylesheet" href="gadgets.css">
      <script type="text/javascript" src="../../js/rpc.js?c=1&debug=1"></script>
      <script type="text/javascript" src="cookies.js"></script>
      <script type="text/javascript" src="util.js"></script>
      <script type="text/javascript" src="gadgets.js"></script>
      <script type="text/javascript" src="cookiebaseduserprefstore.js"></script>
      <script type="text/javascript">
      
      var specUrlcontacts = '<%= gadgetUrl %>';
      var stoken = '<%= token %>'; 
      // This container lays out and renders gadgets itself.
      
      function renderGadgets() {
        var gadget = gadgets.container.createGadget({specUrl: specUrlcontacts, 
secureToken: stoken});
      
        gadgets.container.addGadget(gadget);
        gadgets.container.layoutManager.setGadgetChromeIds(['gadget-chrome-x']);
      
        gadgets.container.renderGadget(gadget);
      };
      </script>
      </head>
      <body onLoad="renderGadgets()">
        <h2>Sample: Simple Container</h2>
        <div id="gadget-chrome-x" class="gadgets-gadget-chrome"></div>
      </body>
      </html>
<%
  } else {
%>


      <script type="text/javascript">
        function resetText(){
          document.getElementById('freegadgeturl').value='';
        }
        function resetSelect(){
          document.getElementById('gadgeturl').options[0].selected='true';
        }
      </script>
      </head>
      <body>
      <form method="get" 
action="http://localhost:8080/gadgets/files/container/samplesecuretoken.jsp";>
        Viewer : <input type="text" name="viewertxt" value="john.doe"/><br/>
        Owner : <input type="text" name="ownertxt" value="john.doe"/><br/>
        Shortcut Gadget URL :
          <select id='gadgeturl' name="gadgeturl" onchange="resetText();">
            <option value="">----</option>
            <option 
value="http://localhost:8080/gadgets/files/samplecontainer/examples/SocialActivitiesWorld.xml";>SocialActivitiesWorld.xml</option>
            <option 
value="http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml";>SocialHelloWorld.xml</option>
            <option 
value="http://localhost:8080/gadgets/files/samplecontainer/examples/getFriendsHasApp.xml";>getFriendsHasApp.xml</option>
            <option 
value="http://localhost:8080/gadgets/files/samplecontainer/examples/oauth.xml";>oauth.xml</option>
          </select>
          OR
          Full Gadget URL : <input id="freegadgeturl" type="text" 
name="freegadgeturl" 
value="http://localhost:8080/gadgets/files/samplecontainer/examples/SocialHelloWorld.xml";
 size="50" onchange="resetSelect();"/><br/>
      
      
          <input type="submit" value="Submit"/>
      </form>
      </body>
      </html>
<%
  }
%>


Reply via email to