Package com.ibm.xsp.sbtsdk.playground.sbt.extension

Source Code of com.ibm.xsp.sbtsdk.playground.sbt.extension.SbtEndpoints

/*
* © Copyright IBM Corp. 2013
*
* 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.ibm.xsp.sbtsdk.playground.sbt.extension;

import nsf.playground.environments.PlaygroundEnvironment;
import nsf.playground.extension.Endpoints;

import com.ibm.sbt.services.endpoints.ConnectionsBasicEndpoint;
import com.ibm.sbt.services.endpoints.ConnectionsOAuth2Endpoint;
import com.ibm.sbt.services.endpoints.DominoBasicEndpoint;
import com.ibm.sbt.services.endpoints.DropBoxOAuthEndpoint;
import com.ibm.sbt.services.endpoints.SametimeBasicEndpoint;
import com.ibm.sbt.services.endpoints.SmartCloudBasicEndpoint;
import com.ibm.sbt.services.endpoints.SmartCloudFormEndpoint;
import com.ibm.sbt.services.endpoints.SmartCloudOAuth2Endpoint;
import com.ibm.sbt.services.endpoints.SmartCloudOAuthEndpoint;
import com.ibm.sbt.services.endpoints.TwitterOAuthEndpoint;
import com.ibm.xsp.context.FacesContextEx;
import com.ibm.xsp.util.ManagedBeanUtil;



/**
* Endpoints used by the SBT.
*/
public class SbtEndpoints extends Endpoints {
 
  public static final String CON_URL = "Con_URL";
  public static final String CON_OA2_CONSUMERKEY = "Con_OA2_ConsumerKey";
  public static final String CON_OA2_CONSUMERSECRET = "Con_OA2_ConsumerSecret";
  public static final String DEFAULT_CONNECTIONS_SERVICE_NAME = "connections";
  public static final String CON_GADGET_OA2_SERVICE_NAME = "Con_Gadget_OA2_Service_Name";
  public static final String CON_GADGET_OA2_CONSUMERKEY = "Con_Gadget_OA2_ConsumerKey";
  public static final String CON_GADGET_OA2_CONSUMERSECRET = "Con_Gadget_OA2_ConsumerSecret";
  public static final String CON_OA2_AUTHORIZATIONURL = "Con_OA2_AuthorizationURL";
  public static final String CON_OA2_ACCESSTOKENURL = "Con_OA2_AccessTokenURL";
  public static final String DEFAULT_GOOGLE_SERVICE_NAME = "googleAPI";
  public static final String GOOGLE_GADGET_OA_SERVICE_NAME = "Google_Gadget_OA_Service_Name";
  public static final String GOOGLE_GADGET_OA_CONSUMERKEY = "Google_Gadget_OA_ConsumerKey";
  public static final String GOOGLE_GADGET_OA_CONSUMERSECRET = "Google_Gadget_OA_ConsumerSecret";
  public static final String SMA_URL = "Sma_URL";
  public static final String DEFAULT_SC_SERVICE_NAME = "SmartCloud";
  public static final String SMA_OA_GADGET_SERVICE = "Sma_OA_Gadget_Service";
  public static final String SMA_OA_COUNSUMERKEY = "Sma_OA_ConsumerKey";
  public static final String SMA_OA_CONSUMERSECRET = "Sma_OA_ConsumerSecret";
  public static final String DROPBOX_GADGET_OA_SERVICE_NAME = "DropBox_Gadget_OA_Service_Name";
  public static final String DROPBOX_OA_CONSUMERKEY = "Dropbox_OA_ConsumerKey";
  public static final String DROPBOX_OA_CONSUMERSECRET = "Dropbox_OA_ConsumerSecret";
  public static final String DEFAULT_DROPBOX_SERVICE_NAME = "DropBox";

