// The contents of this file are subject to the Mozilla Public License Version 1.1 // (the "License"); you may not use this file except in compliance with the License. // You may obtain a copy of the License at . // // Software distributed under the License is distributed on an "AS IS" basis, WITHOUT // WARRANTY OF ANY KIND, either express or implied. See the License for the specific // language governing rights and limitations under the License. // // The Original Code is the Venice Web Communities System. // // The Initial Developer of the Original Code is Eric J. Bowersox , // for Silverwrist Design Studios. Portions created by Eric J. Bowersox are // Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. // // Contributor(s): importPackage(java.lang); importPackage(java.util); importPackage(Packages.org.sourceid.sso.util); importPackage(Packages.org.sourceid.sso.xml); importPackage(Packages.org.sourceid.sso.xml.lib); importClass(Packages.com.silverwrist.dynamo.Namespaces); importPackage(Packages.com.silverwrist.dynamo.iface); importPackage(Packages.com.silverwrist.dynamo.util); importClass(Packages.com.silverwrist.venice.VeniceNamespaces); importPackage(Packages.com.silverwrist.venice.content); importPackage(Packages.com.silverwrist.venice.frame); req = bsf.lookupBean("request"); req_help = bsf.lookupBean("request_help"); target = req_help.getParameterString("tgt"); if (target==null) target = "top.js.vs"; vlib.setOnError(req,target); user = vlib.getUser(req); // Check the user account. user = vlib.getUser(req); if (user.isAnonymous()) { // user not logged in, must log in first - so bounce us to the login dialog new_target = "sourceid/federations.js.vs?tgt=" + stringutils.encodeURL(target); dynamo.scriptReturn(new Redirect("SERVLET","login.js.vs?tgt=" + stringutils.encodeURL(new_target))); } // end if // Get the IDP session. idpsess = sourceid.getIDPSession(req,false); if (idpsess==null) // auto-logout if there's no IDP session dynamo.scriptReturn(new Redirect("SERVLET","logout.js.vs")); // Load the profile menu. mprov = vcast.queryMenuProvider(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"venice-menus")); menu = mprov.getInlineMenu(user,VeniceNamespaces.USER_PROFILE_NAMESPACE,"user.profile.menu",cast.newIntArray(0)); if (menu.getItemCount()>1) { // set up the menu properly menu.setVariable("target",stringutils.encodeURL(target)); ndx = menu.getItemContainingLinkText("sourceid/federations.js.vs"); menu.setSelectedIndex(ndx); } // end if else // don't display the menu menu = null; // Create the return value. rc = new VelocityView("Identity Federations","sourceid/federations.vm"); rc.setParameter("target",target); if (menu!=null) rc.setParameter("menu",menu); // Get the list of identity providers and a bunch of information about them. pdir = sourceid.getProviderDirectory(req); it = pdir.getSPList().iterator(); plist = new ArrayList(); while (it.hasNext()) { // get each service provider in turn map = new HashMap(); sp = sourceid.castSPDescriptorType(it.next()); map.put("provider",sp.providerID); sentry = sourceid.getEntryForProvider(idpsess,sp.providerID); if (sentry!=null) map.put("auth",Boolean.TRUE); map.put("federated",cast.booleanObject(sourceid.isUserFederatedWith(req,sp.providerID))); plist.add(map); } // end while rc.setParameter("provider_data",plist); dynamo.scriptOutput(rc); // all done