http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/AiravataExperimentStatusUpdator.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/AiravataExperimentStatusUpdator.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/AiravataExperimentStatusUpdator.java
deleted file mode 100644
index 235dbfe..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/AiravataExperimentStatusUpdator.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
-*//*
-
-package org.apache.airavata.api.server.listener;
-
-import com.google.common.eventbus.Subscribe;
-import org.apache.airavata.api.server.util.DataModelUtils;
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.common.utils.AiravataZKUtils;
-import org.apache.airavata.common.utils.Constants;
-import org.apache.airavata.common.utils.LocalEventPublisher;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.common.utils.listener.AbstractActivityListener;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.Publisher;
-import org.apache.airavata.messaging.core.impl.RabbitMQTaskLaunchConsumer;
-import org.apache.airavata.model.messaging.event.ExperimentStatusChangeEvent;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.model.messaging.event.WorkflowNodeStatusChangeEvent;
-import org.apache.airavata.model.util.ExecutionType;
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.model.experiment.ExperimentModelState;
-import org.apache.airavata.registry.cpi.ExperimentCatalog;
-import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.utils.ZKPaths;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.util.Calendar;
-
-public class AiravataExperimentStatusUpdator implements 
AbstractActivityListener {
-    private final static Logger logger = 
LoggerFactory.getLogger(AiravataExperimentStatusUpdator.class);
-    private ExperimentCatalog airavataExperimentCatalog;
-    private LocalEventPublisher localEventPublisher;
-    private Publisher publisher;
-    private CuratorFramework curatorClient;
-    private RabbitMQTaskLaunchConsumer consumer;
-
-    public ExperimentCatalog getAiravataExperimentCatalog() {
-        return airavataExperimentCatalog;
-    }
-
-    public void setAiravataExperimentCatalog(ExperimentCatalog 
airavataExperimentCatalog) {
-        this.airavataExperimentCatalog = airavataExperimentCatalog;
-    }
-    
-    @Subscribe
-    public void setupExperimentStatus(WorkflowNodeStatusChangeEvent 
nodeStatus) throws Exception{
-               try {
-                       boolean updateExperimentStatus=true;
-            boolean clean= false;
-                       ExecutionType executionType = 
DataModelUtils.getExecutionType((Experiment) 
airavataExperimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, 
nodeStatus.getWorkflowNodeIdentity().getExperimentId()));
-            String experimentNode = 
ServerSettings.getSetting(Constants.ZOOKEEPER_GFAC_EXPERIMENT_NODE, 
"/gfac-experiments");
-            String experimentPath = experimentNode + File.separator + 
ServerSettings.getSetting(Constants.ZOOKEEPER_GFAC_SERVER_NAME)
-                    + File.separator + 
nodeStatus.getWorkflowNodeIdentity().getExperimentId();
-               ExperimentState state;
-               switch (nodeStatus.getState()) {
-                   case CANCELED:
-                       state = ExperimentState.CANCELED; 
updateExperimentStatus = true;
-                    clean = true;
-                       break;
-                   case COMPLETED:
-                       if(executionType.equals(ExecutionType.SINGLE_APP)){
-                               state = ExperimentState.COMPLETED; 
updateExperimentStatus = true;
-                       }else{
-                       state = ExperimentState.EXECUTING; 
updateExperimentStatus = true;
-                       }
-                    clean = true;
-                       break;
-                   case INVOKED:
-                       state = ExperimentState.EXECUTING; 
updateExperimentStatus = false;
-                       break;
-                   case FAILED:
-                       state = ExperimentState.FAILED; updateExperimentStatus 
= true;
-                    clean = true;
-                       break;
-                   case EXECUTING:
-                       state = ExperimentState.EXECUTING; 
updateExperimentStatus = true;
-                       break;
-                   case CANCELING:
-                       state = ExperimentState.CANCELING; 
updateExperimentStatus = true;
-                    break;
-                default:
-                    return;
-            }
-            if (!updateExperimentStatus){
-                
updateExperimentStatus=(executionType==ExecutionType.SINGLE_APP);
-            }
-            
updateExperimentStatus(nodeStatus.getWorkflowNodeIdentity().getExperimentId(), 
state);
-            logger.debug("Publishing experiment status for " + 
nodeStatus.getWorkflowNodeIdentity().getExperimentId() + ":" + 
state.toString());
-            ExperimentStatusChangeEvent event = new 
ExperimentStatusChangeEvent(state,
-                                                                               
 nodeStatus.getWorkflowNodeIdentity().getExperimentId(),
-                                                                               
 nodeStatus.getWorkflowNodeIdentity().getGatewayId());
-            localEventPublisher.publish(event);
-            String messageId = AiravataUtils.getId("EXPERIMENT");
-            MessageContext msgCntxt = new MessageContext(event, 
MessageType.EXPERIMENT, messageId, 
nodeStatus.getWorkflowNodeIdentity().getGatewayId());
-            msgCntxt.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
-            publisher.publish(msgCntxt);
-            if (clean) {
-                cleanup(nodeStatus, experimentNode, experimentPath);
-            }
-        } catch (Exception e) {
-            logger.error("Error persisting data" + e.getLocalizedMessage(), e);
-            throw new Exception("Error persisting experiment status..", e);
-               }
-    }
-
-    private void cleanup(WorkflowNodeStatusChangeEvent nodeStatus, String 
experimentNode, String experimentPath) throws Exception {
-        int count = 0;
-        long deliveryTag = 
AiravataZKUtils.getDeliveryTag(nodeStatus.getWorkflowNodeIdentity().getExperimentId(),
 curatorClient,
-                experimentNode, 
ServerSettings.getSetting(Constants.ZOOKEEPER_GFAC_SERVER_NAME));
-        if(deliveryTag>0) {
-            if (ServerSettings.isGFacPassiveMode()) {
-                while (!consumer.isOpen() && count < 3) {
-                    try {
-                        consumer.reconnect();
-                    } catch (AiravataException e) {
-                        count++;
-                    }
-                }
-                try {
-                    if (consumer.isOpen()) {
-                        consumer.sendAck(deliveryTag);
-                    }
-                } catch (Exception e) {
-                    logger.error("Error sending the Ack ! If the worker pick 
this again airavata should gracefully handle !");
-                }
-            }
-        }
-        if (curatorClient.checkExists().forPath(experimentPath + 
AiravataZKUtils.DELIVERY_TAG_POSTFIX) != null) {
-            
ZKPaths.deleteChildren(curatorClient.getZookeeperClient().getZooKeeper(),
-                    experimentPath + AiravataZKUtils.DELIVERY_TAG_POSTFIX, 
true);
-        }
-
-        if (curatorClient.checkExists().forPath(experimentPath) != null) {
-            
ZKPaths.deleteChildren(curatorClient.getZookeeperClient().getZooKeeper(), 
experimentPath, true);
-        }
-
-        // ack cancel operation if exist
-        long cancelDT = 
AiravataZKUtils.getCancelDeliveryTagIfExist(nodeStatus.getWorkflowNodeIdentity().getExperimentId(),
-                curatorClient, experimentNode, 
ServerSettings.getSetting(Constants.ZOOKEEPER_GFAC_SERVER_NAME));
-        count  = 0;
-        if (cancelDT > 0) {
-            while (!consumer.isOpen() && count < 3) {
-                try {
-                    consumer.reconnect();
-                } catch (AiravataException e) {
-                    count++;
-                }
-            }
-            try {
-                if (consumer.isOpen()) {
-                    consumer.sendAck(cancelDT);
-                }
-            } catch (Exception e) {
-                logger.error("Error sending the Ack for cancel operation, 
cancel experiment path : " + experimentPath);
-            }
-        }
-        if (cancelDT > 0) {
-            
ZKPaths.deleteChildren(curatorClient.getZookeeperClient().getZooKeeper(),
-                    experimentPath + 
AiravataZKUtils.CANCEL_DELIVERY_TAG_POSTFIX, true);
-        }
-    }
-
-    public  ExperimentState updateExperimentStatus(String experimentId, 
ExperimentState state) throws Exception {
-       Experiment details = (Experiment) 
airavataExperimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, 
experimentId);
-        if(details == null) {
-            details = new Experiment();
-            details.setExperimentID(experimentId);
-        }
-        org.apache.airavata.model.workspace.experiment.ExperimentStatus status 
= new org.apache.airavata.model.workspace.experiment.ExperimentStatus();
-        status.setExperimentState(state);
-        status.setTimeOfStateChange(Calendar.getInstance().getTimeInMillis());
-        status.setExperimentState(state);
-        details.setExperimentStatus(status);
-        logger.info("Updating the experiment status of experiment: " + 
experimentId + " to " + status.getExperimentState().toString());
-        
airavataExperimentCatalog.update(ExperimentCatalogModelType.EXPERIMENT_STATUS, 
status, experimentId);
-        return details.getExperimentStatus().getExperimentState();
-
-    }
-
-       public void setup(Object... configurations) {
-               for (Object configuration : configurations) {
-                       if (configuration instanceof ExperimentCatalog){
-                               this.airavataExperimentCatalog 
=(ExperimentCatalog)configuration;
-                       } else if (configuration instanceof 
LocalEventPublisher){
-                               this.localEventPublisher =(LocalEventPublisher) 
configuration;
-                       } else if (configuration instanceof Publisher){
-                this.publisher=(Publisher) configuration;
-            }else if (configuration instanceof RabbitMQTaskLaunchConsumer) {
-                this.consumer = (RabbitMQTaskLaunchConsumer) configuration;
-            }else if (configuration instanceof CuratorFramework) {
-                this.curatorClient = (CuratorFramework) configuration;
-            }
-
-        }
-       }
-}
-*/

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/ExperimentStatusChangedEvent.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/ExperimentStatusChangedEvent.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/ExperimentStatusChangedEvent.java
deleted file mode 100644
index aee709c..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/listener/ExperimentStatusChangedEvent.java
+++ /dev/null
@@ -1,64 +0,0 @@
-///*
-// *
-// * Licensed to the Apache Software Foundation (ASF) under one
-// * or more contributor license agreements.  See the NOTICE file
-// * distributed with this work for additional information
-// * regarding copyright ownership.  The ASF 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.
-// *
-//*/
-//package org.apache.airavata.api.server.listener;
-//
-//import org.apache.airavata.common.utils.listener.AbstractStateChangeRequest;
-//import org.apache.airavata.gfac.core.monitor.ExperimentIdentity;
-//import org.apache.airavata.model.experiment.ExperimentModelState;
-//
-///**
-// * This is the primary job state object used in
-// * through out the monitor module. This use airavata-data-model JobState enum
-// * Ideally after processing each event or monitoring message from remote 
system
-// * Each monitoring implementation has to return this object with a state and
-// * the monitoring ID
-// */
-//public class ExperimentStatusChangedEvent extends AbstractStateChangeRequest 
{
-//    private ExperimentState state;
-//    private ExperimentIdentity identity;
-//
-//    // this constructor can be used in Qstat monitor to handle errors
-//    public ExperimentStatusChangedEvent() {
-//    }
-//
-//    public ExperimentStatusChangedEvent(ExperimentIdentity 
experimentIdentity, ExperimentState state) {
-//        this.state = state;
-//        setIdentity(experimentIdentity);
-//    }
-//
-//    public ExperimentState getState() {
-//        return state;
-//    }
-//
-//    public void setState(ExperimentState state) {
-//       this.state = state;
-//    }
-//
-//     public ExperimentIdentity getIdentity() {
-//             return identity;
-//     }
-//
-//     public void setIdentity(ExperimentIdentity identity) {
-//             this.identity = identity;
-//     }
-//
-//
-//}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/AiravataSecurityManager.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/AiravataSecurityManager.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/AiravataSecurityManager.java
deleted file mode 100644
index 9245576..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/AiravataSecurityManager.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security;
-
-import org.apache.airavata.model.security.AuthzToken;
-import org.apache.airavata.security.AiravataSecurityException;
-
-import java.util.Map;
-
-public interface AiravataSecurityManager {
-    /**
-     * Implement this method in your SecurityManager to perform necessary 
initializations at the server startup.
-     * @throws AiravataSecurityException
-     */
-    public void initializeSecurityInfra() throws AiravataSecurityException;
-
-    /**
-     * Implement this method with the user authentication/authorization logic 
in your SecurityManager.
-     * @param authzToken : this includes OAuth token and user's claims
-     * @param metaData : this includes other meta data needed for security 
enforcements.
-     * @return
-     * @throws AiravataSecurityException
-     */
-    public boolean isUserAuthorized(AuthzToken authzToken, Map<String, String> 
metaData) throws AiravataSecurityException;
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/DefaultAiravataSecurityManager.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/DefaultAiravataSecurityManager.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/DefaultAiravataSecurityManager.java
deleted file mode 100644
index 3dbab86..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/DefaultAiravataSecurityManager.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security;
-
-import org.apache.airavata.api.server.security.authzcache.*;
-import org.apache.airavata.api.server.security.oauth.DefaultOAuthClient;
-import org.apache.airavata.api.server.security.xacml.DefaultPAPClient;
-import org.apache.airavata.api.server.security.xacml.DefaultXACMLPEP;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.Constants;
-import org.apache.airavata.common.utils.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
-import org.apache.airavata.credential.store.cpi.CredentialStoreService;
-import org.apache.airavata.credential.store.datamodel.PasswordCredential;
-import org.apache.airavata.credential.store.exception.CredentialStoreException;
-import 
org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
-import org.apache.airavata.model.security.AuthzToken;
-import org.apache.airavata.registry.api.RegistryService;
-import org.apache.airavata.registry.api.client.RegistryServiceClientFactory;
-import org.apache.airavata.registry.api.exception.RegistryServiceException;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.apache.airavata.security.util.TrustStoreManager;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import 
org.wso2.carbon.identity.oauth2.stub.dto.OAuth2TokenValidationResponseDTO;
-
-import java.io.*;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This enforces authentication and authorization on Airavata API calls.
- */
-public class DefaultAiravataSecurityManager implements AiravataSecurityManager 
{
-    private final static Logger logger = 
LoggerFactory.getLogger(DefaultAiravataSecurityManager.class);
-
-    @Override
-    public void initializeSecurityInfra() throws AiravataSecurityException {
-        /* in the default security manager, this method checks if the xacml 
authorization policy is published,
-         * and if not, publish the policy to the PDP (of WSO2 Identity Server)
-         */
-        try {
-            if (ServerSettings.isAPISecured()) {
-                ConfigurationContext configContext =
-                        
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, 
null);
-                //initialize SSL context with the trust store that contains 
the public cert of WSO2 Identity Server.
-                TrustStoreManager trustStoreManager = new TrustStoreManager();
-                
trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
-                        ServerSettings.getTrustStorePassword());
-                List<GatewayResourceProfile> gwProfiles = 
getRegistryServiceClient().getAllGatewayResourceProfiles();
-                //read the policy as a string
-                BufferedReader bufferedReader = new BufferedReader(new 
FileReader(new File(
-                        ServerSettings.getAuthorizationPoliyName() + ".xml")));
-                String line;
-                StringBuilder stringBuilder = new StringBuilder();
-                while ((line = bufferedReader.readLine()) != null) {
-                    stringBuilder.append(line);
-                }
-                String defaultXACMLPolicy = stringBuilder.toString();
-                CredentialStoreService.Client csClient = 
getCredentialStoreServiceClient();
-
-                for(GatewayResourceProfile gwrp : gwProfiles){
-                    if(gwrp.getIdentityServerPwdCredToken() != null && 
gwrp.getIdentityServerTenant() != null){
-                        PasswordCredential credential = 
csClient.getPasswordCredential(gwrp.getIdentityServerPwdCredToken(), 
gwrp.getGatewayID());
-                        String username = credential.getLoginUserName();
-                        if(gwrp.getIdentityServerTenant() != null && 
!gwrp.getIdentityServerTenant().isEmpty())
-                            username = username + "@" + 
gwrp.getIdentityServerTenant();
-                        String password = credential.getPassword();
-                        DefaultPAPClient PAPClient = new 
DefaultPAPClient(ServerSettings.getRemoteAuthzServerUrl(),
-                                username, password, configContext);
-                        boolean policyAdded = 
PAPClient.isPolicyAdded(ServerSettings.getAuthorizationPoliyName());
-                        if (policyAdded) {
-                            logger.debug("Authorization policy is already 
added in the authorization server.");
-                        } else {
-                            //publish the policy and enable it in a separate 
thread
-                            PAPClient.addPolicy(defaultXACMLPolicy);
-                            logger.debug("Authorization policy is published in 
the authorization server.");
-                        }
-                    }else{
-                        logger.warn("Identity Server configuration missing for 
gateway : " + gwrp.getGatewayID());
-                    }
-                }
-            }
-        } catch (AxisFault axisFault) {
-            logger.error(axisFault.getMessage(), axisFault);
-            throw new AiravataSecurityException("Error in initializing the 
configuration context for creating the " +
-                    "PAP client.");
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in reading 
configuration when creating the PAP client.");
-        } catch (FileNotFoundException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in reading 
authorization policy.");
-        } catch (IOException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in reading the 
authorization policy.");
-        } catch (RegistryServiceException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in reading the Gateway 
Profiles from App Catalog.");
-        } catch (TException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in connecting to 
Credential Store Service.");
-        }
-    }
-
-    public boolean isUserAuthorized(AuthzToken authzToken, Map<String, String> 
metaData) throws AiravataSecurityException {
-        try {
-            String subject = 
authzToken.getClaimsMap().get(Constants.USER_NAME);
-            String accessToken = authzToken.getAccessToken();
-            String gatewayId = 
authzToken.getClaimsMap().get(Constants.GATEWAY_ID);
-            String action = metaData.get(Constants.API_METHOD_NAME);
-
-            //if the authz cache is enabled, check in the cache if the authz 
decision is cached and if so, what the status is
-            if (ServerSettings.isAuthzCacheEnabled()) {
-                //obtain an instance of AuthzCacheManager implementation.
-                AuthzCacheManager authzCacheManager = 
AuthzCacheManagerFactory.getAuthzCacheManager();
-
-                //check in the cache
-                AuthzCachedStatus authzCachedStatus = 
authzCacheManager.getAuthzCachedStatus(
-                        new AuthzCacheIndex(subject, gatewayId, accessToken, 
action));
-
-                if (AuthzCachedStatus.AUTHORIZED.equals(authzCachedStatus)) {
-                    logger.debug("Authz decision for: (" + subject + ", " + 
accessToken + ", " + action + ") is retrieved from cache.");
-                    return true;
-                } else if 
(AuthzCachedStatus.NOT_AUTHORIZED.equals(authzCachedStatus)) {
-                    logger.debug("Authz decision for: (" + subject + ", " + 
accessToken + ", " + action + ") is retrieved from cache.");
-                    return false;
-                } else if 
(AuthzCachedStatus.NOT_CACHED.equals(authzCachedStatus)) {
-                    logger.debug("Authz decision for: (" + subject + ", " + 
accessToken + ", " + action + ") is not in the cache. " +
-                            "Obtaining it from the authorization server.");
-
-                    CredentialStoreService.Client csClient = 
getCredentialStoreServiceClient();
-                    GatewayResourceProfile gwrp = 
getRegistryServiceClient().getGatewayResourceProfile(gatewayId);
-                    PasswordCredential credential = 
csClient.getPasswordCredential(gwrp.getIdentityServerPwdCredToken(), 
gwrp.getGatewayID());
-                    String username = credential.getLoginUserName();
-                    if(gwrp.getIdentityServerTenant() != null && 
!gwrp.getIdentityServerTenant().isEmpty())
-                        username = username + "@" + 
gwrp.getIdentityServerTenant();
-                    String password = credential.getPassword();
-
-                    //talk to Authorization Server, obtain the decision, cache 
it and return the result.
-                    ConfigurationContext configContext =
-                            
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, 
null);
-
-                    //initialize SSL context with the trust store that 
contains the public cert of WSO2 Identity Server.
-                    TrustStoreManager trustStoreManager = new 
TrustStoreManager();
-                    
trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
-                            ServerSettings.getTrustStorePassword());
-
-                    DefaultOAuthClient oauthClient = new 
DefaultOAuthClient(ServerSettings.getRemoteAuthzServerUrl(),
-                            username, password, configContext);
-                    OAuth2TokenValidationResponseDTO validationResponse = 
oauthClient.validateAccessToken(
-                            authzToken.getAccessToken());
-                    if(validationResponse.getValid()){
-                        String authorizedUserName = 
validationResponse.getAuthorizedUser();
-                        if(authorizedUserName.contains("@")){
-                            authorizedUserName = 
authorizedUserName.split("@")[0];
-                        }
-                        if(subject.contains("@")){
-                            subject = subject.split("@")[0];
-                        }
-                        //cannot impersonate users
-                        
if(!authorizedUserName.toLowerCase().equals(subject.toLowerCase()))
-                            return false;
-
-                        long expiryTimestamp = 
validationResponse.getExpiryTime();
-
-                        //check for fine grained authorization for the API 
invocation, based on XACML.
-                        DefaultXACMLPEP entitlementClient = new 
DefaultXACMLPEP(ServerSettings.getRemoteAuthzServerUrl(),
-                                username, password, configContext);
-                        boolean authorizationDecision = 
entitlementClient.getAuthorizationDecision(authzToken, metaData);
-
-                        //cache the authorization decision
-                        authzCacheManager.addToAuthzCache(new 
AuthzCacheIndex(subject, gatewayId, accessToken, action),
-                                new AuthzCacheEntry(authorizationDecision, 
expiryTimestamp, System.currentTimeMillis()));
-
-                        return authorizationDecision;
-                    }else {
-                        return false;
-                    }
-
-
-                } else {
-                    //undefined status returned from the authz cache manager
-                    throw new AiravataSecurityException("Error in reading from 
the authorization cache.");
-                }
-            } else {
-                CredentialStoreService.Client csClient = 
getCredentialStoreServiceClient();
-                GatewayResourceProfile gwrp = 
getRegistryServiceClient().getGatewayResourceProfile(gatewayId);
-                PasswordCredential credential = 
csClient.getPasswordCredential(gwrp.getIdentityServerPwdCredToken(), 
gwrp.getGatewayID());
-                String username = credential.getLoginUserName();
-                if(gwrp.getIdentityServerTenant() != null && 
!gwrp.getIdentityServerTenant().isEmpty())
-                    username = username + "@" + gwrp.getIdentityServerTenant();
-                String password = credential.getPassword();
-
-                //talk to Authorization Server, obtain the decision and return 
the result (authz cache is not enabled).
-                ConfigurationContext configContext =
-                        
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, 
null);
-
-                //initialize SSL context with the trust store that contains 
the public cert of WSO2 Identity Server.
-                TrustStoreManager trustStoreManager = new TrustStoreManager();
-                
trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
-                        ServerSettings.getTrustStorePassword());
-
-                DefaultOAuthClient oauthClient = new 
DefaultOAuthClient(ServerSettings.getRemoteAuthzServerUrl(),
-                        username, password, configContext);
-                OAuth2TokenValidationResponseDTO validationResponse = 
oauthClient.validateAccessToken(
-                        authzToken.getAccessToken());
-                boolean isOAuthTokenValid = validationResponse.getValid();
-                //if XACML based authorization is enabled, check for role 
based authorization for the API invocation
-                DefaultXACMLPEP entitlementClient = new 
DefaultXACMLPEP(ServerSettings.getRemoteAuthzServerUrl(),
-                        username, password, configContext);
-                boolean authorizationDecision = 
entitlementClient.getAuthorizationDecision(authzToken, metaData);
-
-                return (isOAuthTokenValid && authorizationDecision);
-            }
-
-        } catch (AxisFault axisFault) {
-            logger.error(axisFault.getMessage(), axisFault);
-            throw new AiravataSecurityException("Error in initializing the 
configuration context for creating the OAuth validation client.");
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in reading OAuth server 
configuration.");
-        } catch (RegistryServiceException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in accessing 
AppCatalog.");
-        } catch (TException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in connecting to 
Credential Store Service.");
-        }
-    }
-
-    private CredentialStoreService.Client getCredentialStoreServiceClient() 
throws TException, ApplicationSettingsException {
-        final int serverPort = 
Integer.parseInt(ServerSettings.getCredentialStoreServerPort());
-        final String serverHost = 
ServerSettings.getCredentialStoreServerHost();
-        try {
-            return 
CredentialStoreClientFactory.createAiravataCSClient(serverHost, serverPort);
-        } catch (CredentialStoreException e) {
-            throw new TException("Unable to create credential store 
client...", e);
-        }
-    }
-
-    private RegistryService.Client getRegistryServiceClient() throws 
TException, ApplicationSettingsException {
-        final int serverPort = 
Integer.parseInt(ServerSettings.getRegistryServerPort());
-        final String serverHost = ServerSettings.getRegistryServerHost();
-        try {
-            return 
RegistryServiceClientFactory.createRegistryClient(serverHost, serverPort);
-        } catch (RegistryServiceException e) {
-            throw new TException("Unable to create registry client...", e);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/IdentityContext.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/IdentityContext.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/IdentityContext.java
deleted file mode 100644
index 24cc225..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/IdentityContext.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-
-package org.apache.airavata.api.server.security;
-
-import org.apache.airavata.model.security.AuthzToken;
-
-/**
- * This provides a thread local container for AuthzToken through out the 
execution of a particular thread.
- */
-public class IdentityContext {
-    private static ThreadLocal authzTokenContainer = new ThreadLocal();
-
-    public static void set(AuthzToken authzToken){
-        authzTokenContainer.set(authzToken);
-    }
-
-    public static void unset(){
-        authzTokenContainer.remove();
-    }
-
-    public static AuthzToken get(){
-        return (AuthzToken) authzTokenContainer.get();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/Main.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/Main.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/Main.java
deleted file mode 100644
index cfd59c7..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/Main.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
-*/
-package org.apache.airavata.api.server.security;
-
-import org.apache.airavata.api.server.security.oauth.DefaultOAuthClient;
-import org.apache.airavata.api.server.security.xacml.DefaultXACMLPEP;
-import org.apache.airavata.common.utils.Constants;
-import org.apache.airavata.model.error.AuthenticationException;
-import org.apache.airavata.model.security.AuthzToken;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.oltu.oauth2.client.URLConnectionClient;
-import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest;
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
-import org.apache.oltu.oauth2.client.response.OAuthResourceResponse;
-import org.apache.oltu.oauth2.common.OAuth;
-import org.apache.oltu.oauth2.common.message.types.GrantType;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import 
org.wso2.carbon.identity.oauth2.stub.dto.OAuth2TokenValidationResponseDTO;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class Main {
-    private final static Logger logger = LoggerFactory.getLogger(Main.class);
-
-    private static String username = "scigap_admin";
-    private static String password = "sci9067@min";
-    private static String hostName = "https://idp.scigap.org:7443";;
-//    private static String clientId = "KUu0a74dFbrwvSxD3C_GhwKeNrQa";
-    private static String clientId = "O3iUdkkVYyHgzWPiVTQpY_tb96Ma";
-//    private static String clientSecret = "UTKb9nDOPsuWB4lEX39TwhkW8qIa";
-    private static String clientSecret = "6Ck1jZoa2oRtrzodSqkUZ2iINkUa";
-
-    public static void main(String[] args) throws AuthenticationException, 
AiravataSecurityException, AxisFault {
-        String accessToken = authenticate("[email protected]", 
"master").getAccess_token();
-        ConfigurationContext configContext =
-                
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, 
null);
-        DefaultOAuthClient defaultOAuthClient = new 
DefaultOAuthClient(hostName+"/services/",username,password, configContext);
-        OAuth2TokenValidationResponseDTO tokenValidationRequestDTO = 
defaultOAuthClient.validateAccessToken(accessToken);
-        String authorizedUser = tokenValidationRequestDTO.getAuthorizedUser();
-        AuthzToken authzToken = new AuthzToken();
-        authzToken.setAccessToken(accessToken);
-        Map<String, String> claimsMap = new HashMap<>();
-        claimsMap.put(Constants.USER_NAME, "scigap_admin");
-        claimsMap.put(Constants.API_METHOD_NAME, "/airavata/getAPIVersion");
-        authzToken.setClaimsMap(claimsMap);
-
-        DefaultXACMLPEP defaultXACMLPEP = new 
DefaultXACMLPEP(hostName+"/services/",username,password,configContext);
-        HashMap<String, String> metaDataMap = new HashMap();
-        boolean result = defaultXACMLPEP.getAuthorizationDecision(authzToken, 
metaDataMap);
-        System.out.println(result);
-    }
-
-    public static AuthResponse authenticate(String username,String password) 
throws AuthenticationException {
-        try {
-            OAuthClientRequest request = 
OAuthClientRequest.tokenLocation(hostName+"/oauth2/token").
-                    setClientId(clientId).setClientSecret(clientSecret).
-                    setGrantType(GrantType.PASSWORD).
-                    setRedirectURI("").
-                    setUsername(username).
-                    setPassword(password).
-                    setScope("openid").
-                    buildBodyMessage();
-
-
-            URLConnectionClient ucc = new URLConnectionClient();
-
-            org.apache.oltu.oauth2.client.OAuthClient oAuthClient = new 
org.apache.oltu.oauth2.client.OAuthClient(ucc);
-            OAuthResourceResponse resp = oAuthClient.resource(request, 
OAuth.HttpMethod.POST, OAuthResourceResponse.class);
-
-            //converting JSON to object
-            ObjectMapper mapper = new ObjectMapper();
-            AuthResponse authResponse;
-            try{
-                authResponse = mapper.readValue(resp.getBody(), 
AuthResponse.class);
-            }catch (Exception e){
-                return null;
-            }
-
-            String accessToken = authResponse.getAccess_token();
-            if(accessToken != null && !accessToken.isEmpty()){
-                request = new OAuthBearerClientRequest(hostName + 
"/oauth2/userinfo?schema=openid").
-                        buildQueryMessage();
-                ucc = new URLConnectionClient();
-                request.setHeader("Authorization","Bearer "+accessToken);
-                oAuthClient = new 
org.apache.oltu.oauth2.client.OAuthClient(ucc);
-                resp = oAuthClient.resource(request, OAuth.HttpMethod.GET,
-                        OAuthResourceResponse.class);
-                Map<String,String> profile = mapper.readValue(resp.getBody(), 
Map.class);
-                return authResponse;
-            }
-        }catch (Exception ex){
-            throw new AuthenticationException(ex.getMessage());
-        }
-        return null;
-    }
-}
-
-class AuthResponse{
-
-    private String token_type;
-    private int expires_in;
-    private String refresh_token;
-    private String access_token;
-    public String id_token;
-    private String scope;
-
-
-    public String getToken_type() {
-        return token_type;
-    }
-
-    public void setToken_type(String token_type) {
-        this.token_type = token_type;
-    }
-
-    public int getExpires_in() {
-        return expires_in;
-    }
-
-    public void setExpires_in(int expires_in) {
-        this.expires_in = expires_in;
-    }
-
-    public String getRefresh_token() {
-        return refresh_token;
-    }
-
-    public void setRefresh_token(String refresh_token) {
-        this.refresh_token = refresh_token;
-    }
-
-    public String getAccess_token() {
-        return access_token;
-    }
-
-    public void setAccess_token(String access_token) {
-        this.access_token = access_token;
-    }
-
-    public String getId_token() {
-        return id_token;
-    }
-
-    public void setId_token(String id_token) {
-        this.id_token = id_token;
-    }
-
-    public String getScope() {
-        return scope;
-    }
-
-    public void setScope(String scope) {
-        this.scope = scope;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityManagerFactory.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityManagerFactory.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityManagerFactory.java
deleted file mode 100644
index dc03b63..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/SecurityManagerFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This initializes an instance of the appropriate security manager according 
to the
- * configuration.
- */
-public class SecurityManagerFactory {
-    private final static Logger logger = 
LoggerFactory.getLogger(SecurityManagerFactory.class);
-
-    public static AiravataSecurityManager getSecurityManager() throws 
AiravataSecurityException {
-        try {
-            Class secManagerImpl = 
Class.forName(ServerSettings.getSecurityManagerClassName());
-            AiravataSecurityManager securityManager = 
(AiravataSecurityManager) secManagerImpl.newInstance();
-            return securityManager;
-        } catch (ClassNotFoundException e) {
-            String error = "Security Manager class could not be found.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (ApplicationSettingsException e) {
-            String error = "Error in reading the configuration related to 
Security Manager class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (InstantiationException e) {
-            String error = "Error in instantiating the Security Manager 
class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (IllegalAccessException e) {
-            String error = "Error in instantiating the Security Manager 
class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCache.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCache.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCache.java
deleted file mode 100644
index 48d3f01..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCache.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-public class AuthzCache extends LinkedHashMap<AuthzCacheIndex, 
AuthzCacheEntry> {
-
-    private static int MAX_SIZE;
-    private final static Logger logger = 
LoggerFactory.getLogger(AuthzCache.class);
-
-    private static AuthzCache authzCache = null;
-
-    public static AuthzCache getInstance() throws ApplicationSettingsException 
{
-        if (authzCache == null) {
-            synchronized (AuthzCache.class) {
-                if (authzCache == null) {
-                    authzCache = new AuthzCache(ServerSettings.getCacheSize());
-                }
-            }
-        }
-        return authzCache;
-    }
-
-    private AuthzCache(int initialCapacity) {
-        super(initialCapacity);
-        MAX_SIZE = initialCapacity;
-    }
-
-    @Override
-    protected boolean removeEldestEntry(Map.Entry<AuthzCacheIndex, 
AuthzCacheEntry> eldest) {
-        if (size() > MAX_SIZE) {
-            logger.info("Authz cache max size exceeded. Removing the old 
entries.");
-        }
-        return size() > MAX_SIZE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheEntry.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheEntry.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheEntry.java
deleted file mode 100644
index 03ca229..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheEntry.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-/**
- * Cache entry in the default authorization cache.
- */
-public class AuthzCacheEntry {
-    //authorization decision for the authorization request associated with 
this cache entry.
-    private boolean decision;
-    //time to live value for the access token in seconds.
-    private long expiryTime;
-    //time stamp in milli seconds at the time this entry is put into the cache
-    private long entryTimestamp;
-
-    public AuthzCacheEntry(boolean decision, long expiryTime, long 
entryTimestamp) {
-        this.decision = decision;
-        this.expiryTime = expiryTime;
-        this.entryTimestamp = entryTimestamp;
-    }
-
-    public long getEntryTimestamp() {
-        return entryTimestamp;
-    }
-
-    public void setEntryTimestamp(long entryTimestamp) {
-        this.entryTimestamp = entryTimestamp;
-    }
-
-    public long getExpiryTime() {
-        return expiryTime;
-    }
-
-    public void setExpiryTime(long timestamp) {
-        this.expiryTime = timestamp;
-    }
-
-    public boolean getDecision() {
-        return decision;
-    }
-
-    public void setDecision(boolean decision) {
-        this.decision = decision;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheIndex.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheIndex.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheIndex.java
deleted file mode 100644
index f73a59e..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheIndex.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-/**
- * Cache index of the default authorization cache.
- */
-public class AuthzCacheIndex {
-
-    private String subject;
-    private String oauthAccessToken;
-    private String action;
-    private String gatewayId;
-
-    public AuthzCacheIndex(String userName, String gatewayId, String 
accessToken, String actionString) {
-        this.subject = userName;
-        this.oauthAccessToken = accessToken;
-        this.action = actionString;
-        this.gatewayId = gatewayId;
-    }
-
-    public String getSubject() {
-        return subject;
-    }
-
-    public void setSubject(String subject) {
-        this.subject = subject;
-    }
-
-    public String getAction() {
-        return action;
-    }
-
-    public void setAction(String action) {
-        this.action = action;
-    }
-
-    public String getOauthAccessToken() {
-        return oauthAccessToken;
-    }
-
-    public void setOauthAccessToken(String oauthAccessToken) {
-        this.oauthAccessToken = oauthAccessToken;
-    }
-
-    public String getGatewayId() {
-        return gatewayId;
-    }
-
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    /*Equals and hash code methods are overridden since this is being used as 
an index of a map and that containsKey method
-        * should return true if the values of two index objects are equal.*/
-    @Override
-    public boolean equals(Object other) {
-        if (other == null || other.getClass() != getClass()) {
-            return false;
-        }
-        return ((this.getSubject().equals(((AuthzCacheIndex) 
other).getSubject()))
-                && (this.getGatewayId().equals(((AuthzCacheIndex) 
other).getGatewayId()))
-                && (this.getOauthAccessToken().equals(((AuthzCacheIndex) 
other).getOauthAccessToken()))
-                && (this.getAction().equals(((AuthzCacheIndex) 
other).getAction())));
-    }
-
-    @Override
-    public int hashCode() {
-        return this.getSubject().hashCode() + 
this.getOauthAccessToken().hashCode() + this.getGatewayId().hashCode()
-                + this.getAction().hashCode();
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManager.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManager.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManager.java
deleted file mode 100644
index 48cfb03..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManager.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-import org.apache.airavata.security.AiravataSecurityException;
-
-/**
- * This is the interface through which security manager accesses the 
underlying caching implementation
- * See the DefaultAuthzCacheManager.java for an example implementation of this 
interface.
- */
-public interface AuthzCacheManager {
-    /**
-     * Returns the status of the cache w.r.t the given authorization request 
which is encapsulated in
-     * the AuthzCacheIndex.
-     *
-     * @param authzCacheIndex
-     * @return
-     */
-    public AuthzCachedStatus getAuthzCachedStatus(AuthzCacheIndex 
authzCacheIndex) throws AiravataSecurityException;
-
-    /**
-     * Add to cache the authorization decision pertaining to a given 
authorization request.
-     *
-     * @param authzCacheIndex
-     * @param authzCacheEntry
-     * @throws AiravataSecurityException
-     */
-    public void addToAuthzCache(AuthzCacheIndex authzCacheIndex, 
AuthzCacheEntry authzCacheEntry) throws AiravataSecurityException;
-
-    /**
-     * Check if a valid decision is cached for a given authorization request.
-     *
-     * @param authzCacheIndex
-     * @return
-     */
-    public boolean isAuthzDecisionCached(AuthzCacheIndex authzCacheIndex) 
throws AiravataSecurityException;
-
-    /**
-     * Returns the AuthzCacheEntry for a given authorization request.
-     *
-     * @param authzCacheIndex
-     * @return
-     * @throws AiravataSecurityException
-     */
-    public AuthzCacheEntry getAuthzCacheEntry(AuthzCacheIndex authzCacheIndex) 
throws AiravataSecurityException;
-
-    /**
-     * Removes the authorization cache entry for a given authorization request.
-     *
-     * @param authzCacheIndex
-     * @throws AiravataSecurityException
-     */
-    public void removeAuthzCacheEntry(AuthzCacheIndex authzCacheIndex) throws 
AiravataSecurityException;
-
-    /**
-     * Clear the authorization cache.
-     *
-     * @return
-     */
-    public void clearCache() throws AiravataSecurityException;
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManagerFactory.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManagerFactory.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManagerFactory.java
deleted file mode 100644
index b555122..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCacheManagerFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-import org.apache.airavata.api.server.security.AiravataSecurityManager;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-/**
- * This initializes the AuthzCacheManager implementation to be used as defined 
by the configuration.
- */
-public class AuthzCacheManagerFactory {
-    private final static Logger logger = 
LoggerFactory.getLogger(AuthzCacheManagerFactory.class);
-
-    public static AuthzCacheManager getAuthzCacheManager() throws 
AiravataSecurityException {
-        try {
-            Class authzCacheManagerImpl = 
Class.forName(ServerSettings.getAuthzCacheManagerClassName());
-            AuthzCacheManager authzCacheManager  = (AuthzCacheManager) 
authzCacheManagerImpl.newInstance();
-            return  authzCacheManager;
-        } catch (ClassNotFoundException e) {
-            String error = "Authorization Cache Manager class could not be 
found.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (ApplicationSettingsException e) {
-            String error = "Error in reading the configuration related to 
Authorization Cache Manager class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (InstantiationException e) {
-            String error = "Error in instantiating the Authorization Cache 
Manager class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-        } catch (IllegalAccessException e) {
-            String error = "Error in instantiating the Authorization Cache 
Manager class.";
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException(error);
-
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCachedStatus.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCachedStatus.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCachedStatus.java
deleted file mode 100644
index e166265..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/AuthzCachedStatus.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-/**
- * This enum defines the status of the authorization cache returned by the 
authorization cache manager
- * when an authorization status is checked against an authorization request.
- */
-public enum AuthzCachedStatus {
-    /*Authorization decision is cached for the given authrization request and 
the decision authorizes the request.*/
-    AUTHORIZED,
-    /*Authorization decision is cached for the given authorization request and 
the decision denies authorization.*/
-    NOT_AUTHORIZED,
-    /*Authorization decision is not either cached or the cached entry is 
invalid such that re-authorization is needed.*/
-    NOT_CACHED
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/DefaultAuthzCacheManager.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/DefaultAuthzCacheManager.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/DefaultAuthzCacheManager.java
deleted file mode 100644
index 4c8276f..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/authzcache/DefaultAuthzCacheManager.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.authzcache;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DefaultAuthzCacheManager implements AuthzCacheManager {
-
-    private final static Logger logger = 
LoggerFactory.getLogger(DefaultAuthzCacheManager.class);
-
-    @Override
-    public AuthzCachedStatus getAuthzCachedStatus(AuthzCacheIndex 
authzCacheIndex) throws AiravataSecurityException {
-        if (isAuthzDecisionCached(authzCacheIndex)) {
-            AuthzCacheEntry cacheEntry = getAuthzCacheEntry(authzCacheIndex);
-            long expiryTime = cacheEntry.getExpiryTime();
-            long currentTime = System.currentTimeMillis();
-            long timePassed = (currentTime - cacheEntry.getEntryTimestamp()) / 
1000;
-            if (expiryTime > timePassed) {
-                //access token is still valid. Hence, return the cached 
decision
-                if (cacheEntry.getDecision()) {
-                    return AuthzCachedStatus.AUTHORIZED;
-                } else {
-                    return AuthzCachedStatus.NOT_AUTHORIZED;
-                }
-            } else {
-                //access token has been expired. Hence, remove the entry and 
return.
-                removeAuthzCacheEntry(authzCacheIndex);
-                return AuthzCachedStatus.NOT_CACHED;
-            }
-        } else {
-            return AuthzCachedStatus.NOT_CACHED;
-        }
-    }
-
-    @Override
-    public void addToAuthzCache(AuthzCacheIndex authzCacheIndex, 
AuthzCacheEntry authzCacheEntry) throws AiravataSecurityException {
-        try {
-            AuthzCache.getInstance().put(authzCacheIndex, authzCacheEntry);
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in obtaining the 
authorization cache instance.");
-        }
-    }
-
-    @Override
-    public boolean isAuthzDecisionCached(AuthzCacheIndex authzCacheIndex) 
throws AiravataSecurityException {
-        try {
-            return AuthzCache.getInstance().containsKey(authzCacheIndex);
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in obtaining the 
authorization cache instance.");
-        }
-    }
-
-    @Override
-    public AuthzCacheEntry getAuthzCacheEntry(AuthzCacheIndex authzCacheIndex) 
throws AiravataSecurityException {
-        try {
-            return AuthzCache.getInstance().get(authzCacheIndex);
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in obtaining the 
authorization cache instance.");
-        }
-    }
-
-    @Override
-    public void removeAuthzCacheEntry(AuthzCacheIndex authzCacheIndex) throws 
AiravataSecurityException {
-        try {
-            AuthzCache.getInstance().remove(authzCacheIndex);
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in obtaining the 
authorization cache instance.");
-        }
-    }
-
-    @Override
-    public void clearCache() throws AiravataSecurityException {
-        try {
-            AuthzCache.getInstance().clear();
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in obtaining the 
authorization cache instance.");
-
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityCheck.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityCheck.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityCheck.java
deleted file mode 100644
index d4b4952..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityCheck.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.interceptor;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import com.google.inject.BindingAnnotation;
-
-/**
- * This is just the definition of the annotation used to mark the API methods 
to be intercepted.
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD})
-@BindingAnnotation
-public @interface SecurityCheck {
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityInterceptor.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityInterceptor.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityInterceptor.java
deleted file mode 100644
index 1b4f0ad..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityInterceptor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.interceptor;
-
-import org.aopalliance.intercept.MethodInterceptor;
-import org.aopalliance.intercept.MethodInvocation;
-import org.apache.airavata.api.server.security.AiravataSecurityManager;
-import org.apache.airavata.api.server.security.IdentityContext;
-import org.apache.airavata.api.server.security.SecurityManagerFactory;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.Constants;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.model.error.AuthorizationException;
-import org.apache.airavata.model.security.AuthzToken;
-import org.apache.airavata.security.AiravataSecurityException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Interceptor of Airavata API calls for the purpose of applying security.
- */
-public class SecurityInterceptor implements MethodInterceptor {
-    private final static Logger logger = 
LoggerFactory.getLogger(SecurityInterceptor.class);
-
-    @Override
-    public Object invoke(MethodInvocation invocation) throws Throwable {
-        //obtain the authz token from the input parameters
-        AuthzToken authzToken = (AuthzToken) invocation.getArguments()[0];
-        //authorize the API call
-        HashMap<String, String> metaDataMap = new HashMap();
-        metaDataMap.put(Constants.API_METHOD_NAME, 
invocation.getMethod().getName());
-        authorize(authzToken, metaDataMap);
-        //set the user identity info in a thread local to be used in 
downstream execution.
-        IdentityContext.set(authzToken);
-        //let the method call procees upon successful authorization
-        Object returnObj = invocation.proceed();
-        //clean the identity context before the method call returns
-        IdentityContext.unset();
-        return returnObj;
-    }
-
-    private void authorize(AuthzToken authzToken, Map<String, String> 
metaData) throws AuthorizationException {
-        try {
-            boolean isAPISecured = ServerSettings.isAPISecured();
-            if (isAPISecured) {
-                AiravataSecurityManager securityManager = 
SecurityManagerFactory.getSecurityManager();
-                boolean isAuthz = securityManager.isUserAuthorized(authzToken, 
metaData);
-                if (!isAuthz) {
-                    throw new AuthorizationException("User is not 
authenticated or authorized.");
-                }
-            }
-        } catch (AiravataSecurityException e) {
-            logger.error(e.getMessage(), e);
-            throw new AuthorizationException("Error in authenticating or 
authorizing user.");
-        } catch (ApplicationSettingsException e) {
-            logger.error(e.getMessage(), e);
-            throw new AuthorizationException("Internal error in authenticating 
or authorizing user.");
-        }
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityModule.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityModule.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityModule.java
deleted file mode 100644
index 92ca167..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/interceptor/SecurityModule.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.interceptor;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.matcher.Matchers;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This does the plumbing work of integrating the interceptor with Guice 
framework for the methods to be
- * intercepted upon their invocation.
- */
-public class SecurityModule extends AbstractModule {
-    private final static Logger logger = 
LoggerFactory.getLogger(SecurityModule.class);
-
-    public void configure(){
-        logger.info("Security module reached...");
-        SecurityInterceptor interceptor = new SecurityInterceptor();
-        //requestInjection(interceptor);
-
-        bindInterceptor(Matchers.any(), 
Matchers.annotatedWith(SecurityCheck.class), interceptor);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d55608f1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/oauth/DefaultOAuthClient.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/oauth/DefaultOAuthClient.java
 
b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/oauth/DefaultOAuthClient.java
deleted file mode 100644
index 0c8d0e3..0000000
--- 
a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/oauth/DefaultOAuthClient.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF 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.
- *
- */
-package org.apache.airavata.api.server.security.oauth;
-
-import org.apache.airavata.security.AiravataSecurityException;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.ConfigurationContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.wso2.carbon.identity.oauth2.stub.OAuth2TokenValidationServiceStub;
-import 
org.wso2.carbon.identity.oauth2.stub.dto.OAuth2TokenValidationRequestDTO;
-import 
org.wso2.carbon.identity.oauth2.stub.dto.OAuth2TokenValidationRequestDTO_OAuth2AccessToken;
-import 
org.wso2.carbon.identity.oauth2.stub.dto.OAuth2TokenValidationResponseDTO;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.rmi.RemoteException;
-
-/**
- * This is the default OAuth Client that talks to WSO2 IS's OAuth 
Authentication Server
- * to get the OAuth token validated.
- */
-public class DefaultOAuthClient {
-
-    private OAuth2TokenValidationServiceStub stub;
-    private final static Logger logger = 
LoggerFactory.getLogger(DefaultOAuthClient.class);
-    public static final String BEARER_TOKEN_TYPE = "bearer";
-
-    /**
-     * OAuth2TokenValidationService Admin Service Client
-     *
-     * @param auhorizationServerURL
-     * @param username
-     * @param password
-     * @param configCtx
-     * @throws Exception
-     */
-    public DefaultOAuthClient(String auhorizationServerURL, String username, 
String password,
-                              ConfigurationContext configCtx) throws 
AiravataSecurityException {
-        try {
-            String serviceURL = auhorizationServerURL + 
"OAuth2TokenValidationService";
-            stub = new OAuth2TokenValidationServiceStub(configCtx, serviceURL);
-            CarbonUtils.setBasicAccessSecurityHeaders(username, password, 
true, stub._getServiceClient());
-        } catch (AxisFault e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error initializing OAuth 
client.");
-        }
-    }
-
-    /**
-     * Validates the OAuth 2.0 access token
-     *
-     * @param accessToken
-     * @return
-     * @throws Exception
-     */
-    public OAuth2TokenValidationResponseDTO validateAccessToken(String 
accessToken)
-            throws AiravataSecurityException {
-
-        try {
-            OAuth2TokenValidationRequestDTO oauthReq = new 
OAuth2TokenValidationRequestDTO();
-            OAuth2TokenValidationRequestDTO_OAuth2AccessToken token =
-                    new OAuth2TokenValidationRequestDTO_OAuth2AccessToken();
-            token.setIdentifier(accessToken);
-            token.setTokenType(BEARER_TOKEN_TYPE);
-            oauthReq.setAccessToken(token);
-            return stub.validate(oauthReq);
-        } catch (RemoteException e) {
-            logger.error(e.getMessage(), e);
-            throw new AiravataSecurityException("Error in validating the OAuth 
access token.");
-        }
-    }
-
-}

Reply via email to