  private Category[] PROPERTIES = new Category[] {
    new Category("connections","IBM Connections on Premises","IBM Connections", new Property[] {
        new Property(CON_URL, "URL", "https://[myconnections-server]"),
        new Property(CON_OA2_CONSUMERKEY, "OAuth2 - Consumer Key"),
        new Property(CON_OA2_CONSUMERSECRET, "OAuth2 - Consumer Secret"),
        new Property(CON_GADGET_OA2_SERVICE_NAME, "OpenSocial Gadget OAuth2 Service Name", DEFAULT_CONNECTIONS_SERVICE_NAME),
        new Property(CON_GADGET_OA2_CONSUMERKEY, "OpenSocial Gadget OAuth2 - Consumer Key"),
        new Property(CON_GADGET_OA2_CONSUMERSECRET, "OpenSocial Gadget OAuth2 - Consumer Secret"),
        new Property(CON_OA2_AUTHORIZATIONURL, "OAuth2 - Authorization URL", "https://[myconnections-server]/oauth2/endpoint/connectionsProvider/authorize"),
        new Property(CON_OA2_ACCESSTOKENURL, "OAuth2 - Access Token URL", "https://[myconnections-server]/oauth2/endpoint/connectionsProvider/token"),
    }, new Group[] {
        new Group("Basic Authentication", new String[] {"Con_URL"}, "# Connections default is Basic Auth\n\nsbt.endpoint.connections=connectionsBasic\n"),
        new Group("OAuth 2", new String[] {CON_URL,CON_OA2_CONSUMERKEY,CON_OA2_CONSUMERSECRET,CON_GADGET_OA2_SERVICE_NAME,CON_GADGET_OA2_CONSUMERKEY,CON_GADGET_OA2_CONSUMERSECRET,CON_OA2_AUTHORIZATIONURL,CON_OA2_ACCESSTOKENURL}, "# Connections default is OAuth 2\nsbt.endpoint.connections=connectionsOA2\n", 1),
    }, null),
    new Category("smartcloud","IBM SmartCloud for Social Business", "IBM SmartCloud", new Property[] {
        new Property(SMA_URL, "URL", "https://apps.na.collabserv.com"),
        new Property(SMA_OA_GADGET_SERVICE, "OAuth Service Name For OpenSocial Gadgets", DEFAULT_SC_SERVICE_NAME),
        new Property(SMA_OA_COUNSUMERKEY, "OAuth1 - Consumer Key"),
        new Property(SMA_OA_CONSUMERSECRET, "OAuth1 - Consumer Secret"),
        new Property("Sma_OA_RequestTokenURL", "OAuth1 - Request Token URL", "https://apps.na.collabserv.com/manage/oauth/getRequestToken"),
        new Property("Sma_OA_AuthorizationURL", "OAuth1 - Authorization URL", "https://apps.na.collabserv.com/manage/oauth/authorizeToken"),
        new Property("Sma_OA_AccessTokenURL", "OAuth1 - AccessToken URL", "https://apps.na.collabserv.com/manage/oauth/getAccessToken"),
        new Property("Sma_OA2_ConsumerKey", "OAuth2 - Consumer Key"),
        new Property("Sma_OA2_ConsumerSecret", "OAuth2 - Consumer Secret"),
        new Property("Sma_OA2_AuthorizationURL", "OAuth2 - Authorization URL", "https://apps.na.collabserv.com/manage/oauth2/authorize"),
        new Property("Sma_OA2_AccessTokenURL", "OAuth2 - Access Token URL", "https://apps.na.collabserv.com/manage/oauth2/token"),
    }, new Group[] {
        new Group("Basic Authentication", new String[] {SMA_URL}, "# Make SmartCloud Basic the default server for Connections\nsbt.endpoint.connections=smartcloudBasic\nsbt.endpoint.smartcloud=smartcloudBasic"),
        new Group("Form Based", new String[] {SMA_URL}, "# Make SmartCloud Form the default server for Connections\nsbt.endpoint.connections=smartcloudForm\nsbt.endpoint.smartcloud=smartcloudForm"),
        new Group("OAuth 1", new String[] {SMA_URL,SMA_OA_GADGET_SERVICE,SMA_OA_COUNSUMERKEY,SMA_OA_CONSUMERSECRET,"Sma_OA_RequestTokenURL","Sma_OA_AuthorizationURL","Sma_OA_AccessTokenURL"}, "# Make SmartCloud OAuth 1 the default server for Connections\nsbt.endpoint.connections=smartcloudOA\nsbt.endpoint.smartcloud=smartcloudOA"),
        new Group("OAuth 2", new String[] {SMA_URL,"Sma_OA2_ConsumerKey","Sma_OA2_ConsumerSecret","Sma_OA2_AuthorizationURL","Sma_OA2_AccessTokenURL"}, "# Make SmartCloud OAuth 2 the default server for Connections\nsbt.endpoint.connections=smartcloudOA2\nsbt.endpoint.smartcloud=smartcloudOA2",1),
    }, null,
    new PropertyValues[] {
         new PropertyValues("Test - C1", new String[] {
          "https://apps.na.collabservtest.lotus.com", // Sma_URL
          "", // SMA_OA_GADGET_SERVICE
          "", // SMA_OA_COUNSUMERKEY
          "", // SMA_OA_CONSUMERSECRET
          "https://apps.na.collabservtest.lotus.com/manage/oauth/getRequestToken", // Sma_OA_RequestTokenURL
          "https://apps.na.collabservtest.lotus.com/manage/oauth/authorizeToken", // Sma_OA_AuthorizationURL
          "https://apps.na.collabservtest.lotus.com/manage/oauth/getAccessToken", // Sma_OA_AccessTokenURL
          "", // Sma_OA2_ConsumerKey
          "", // Sma_OA2_ConsumerSecret
          "https://apps.na.collabservtest.lotus.com/manage/oauth2/authorize", // Sma_OA2_AuthorizationURL
          "https://apps.na.collabservtest.lotus.com/manage/oauth2/token" // Sma_OA2_AccessTokenURL
         }),
         new PropertyValues("Next - C2", new String[] {
          "https://apps.collabservnext.com", // Sma_URL
          "", // SMA_OA_GADGET_SERVICE
          "", // SMA_OA_COUNSUMERKEY
          "", // SMA_OA_CONSUMERSECRET
          "https://apps.collabservnext.com/manage/oauth/getRequestToken", // Sma_OA_RequestTokenURL
          "https://apps.collabservnext.com/manage/oauth/authorizeToken", // Sma_OA_AuthorizationURL
          "https://apps.collabservnext.com/manage/oauth/getAccessToken", // Sma_OA_AccessTokenURL
          "", // Sma_OA2_ConsumerKey
          "", // Sma_OA2_ConsumerSecret
          "https://apps.collabservnext.com/manage/oauth2/authorize", // Sma_OA2_AuthorizationURL
          "https://apps.collabservnext.com/manage/oauth2/token" // Sma_OA2_AccessTokenURL
         })
    }),
    new Category("domino","IBM Domino", "IBM Domino", new Property[] {
        new Property("Dom_URL", "URL"),
    }, new Group[] {
        new Group("Basic Authentication", new String[] {"Dom_URL"}, null),
    }, null),
/*   
    new Category("sametime","Sametime", new Property[] {
        new Property("St_URL", "URL"),
    }, null),
*/   
    new Category("twitter","Twitter","Twitter"new Property[] {
        //new Property("Twitter_URL", "Twitter URL"),
        new Property("Twitter_OA_AppplicationAccessToken", "Twitter Application Access Token"),
        new Property("Twitter_OA_ConsumerKey", "Twitter Consumer Key"),
        new Property("Twitter_OA_ConsumerSecret", "Twitter Consumer Secret"),
    }, new Group[] {
        new Group("OAuth", new String[] {"Twitter_OA_AppplicationAccessToken","Twitter_OA_ConsumerKey","Twitter_OA_ConsumerSecret"}, null, 1),
    }, null),
    new Category("dropbox","Dropbox","Dropbox", new Property[] {
        new Property(DROPBOX_GADGET_OA_SERVICE_NAME, "OpenSocial Gadgets OAuth 1.0a Service Name",
            DEFAULT_DROPBOX_SERVICE_NAME),
        new Property(DROPBOX_OA_CONSUMERKEY, "Dropbox Consumer Key"),
        new Property(DROPBOX_OA_CONSUMERSECRET, "Dropbox Consumer Secret"),
    }, new Group[] {
        new Group("OAuth", new String[] {DROPBOX_GADGET_OA_SERVICE_NAME, DROPBOX_OA_CONSUMERKEY, DROPBOX_OA_CONSUMERSECRET}, null),
    }, null),
    new Category("google","Google","Google", new Property[] {
        new Property(GOOGLE_GADGET_OA_SERVICE_NAME, "OpenSocial Gadgets OAuth2 Service Name", DEFAULT_GOOGLE_SERVICE_NAME),
        new Property(GOOGLE_GADGET_OA_CONSUMERKEY, "Consumer Key For OpenSocial Gadgets"),
        new Property(GOOGLE_GADGET_OA_CONSUMERSECRET, "Consumer Secret For OpenSocial Gadgets"),
    }, new Group[] {
        new Group("OAuth", new String[] {GOOGLE_GADGET_OA_SERVICE_NAME, GOOGLE_GADGET_OA_CONSUMERKEY, GOOGLE_GADGET_OA_CONSUMERSECRET}, null),
    }, null),
  };

