use of org.wso2.carbon.apimgt.impl.dto.ThrottleProperties in project carbon-apimgt by wso2.
the class AbstractAPIManagerTestCase method testGetPoliciesExcludingUnAuthenticatedTier.
@Test
public void testGetPoliciesExcludingUnAuthenticatedTier() throws APIManagementException, org.wso2.carbon.user.api.UserStoreException, RegistryException, XMLStreamException {
SubscriptionPolicy[] policies3 = { new SubscriptionPolicy("policy4"), new SubscriptionPolicy("policy5"), new SubscriptionPolicy("policy6"), new SubscriptionPolicy(APIConstants.UNAUTHENTICATED_TIER), new SubscriptionPolicy(APIConstants.UNLIMITED_TIER) };
PowerMockito.mockStatic(APIUtil.class);
BDDMockito.when(APIUtil.getTenantId(Mockito.anyString())).thenReturn(-1234);
PowerMockito.when(APIUtil.replaceSystemProperty(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> {
Object[] args = invocation.getArguments();
return (String) args[0];
});
AbstractAPIManager abstractAPIManager = new AbstractAPIManagerWrapper(apiMgtDAO);
Mockito.when(apiMgtDAO.getSubscriptionPolicies(Mockito.anyInt())).thenReturn(policies3);
ServiceReferenceHolder sh = mockRegistryAndUserRealm(-1234);
APIManagerConfigurationService amConfigService = Mockito.mock(APIManagerConfigurationService.class);
APIManagerConfiguration amConfig = Mockito.mock(APIManagerConfiguration.class);
ThrottleProperties throttleProperties = Mockito.mock(ThrottleProperties.class);
PowerMockito.when(sh.getAPIManagerConfigurationService()).thenReturn(amConfigService);
PowerMockito.when(amConfigService.getAPIManagerConfiguration()).thenReturn(amConfig);
PowerMockito.when(amConfig.getThrottleProperties()).thenReturn(throttleProperties);
Mockito.when(throttleProperties.isEnableUnlimitedTier()).thenReturn(false);
Assert.assertEquals(3, abstractAPIManager.getPolicies(API_PROVIDER, PolicyConstants.POLICY_LEVEL_SUB).length);
}
use of org.wso2.carbon.apimgt.impl.dto.ThrottleProperties in project carbon-apimgt by wso2.
the class ThrottlePolicyDeployerComponent method activate.
@Activate
protected void activate(ComponentContext context) {
log.debug("Activating component...");
APIManagerConfiguration configuration = ServiceReferenceHolder.getInstance().getAPIMConfiguration();
if (configuration == null) {
log.warn("API Manager Configuration not properly set.");
return;
}
ThrottleProperties throttleProperties = configuration.getThrottleProperties();
if (throttleProperties.isEnablePolicyDeployment()) {
ThrottlePolicyStartupListener throttlePolicyStartupListener = new ThrottlePolicyStartupListener();
registration = context.getBundleContext().registerService(ServerStartupObserver.class, throttlePolicyStartupListener, null);
registration = context.getBundleContext().registerService(ServerShutdownHandler.class, throttlePolicyStartupListener, null);
registration = context.getBundleContext().registerService(JMSListenerShutDownService.class, throttlePolicyStartupListener, null);
}
}
use of org.wso2.carbon.apimgt.impl.dto.ThrottleProperties in project carbon-apimgt by wso2.
the class AbstractAPIManager method getPolicies.
public Policy[] getPolicies(String username, String level) throws APIManagementException {
Policy[] policies = null;
int tenantID = APIUtil.getTenantId(username);
if (PolicyConstants.POLICY_LEVEL_API.equals(level)) {
policies = apiMgtDAO.getAPIPolicies(tenantID);
} else if (PolicyConstants.POLICY_LEVEL_APP.equals(level)) {
policies = apiMgtDAO.getApplicationPolicies(tenantID);
} else if (PolicyConstants.POLICY_LEVEL_SUB.equals(level)) {
policies = apiMgtDAO.getSubscriptionPolicies(tenantID);
} else if (PolicyConstants.POLICY_LEVEL_GLOBAL.equals(level)) {
policies = apiMgtDAO.getGlobalPolicies(tenantID);
}
// Get the API Manager configurations and check whether the unlimited tier is disabled. If disabled, remove
// the tier from the array.
APIManagerConfiguration apiManagerConfiguration = ServiceReferenceHolder.getInstance().getAPIManagerConfigurationService().getAPIManagerConfiguration();
ThrottleProperties throttleProperties = apiManagerConfiguration.getThrottleProperties();
List<Policy> policiesWithoutUnlimitedTier = new ArrayList<Policy>();
if (policies != null) {
for (Policy policy : policies) {
if (APIConstants.UNLIMITED_TIER.equals(policy.getPolicyName())) {
if (throttleProperties.isEnableUnlimitedTier()) {
policiesWithoutUnlimitedTier.add(policy);
}
} else if (!APIConstants.UNAUTHENTICATED_TIER.equals(policy.getPolicyName())) {
policiesWithoutUnlimitedTier.add(policy);
}
}
}
policies = policiesWithoutUnlimitedTier.toArray(new Policy[0]);
return policies;
}
use of org.wso2.carbon.apimgt.impl.dto.ThrottleProperties in project wso2-synapse by wso2.
the class ThrottleUtil method loadThrottlePropertiesFromConfigurations.
/**
* This method used to set throttle properties loaded from throttle.properties file in configuration folder
*
* @return properties of throttle properties
*/
public static ThrottleProperties loadThrottlePropertiesFromConfigurations() {
ThrottleProperties throttleProperties = new ThrottleProperties();
Properties properties = new Properties();
String throttlePropertiesFileLocation;
if (System.getProperty(CONF_LOCATION) != null) {
throttlePropertiesFileLocation = System.getProperty(CONF_LOCATION) + File.separator + "throttle.properties";
try {
properties.load(new FileInputStream(throttlePropertiesFileLocation));
SecretResolver secretResolver = SecretResolverFactory.create(properties);
Set<String> keys = properties.stringPropertyNames();
for (String key : keys) {
if (ThrottleConstants.THROTTLE_CONTEXT_CLEANUP_TASK_FREQUENCY.equals(key)) {
String throttleFrequency = properties.getProperty(key);
if (!StringUtils.isEmpty(throttleFrequency)) {
throttleProperties.setThrottleFrequency(throttleFrequency);
}
}
if (ThrottleConstants.THROTTLE_CONTEXT_DISTRIBUTED_CLEANUP_TASK_FREQUENCY.equals(key)) {
String throttleContextDistributedCleanupTaskFrequency = properties.getProperty(key);
if (throttleContextDistributedCleanupTaskFrequency != null && !throttleContextDistributedCleanupTaskFrequency.equals("")) {
throttleProperties.setThrottleContextDistributedCleanupTaskFrequency(throttleContextDistributedCleanupTaskFrequency);
}
}
if (ThrottleConstants.THROTTLE_CONTEXT_DISTRIBUTED_EXPIRED_INSTANCE_TIME.equals(key)) {
String throttleContextDistributedExpiredInstanceTime = properties.getProperty(key);
if (throttleContextDistributedExpiredInstanceTime != null && !throttleContextDistributedExpiredInstanceTime.equals("")) {
throttleProperties.setThrottleContextDistributedExpiredInstanceTime(throttleContextDistributedExpiredInstanceTime);
}
}
if (ThrottleConstants.THROTTLE_DISTRIBUTED_CLEANUP_POOL_SIZE.equals(key)) {
String throttleDistributedCleanupPoolSize = properties.getProperty(key);
if (throttleDistributedCleanupPoolSize != null && throttleDistributedCleanupPoolSize != "") {
throttleProperties.setThrottleDistributedCleanupPoolSize(throttleDistributedCleanupPoolSize);
}
}
if (ThrottleConstants.THROTTLE_DISTRIBUTED_CLEANUP_AMOUNT.equals(key)) {
String throttleDistributedCleanupAmount = properties.getProperty(key);
if (throttleDistributedCleanupAmount != null && throttleDistributedCleanupAmount != "") {
throttleProperties.setThrottleDistributedCleanupAmount(throttleDistributedCleanupAmount);
}
}
if (ThrottleConstants.THROTTLE_DISTRIBUTED_CLEANUP_TASK_ENABLE.equals(key)) {
String throttleDistributedCleanupTaskEnable = properties.getProperty(key);
if (throttleDistributedCleanupTaskEnable != null && throttleDistributedCleanupTaskEnable != "") {
throttleProperties.setThrottleDistributedCleanupTaskEnable(throttleDistributedCleanupTaskEnable);
}
}
if (ThrottleConstants.MAX_NON_ASSOCIATED_COUNTER_CLEANUP_AMOUNT.equals(key)) {
String maxNonAssociatedCounterCleanupAmount = properties.getProperty(key);
if (maxNonAssociatedCounterCleanupAmount != null && maxNonAssociatedCounterCleanupAmount != "") {
throttleProperties.setMaxNonAssociatedCounterCleanupAmount(maxNonAssociatedCounterCleanupAmount);
}
}
if (ThrottleConstants.THROTTLING_POOL_SIZE.equals(key)) {
String throttlingPoolSize = properties.getProperty(key);
if (throttlingPoolSize != null && throttlingPoolSize != "") {
throttleProperties.setThrottlingPoolSize(throttlingPoolSize);
}
}
if (ThrottleConstants.THROTTLING_REPLICATION_FREQUENCY.equals(key)) {
String throttlingReplicationFrequency = properties.getProperty(key);
if (throttlingReplicationFrequency != null && throttlingReplicationFrequency != "") {
throttleProperties.setThrottlingReplicationFrequency(throttlingReplicationFrequency);
}
}
if (ThrottleConstants.THROTTLING_KEYS_TO_REPLICATE.equals(key)) {
String throttlingKeysToReplicate = properties.getProperty(key);
if (throttlingKeysToReplicate != null && throttlingKeysToReplicate != "") {
throttleProperties.setThrottlingKeysToReplicates(throttlingKeysToReplicate);
}
}
if (ThrottleConstants.WINDOW_REPLICATOR_POOL_SIZE.equals(key)) {
String windowReplicatorPoolSize = properties.getProperty(key);
if (windowReplicatorPoolSize != null && windowReplicatorPoolSize != "") {
throttleProperties.setWindowReplicatorPoolSize(windowReplicatorPoolSize);
}
}
if (ThrottleConstants.WINDOW_REPLICATOR_FREQUENCY.equals(key)) {
String windowReplicatorFrequency = properties.getProperty(key);
if (windowReplicatorFrequency != null && windowReplicatorFrequency != "") {
throttleProperties.setWindowReplicatorFrequency(windowReplicatorFrequency);
}
}
if (ThrottleConstants.DISTRIBUTED_COUNTER_TYPE.equals(key)) {
String distributedCounterType = properties.getProperty(key);
if (distributedCounterType != null && !distributedCounterType.equals("")) {
throttleProperties.setDistributedCounterType(distributedCounterType);
}
}
if (key.contains(ThrottleConstants.DISTRIBUTED_COUNTER_CONFIGURATIONS)) {
String distributedConfiguration = properties.getProperty(key);
String configuration = key.split(ThrottleConstants.DISTRIBUTED_COUNTER_CONFIGURATIONS)[1];
if (StringUtils.isNotEmpty(distributedConfiguration)) {
throttleProperties.getDistributedCounterConfigurations().put(configuration, getResolvedValue(secretResolver, distributedConfiguration));
}
}
}
} catch (IOException e) {
log.debug("Setting the Default Throttle Properties");
}
} else {
log.debug("Setting the Default Throttle Properties");
}
return throttleProperties;
}
Aggregations