    public SbtEndpoints() {
  }

    @Override
  public Category[] getPropertyList() {
    return PROPERTIES;
  }

  @Override
  public String getEndpointNames() {
    return "connections,connectionsOA2,smartcloud,smartcloudOA2,sametime,domino,twitter,dropbox";
  }
   
    @Override
  public void prepareEndpoints(PlaygroundEnvironment env) {
      FacesContextEx context = FacesContextEx.getCurrentInstance();
   
      pushProperty(context,env,"sbt.endpoint.connections");
      pushProperty(context,env,"sbt.endpoint.smartcloud");
      pushProperty(context,env,"sbt.endpoint.domino");
      pushProperty(context,env,"sbt.endpoint.sametime");
      pushProperty(context,env,"sbt.endpoint.twitter");
      pushProperty(context,env,"sbt.endpoint.dropbox");
     
    // Override the beans with the environment definition
    {
      ConnectionsBasicEndpoint ep = (ConnectionsBasicEndpoint)ManagedBeanUtil.getBean(context, "connectionsBasic");
      if(ep!=null) {
        if(env.hasRuntime("connections")) {
          ep.setUrl(env.getField("Con_URL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      ConnectionsOAuth2Endpoint ep = (ConnectionsOAuth2Endpoint)ManagedBeanUtil.getBean(context, "connectionsOA2");
      if(ep!=null) {
        if(env.hasRuntime("connections")) {
          ep.setUrl(env.getField("Con_URL"));
          ep.setConsumerKey(env.getField("Con_OA2_ConsumerKey"));
          ep.setConsumerSecret(env.getField("Con_OA2_ConsumerSecret"));
          ep.setAuthorizationURL(env.getField("Con_OA2_AuthorizationURL"));
          ep.setAccessTokenURL(env.getField("Con_OA2_AccessTokenURL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      SmartCloudBasicEndpoint ep = (SmartCloudBasicEndpoint)ManagedBeanUtil.getBean(context, "smartcloudBasic");
      if(ep!=null) {
        if(env.hasRuntime("smartcloud")) {
          ep.setUrl(env.getField("Sma_URL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      SmartCloudFormEndpoint ep = (SmartCloudFormEndpoint)ManagedBeanUtil.getBean(context, "smartcloudForm");
      if(ep!=null) {
        if(env.hasRuntime("smartcloud")) {
          ep.setUrl(env.getField("Sma_URL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      SmartCloudOAuthEndpoint ep = (SmartCloudOAuthEndpoint)ManagedBeanUtil.getBean(context, "smartcloudOA");
      if(ep!=null) {
        if(env.hasRuntime("smartcloud")) {
          ep.setUrl(env.getField("Sma_URL"));
          ep.setConsumerKey(env.getField("Sma_OA_ConsumerKey"));
          ep.setConsumerSecret(env.getField("Sma_OA_ConsumerSecret"));
          ep.setRequestTokenURL(env.getField("Sma_OA_RequestTokenURL"));
          ep.setAuthorizationURL(env.getField("Sma_OA_AuthorizationURL"));
          ep.setAccessTokenURL(env.getField("Sma_OA_AccessTokenURL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      SmartCloudOAuth2Endpoint ep = (SmartCloudOAuth2Endpoint)ManagedBeanUtil.getBean(context, "smartcloudOA2");
      if(ep!=null) {
        if(env.hasRuntime("smartcloud")) {
          ep.setUrl(env.getField("Sma_URL"));
          ep.setConsumerKey(env.getField("Sma_OA2_ConsumerKey"));
          ep.setConsumerSecret(env.getField("Sma_OA2_ConsumerSecret"));
          ep.setAuthorizationURL(env.getField("Sma_OA2_AuthorizationURL"));
          ep.setAccessTokenURL(env.getField("Sma_OA2_AccessTokenURL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      DominoBasicEndpoint ep = (DominoBasicEndpoint)ManagedBeanUtil.getBean(context, "dominoBasic");
      if(ep!=null) {
        if(env.hasRuntime("domino")) {
          ep.setUrl(env.getField("Dom_URL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      SametimeBasicEndpoint ep = (SametimeBasicEndpoint)ManagedBeanUtil.getBean(context, "sametime");
      if(ep!=null) {
        if(env.hasRuntime("sametime")) {
          ep.setUrl(env.getField("St_URL"));
        } else {
          ep.setUrl(null);
        }
      }
    }
    {
      TwitterOAuthEndpoint epd = (TwitterOAuthEndpoint)ManagedBeanUtil.getBean(context, "twitter");
      if(epd!=null) {
        if(env.hasRuntime("twitter")) {
          epd.setApplicationAccessToken(env.getField("Twitter_OA_AppplicationAccessToken"));
          epd.setConsumerKey(env.getField("Twitter_OA_ConsumerKey"));
          epd.setConsumerSecret(env.getField("Twitter_OA_ConsumerSecret"));
        } else {
          epd.setUrl(null);
        }
      }
      DropBoxOAuthEndpoint ept = (DropBoxOAuthEndpoint)ManagedBeanUtil.getBean(context, "dropbox");
      if(ept!=null) {
        if(env.hasRuntime("dropbox")) {
          ept.setConsumerKey(env.getField("Dropbox_OA_ConsumerKey"));
          ept.setConsumerSecret(env.getField("Dropbox_OA_ConsumerSecret"));
        } else {
          ept.setUrl(null);
        }
      }
    }
  }   
}
TOP

Related Classes of com.ibm.xsp.sbtsdk.playground.sbt.extension.SbtEndpoints

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.