You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by gn...@apache.org on 2017/02/09 09:37:22 UTC
ambari git commit: AMBARI-19891 - Extend View URL's to auto instances
This commit creates a default view URL for each view using the view name .
(Ashwin Rajeev via gauravn7)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 28bff4a7a -> 8f22a3b88
AMBARI-19891 - Extend View URL's to auto instances This commit creates a default view URL for each view using the view name . (Ashwin Rajeev via gauravn7)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8f22a3b8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8f22a3b8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8f22a3b8
Branch: refs/heads/branch-2.5
Commit: 8f22a3b884111d23c1a0ef505a7b246640858fa4
Parents: 28bff4a
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Thu Feb 9 15:07:04 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Thu Feb 9 15:07:04 2017 +0530
----------------------------------------------------------------------
.../apache/ambari/server/orm/dao/ViewDAO.java | 9 +-
.../apache/ambari/server/view/ViewRegistry.java | 210 ++++++++++++-------
2 files changed, 143 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/8f22a3b8/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
index 213a6b8..7f5f82b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ViewDAO.java
@@ -18,6 +18,7 @@
package org.apache.ambari.server.orm.dao;
+import com.google.common.collect.Lists;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
@@ -27,6 +28,7 @@ import org.apache.ambari.server.orm.entities.ViewEntity;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -60,15 +62,16 @@ public class ViewDAO {
* @return a matching view or null
*/
@RequiresSession
- public ViewEntity findByCommonName(String viewCommonName) {
+ public List<ViewEntity> findByCommonName(String viewCommonName) {
+ List<ViewEntity> list = Lists.newArrayList();
if (viewCommonName != null) {
for (ViewEntity viewEntity : findAll()) {
if (viewCommonName.equals(viewEntity.getCommonName())) {
- return viewEntity;
+ list.add(viewEntity);
}
}
}
- return null;
+ return list;
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/8f22a3b8/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index a012d1e..3bb06d7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -43,6 +43,8 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.ClusterNotFoundException;
import org.apache.ambari.server.api.resources.ResourceInstanceFactoryImpl;
@@ -70,6 +72,7 @@ import org.apache.ambari.server.orm.dao.ResourceTypeDAO;
import org.apache.ambari.server.orm.dao.UserDAO;
import org.apache.ambari.server.orm.dao.ViewDAO;
import org.apache.ambari.server.orm.dao.ViewInstanceDAO;
+import org.apache.ambari.server.orm.dao.ViewURLDAO;
import org.apache.ambari.server.orm.entities.GroupEntity;
import org.apache.ambari.server.orm.entities.MemberEntity;
import org.apache.ambari.server.orm.entities.PermissionEntity;
@@ -85,6 +88,7 @@ import org.apache.ambari.server.orm.entities.ViewInstanceDataEntity;
import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
import org.apache.ambari.server.orm.entities.ViewParameterEntity;
import org.apache.ambari.server.orm.entities.ViewResourceEntity;
+import org.apache.ambari.server.orm.entities.ViewURLEntity;
import org.apache.ambari.server.security.SecurityHelper;
import org.apache.ambari.server.security.authorization.AuthorizationHelper;
import org.apache.ambari.server.security.authorization.ResourceType;
@@ -151,6 +155,7 @@ public class ViewRegistry {
private static final String LOG4J = "log4j.";
public static final String API_PREFIX = "/api/v1/clusters/";
+ public static final String DEFAULT_AUTO_INSTANCE_URL = "auto_instance";
/**
* Thread pool
@@ -166,25 +171,25 @@ public class ViewRegistry {
* Mapping of view instances to view definition and instance name.
*/
private Map<ViewEntity, Map<String, ViewInstanceEntity>> viewInstanceDefinitions =
- new HashMap<ViewEntity, Map<String, ViewInstanceEntity>>();
+ new HashMap<ViewEntity, Map<String, ViewInstanceEntity>>();
/**
* Mapping of view names to sub-resources.
*/
private final Map<String, Set<SubResourceDefinition>> subResourceDefinitionsMap =
- new ConcurrentHashMap<String, Set<SubResourceDefinition>>();
+ new ConcurrentHashMap<String, Set<SubResourceDefinition>>();
/**
* Mapping of view types to resource providers.
*/
private final Map<Resource.Type, ResourceProvider> resourceProviders =
- new ConcurrentHashMap<Resource.Type, ResourceProvider>();
+ new ConcurrentHashMap<Resource.Type, ResourceProvider>();
/**
* Mapping of view names to registered listeners.
*/
private final Map<String, Set<Listener>> listeners =
- new ConcurrentHashMap<String, Set<Listener>>();
+ new ConcurrentHashMap<String, Set<Listener>>();
/**
* The singleton view registry instance.
@@ -315,6 +320,9 @@ public class ViewRegistry {
@Inject
RemoteAmbariClusterDAO remoteAmbariClusterDAO;
+ @Inject
+ ViewURLDAO viewURLDAO;
+
// ----- Constructors -----------------------------------------------------
/**
@@ -429,7 +437,7 @@ public class ViewRegistry {
*/
public ViewInstanceEntity getInstanceDefinition(String viewName, String version, String instanceName) {
Map<String, ViewInstanceEntity> viewInstanceDefinitionMap =
- viewInstanceDefinitions.get(getDefinition(viewName, version));
+ viewInstanceDefinitions.get(getDefinition(viewName, version));
return viewInstanceDefinitionMap == null ? null : viewInstanceDefinitionMap.get(instanceName);
}
@@ -501,7 +509,7 @@ public class ViewRegistry {
* @return the set of sub-resource definitions
*/
public Set<SubResourceDefinition> getSubResourceDefinitions(
- String viewName, String version) {
+ String viewName, String version) {
viewName = ViewEntity.getViewName(viewName, version);
@@ -538,7 +546,7 @@ public class ViewRegistry {
ViewEntity viewEntity = getDefinition(instanceEntity.getViewName());
return viewEntity != null &&
- (getInstanceDefinition(viewEntity.getCommonName(), viewEntity.getVersion(), instanceEntity.getName()) != null);
+ (getInstanceDefinition(viewEntity.getCommonName(), viewEntity.getVersion(), instanceEntity.getName()) != null);
}
/**
@@ -551,7 +559,7 @@ public class ViewRegistry {
* @throws SystemException if the instance can not be installed
*/
public void installViewInstance(ViewInstanceEntity instanceEntity)
- throws ValidationException, IllegalArgumentException, SystemException {
+ throws ValidationException, IllegalArgumentException, SystemException {
ViewEntity viewEntity = getDefinition(instanceEntity.getViewName());
if (viewEntity != null) {
@@ -562,7 +570,7 @@ public class ViewRegistry {
if (getInstanceDefinition(viewName, version, instanceName) == null) {
if (LOG.isDebugEnabled()) {
LOG.debug("Creating view instance " + viewName + "/" +
- version + "/" + instanceName);
+ version + "/" + instanceName);
}
instanceEntity.validate(viewEntity, Validator.ValidationContext.PRE_CREATE);
@@ -590,7 +598,7 @@ public class ViewRegistry {
} else {
String message = "Attempt to install an instance for an unknown view " +
- instanceEntity.getViewName() + ".";
+ instanceEntity.getViewName() + ".";
LOG.error(message);
throw new IllegalArgumentException(message);
@@ -605,7 +613,7 @@ public class ViewRegistry {
* @throws SystemException if the instance can not be updated
*/
public void updateViewInstance(ViewInstanceEntity instanceEntity)
- throws ValidationException, SystemException {
+ throws ValidationException, SystemException {
ViewEntity viewEntity = getDefinition(instanceEntity.getViewName());
if (viewEntity != null) {
@@ -660,7 +668,7 @@ public class ViewRegistry {
}
if (LOG.isDebugEnabled()) {
LOG.debug("Deleting view instance " + viewName + "/" +
- version + "/" + instanceName);
+ version + "/" + instanceName);
}
List<PrivilegeEntity> instancePrivileges = privilegeDAO.findByResourceId(instanceEntity.getResource().getId());
for (PrivilegeEntity privilegeEntity : instancePrivileges) {
@@ -702,7 +710,7 @@ public class ViewRegistry {
public void copyPrivileges(ViewInstanceEntity sourceInstanceEntity,
ViewInstanceEntity targetInstanceEntity) {
LOG.debug("Copy all privileges from " + sourceInstanceEntity.getName() + " to " +
- targetInstanceEntity.getName());
+ targetInstanceEntity.getName());
List<PrivilegeEntity> targetInstancePrivileges = privilegeDAO.findByResourceId(targetInstanceEntity.getResource().getId());
if (targetInstancePrivileges.size() > 0) {
LOG.warn("Target instance {} already has privileges assigned, these will not be deleted. Manual clean up may be needed", targetInstanceEntity.getName());
@@ -827,7 +835,7 @@ public class ViewRegistry {
public boolean checkPermission(String viewName, String version, String instanceName, boolean readOnly) {
ViewInstanceEntity instanceEntity =
- instanceName == null ? null : getInstanceDefinition(viewName, version, instanceName);
+ instanceName == null ? null : getInstanceDefinition(viewName, version, instanceName);
return checkPermission(instanceEntity, readOnly);
}
@@ -995,6 +1003,62 @@ public class ViewRegistry {
viewInstanceEntity.setClusterHandle(clusterId);
installViewInstance(viewInstanceEntity);
setViewInstanceRoleAccess(viewInstanceEntity, roles);
+
+ try {
+ setViewUrl(viewInstanceEntity);
+ } catch (Exception urlCreateException) {
+ LOG.error("Error while creating an auto URL for the view instance {}, Url should be created in view instance settings", viewInstanceEntity.getViewName());
+ LOG.error("View URL creation error ", urlCreateException);
+ }
+
+
+ }
+
+ private String getUrlName(ViewInstanceEntity viewInstanceEntity) {
+ return viewInstanceEntity.getViewEntity().getCommonName().toLowerCase() + "_" + viewInstanceEntity.getInstanceName().toLowerCase();
+ }
+
+ private void setViewUrl(ViewInstanceEntity instanceEntity) {
+ ViewInstanceEntity viewInstanceEntity = instanceDAO.findByName(instanceEntity.getViewName(), instanceEntity.getInstanceName());
+ Preconditions.checkNotNull(viewInstanceEntity);
+ ViewURLEntity viewUrl = viewInstanceEntity.getViewUrl();
+ // check if there is a URL attached
+ if (viewUrl != null) {
+ LOG.warn("Url exists for the auto instance {}, new url will not be created", viewInstanceEntity.getViewName());
+ return;
+ }
+
+ String urlName = getUrlName(viewInstanceEntity);
+ //Check if a URL exists with the same name
+ Optional<ViewURLEntity> existingUrl = viewURLDAO.findByName(urlName);
+ // remove any pre-existing URL's before creating new URL's
+ ViewURLEntity urlEntity = new ViewURLEntity();
+ urlEntity.setUrlName(urlName);
+
+ urlEntity.setUrlSuffix(viewInstanceEntity.getInstanceName().toLowerCase());
+
+ ViewURLEntity toSaveOrUpdate = existingUrl.or(urlEntity);
+ toSaveOrUpdate.setViewInstanceEntity(viewInstanceEntity);
+
+ if (existingUrl.isPresent()) {
+ LOG.info("Url already present for {}",viewInstanceEntity.getViewName());
+ viewURLDAO.update(toSaveOrUpdate);
+ } else {
+ LOG.info("Creating a new URL for auto instance {}",viewInstanceEntity.getViewName());
+ viewURLDAO.save(urlEntity);
+ }
+ // Update the view with the URL
+ viewInstanceEntity.setViewUrl(urlEntity);
+ try {
+ updateViewInstance(viewInstanceEntity);
+ } catch (Exception ex) {
+ LOG.error("Could not update the view instance with new URL, removing URL", ex);
+ // Clean up
+ Optional<ViewURLEntity> viewURLDAOByName = viewURLDAO.findByName(urlName);
+ if(viewURLDAOByName.isPresent())
+ viewURLDAO.delete(viewURLDAOByName.get());
+ }
+
}
@Subscribe
@@ -1026,7 +1090,7 @@ public class ViewRegistry {
List<String> autoCreateServices = autoConfig.getServices();
if (autoCreateServices != null && autoCreateServices.contains(serviceName) &&
- serviceNames.containsAll(autoCreateServices)) {
+ serviceNames.containsAll(autoCreateServices)) {
String configStackId = autoConfig.getStackId();
@@ -1083,7 +1147,7 @@ public class ViewRegistry {
// setup the given view definition
protected ViewEntity setupViewDefinition(ViewEntity viewDefinition, ClassLoader cl)
- throws ClassNotFoundException, IntrospectionException {
+ throws ClassNotFoundException, IntrospectionException {
ViewConfig viewConfig = viewDefinition.getConfiguration();
@@ -1117,13 +1181,13 @@ public class ViewRegistry {
Resource.Type externalResourceType = viewDefinition.getExternalResourceType();
ViewExternalSubResourceProvider viewExternalSubResourceProvider =
- new ViewExternalSubResourceProvider(externalResourceType, viewDefinition);
+ new ViewExternalSubResourceProvider(externalResourceType, viewDefinition);
viewDefinition.addResourceProvider(externalResourceType, viewExternalSubResourceProvider);
resourceProviders.put(externalResourceType, viewExternalSubResourceProvider);
ResourceInstanceFactoryImpl.addResourceDefinition(externalResourceType,
- new ViewExternalSubResourceDefinition(externalResourceType));
+ new ViewExternalSubResourceDefinition(externalResourceType));
Collection<ViewResourceEntity> resources = new HashSet<ViewResourceEntity>();
for (ResourceConfig resourceConfiguration : resourceConfigurations) {
@@ -1203,7 +1267,7 @@ public class ViewRegistry {
// create a new view instance definition
protected ViewInstanceEntity createViewInstanceDefinition(ViewConfig viewConfig, ViewEntity viewDefinition,
InstanceConfig instanceConfig)
- throws ValidationException, ClassNotFoundException, SystemException {
+ throws ValidationException, ClassNotFoundException, SystemException {
ViewInstanceEntity viewInstanceDefinition = createViewInstanceEntity(viewDefinition, viewConfig, instanceConfig);
viewInstanceDefinition.validate(viewDefinition, Validator.ValidationContext.PRE_CREATE);
@@ -1214,9 +1278,9 @@ public class ViewRegistry {
// create a view instance from the given configuration
private ViewInstanceEntity createViewInstanceEntity(ViewEntity viewDefinition, ViewConfig viewConfig,
InstanceConfig instanceConfig)
- throws SystemException {
+ throws SystemException {
ViewInstanceEntity viewInstanceDefinition =
- new ViewInstanceEntity(viewDefinition, instanceConfig);
+ new ViewInstanceEntity(viewDefinition, instanceConfig);
Map<String, String> properties = new HashMap<String, String>();
@@ -1233,13 +1297,13 @@ public class ViewRegistry {
// bind a view instance definition to the given view definition
protected void bindViewInstance(ViewEntity viewDefinition,
ViewInstanceEntity viewInstanceDefinition)
- throws ClassNotFoundException {
+ throws ClassNotFoundException {
viewInstanceDefinition.setViewEntity(viewDefinition);
ViewContext viewInstanceContext = new ViewContextImpl(viewInstanceDefinition, this);
ViewExternalSubResourceService externalSubResourceService =
- new ViewExternalSubResourceService(viewDefinition.getExternalResourceType(), viewInstanceDefinition);
+ new ViewExternalSubResourceService(viewDefinition.getExternalResourceType(), viewInstanceDefinition);
viewInstanceDefinition.addService(ResourceConfig.EXTERNAL_RESOURCE_PLURAL_NAME, externalSubResourceService);
@@ -1260,7 +1324,7 @@ public class ViewRegistry {
} else {
viewInstanceDefinition.addService(viewDefinition.getResourceDefinition(type).getPluralName(), service);
viewInstanceDefinition.addResourceProvider(type,
- getProvider(resourceConfig.getProviderClass(cl), viewInstanceContext));
+ getProvider(resourceConfig.getProviderClass(cl), viewInstanceContext));
}
}
viewDefinition.addInstanceDefinition(viewInstanceDefinition);
@@ -1301,9 +1365,9 @@ public class ViewRegistry {
@Override
protected void configure() {
bind(ViewResourceHandler.class)
- .toInstance(viewResourceHandler);
+ .toInstance(viewResourceHandler);
bind(ViewContext.class)
- .toInstance(viewInstanceContext);
+ .toInstance(viewInstanceContext);
}
});
return viewInstanceInjector.getInstance(clazz);
@@ -1311,13 +1375,13 @@ public class ViewRegistry {
// get the given resource provider class from the given class loader; inject a context
private static org.apache.ambari.view.ResourceProvider getProvider(
- Class<? extends org.apache.ambari.view.ResourceProvider> clazz,
- final ViewContext viewInstanceContext) {
+ Class<? extends org.apache.ambari.view.ResourceProvider> clazz,
+ final ViewContext viewInstanceContext) {
Injector viewInstanceInjector = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(ViewContext.class)
- .toInstance(viewInstanceContext);
+ .toInstance(viewInstanceContext);
}
});
return viewInstanceInjector.getInstance(clazz);
@@ -1330,7 +1394,7 @@ public class ViewRegistry {
@Override
protected void configure() {
bind(ViewContext.class)
- .toInstance(viewContext);
+ .toInstance(viewContext);
}
});
return viewInstanceInjector.getInstance(clazz);
@@ -1343,7 +1407,7 @@ public class ViewRegistry {
@Override
protected void configure() {
bind(ViewContext.class)
- .toInstance(viewContext);
+ .toInstance(viewContext);
}
});
return viewInstanceInjector.getInstance(clazz);
@@ -1383,7 +1447,7 @@ public class ViewRegistry {
*/
private void syncView(ViewEntity view,
Set<ViewInstanceEntity> instanceDefinitions)
- throws Exception {
+ throws Exception {
String viewName = view.getName();
ViewEntity persistedView = viewDAO.findByName(viewName);
@@ -1500,8 +1564,8 @@ public class ViewRegistry {
Long resourceId = (resourceEntity == null) ? null : resourceEntity.getId();
return (resourceId == null)
- ? AuthorizationHelper.isAuthorized(ResourceType.AMBARI, null, RoleAuthorization.AMBARI_MANAGE_VIEWS)
- : AuthorizationHelper.isAuthorized(ResourceType.VIEW, resourceId, RoleAuthorization.VIEW_USE);
+ ? AuthorizationHelper.isAuthorized(ResourceType.AMBARI, null, RoleAuthorization.AMBARI_MANAGE_VIEWS)
+ : AuthorizationHelper.isAuthorized(ResourceType.VIEW, resourceId, RoleAuthorization.VIEW_USE);
}
// fire the onDeploy event.
@@ -1533,7 +1597,7 @@ public class ViewRegistry {
File viewDir = configuration.getViewsDir();
String extractedArchivesPath = viewDir.getAbsolutePath() +
- File.separator + EXTRACTED_ARCHIVES_DIR;
+ File.separator + EXTRACTED_ARCHIVES_DIR;
File archiveFile = path.toAbsolutePath().toFile();
if (extractor.ensureExtractedArchiveDirectory(extractedArchivesPath)) {
@@ -1557,7 +1621,7 @@ public class ViewRegistry {
File viewDir = configuration.getViewsDir();
String extractedArchivesPath = viewDir.getAbsolutePath() +
- File.separator + EXTRACTED_ARCHIVES_DIR;
+ File.separator + EXTRACTED_ARCHIVES_DIR;
File[] files = viewDir.listFiles();
@@ -1614,7 +1678,7 @@ public class ViewRegistry {
File viewDir = configuration.getViewsDir();
String extractedArchivesPath = viewDir.getAbsolutePath() +
- File.separator + EXTRACTED_ARCHIVES_DIR;
+ File.separator + EXTRACTED_ARCHIVES_DIR;
if (extractor.ensureExtractedArchiveDirectory(extractedArchivesPath)) {
@@ -1720,7 +1784,7 @@ public class ViewRegistry {
configureViewLogging(viewDefinition, cl);
ViewConfig viewConfig = archiveUtility.getViewConfigFromExtractedArchive(extractedArchiveDirPath,
- configuration.isViewValidationEnabled());
+ configuration.isViewValidationEnabled());
viewDefinition.setConfiguration(viewConfig);
@@ -1764,14 +1828,14 @@ public class ViewRegistry {
for (ViewInstanceEntity instance : viewDefinition.getInstances()) {
LOG.debug("Try to migrate the data from previous version of: " + viewDefinition.getName() + "/" +
- instance.getInstanceName() + ".");
+ instance.getInstanceName() + ".");
ViewInstanceEntity latestUnregisteredView = getLatestUnregisteredInstance(serverVersion, instance);
if (latestUnregisteredView != null) {
String instanceName = instance.getViewEntity().getName() + "/" + instance.getName();
try {
LOG.info("Found previous version of the view instance " + instanceName + ": " +
- latestUnregisteredView.getViewEntity().getName() + "/" + latestUnregisteredView.getName());
+ latestUnregisteredView.getViewEntity().getName() + "/" + latestUnregisteredView.getName());
getViewDataMigrationUtility().migrateData(instance, latestUnregisteredView, true);
LOG.info("View data migrated: " + viewDefinition.getName() + ".");
} catch (ViewDataMigrationException e) {
@@ -1871,7 +1935,7 @@ public class ViewRegistry {
}
} catch (Exception e) {
LOG.error("Can't auto create instance of view " + viewName + " for cluster " + clusterName +
- ". Caught exception :" + e.getMessage(), e);
+ ". Caught exception :" + e.getMessage(), e);
}
}
}
@@ -1894,25 +1958,25 @@ public class ViewRegistry {
ResourceEntity resourceEntity = viewInstanceEntity.getResource();
if (null == resourceEntity) {
resourceEntity = instanceDAO.findResourceForViewInstance(viewInstanceEntity.getViewName(),
- viewInstanceEntity.getInstanceName());
+ viewInstanceEntity.getInstanceName());
}
if (permissionViewUser == null) {
LOG.error("Missing the {} role. Access to view cannot be set.",
- PermissionEntity.VIEW_USER_PERMISSION_NAME, viewInstanceEntity.getName());
+ PermissionEntity.VIEW_USER_PERMISSION_NAME, viewInstanceEntity.getName());
} else {
for (String role : roles) {
PermissionEntity permissionRole = permissionDAO.findByName(role);
if (permissionRole == null) {
LOG.warn("Invalid role {} encountered while setting access to view {}, Ignoring.",
- role, viewInstanceEntity.getName());
+ role, viewInstanceEntity.getName());
} else {
PrincipalEntity principalRole = permissionRole.getPrincipal();
if (principalRole == null) {
LOG.warn("Missing principal ID for role {} encountered while setting access to view {}. Ignoring.",
- role, viewInstanceEntity.getName());
+ role, viewInstanceEntity.getName());
} else {
PrivilegeEntity privilegeEntity = new PrivilegeEntity();
privilegeEntity.setPermission(permissionViewUser);
@@ -1938,7 +2002,7 @@ public class ViewRegistry {
ViewConfig config = view.getConfiguration();
return checkViewVersion(view, config.getMinAmbariVersion(), serverVersion, "minimum", -1, "less than") &&
- checkViewVersion(view, config.getMaxAmbariVersion(), serverVersion, "maximum", 1, "greater than");
+ checkViewVersion(view, config.getMaxAmbariVersion(), serverVersion, "maximum", 1, "greater than");
}
@@ -1951,7 +2015,7 @@ public class ViewRegistry {
// make sure that the given version is a valid version string
if (!version.matches(VIEW_AMBARI_VERSION_REGEXP)) {
String msg = "The configured " + label + " Ambari version " + version + " for view " +
- view.getName() + " is not valid.";
+ view.getName() + " is not valid.";
setViewStatus(view, ViewEntity.ViewStatus.ERROR, msg);
LOG.error(msg);
@@ -1961,11 +2025,11 @@ public class ViewRegistry {
int index = version.indexOf('*');
int compVal = index == -1 ? VersionUtils.compareVersions(serverVersion, version) :
- index > 0 ? VersionUtils.compareVersions(serverVersion, version.substring(0, index), index) : 0;
+ index > 0 ? VersionUtils.compareVersions(serverVersion, version.substring(0, index), index) : 0;
if (compVal == errValue) {
String msg = "The Ambari server version " + serverVersion + " is " + errMsg + " the configured " + label +
- " Ambari version " + version + " for view " + view.getName();
+ " Ambari version " + version + " for view " + view.getName();
setViewStatus(view, ViewEntity.ViewStatus.ERROR, msg);
LOG.error(msg);
@@ -1992,7 +2056,7 @@ public class ViewRegistry {
// extract the view archive for the given path.
protected static boolean extractViewArchive(String archivePath, ViewModule viewModule, boolean systemOnly)
- throws Exception {
+ throws Exception {
Injector injector = Guice.createInjector(viewModule);
ViewExtractor extractor = injector.getInstance(ViewExtractor.class);
@@ -2002,7 +2066,7 @@ public class ViewRegistry {
File viewDir = configuration.getViewsDir();
String extractedArchivesPath = viewDir.getAbsolutePath() +
- File.separator + EXTRACTED_ARCHIVES_DIR;
+ File.separator + EXTRACTED_ARCHIVES_DIR;
if (extractor.ensureExtractedArchiveDirectory(extractedArchivesPath)) {
@@ -2051,11 +2115,11 @@ public class ViewRegistry {
LinkedBlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(
- configuration.getViewExtractionThreadPoolCoreSize(),
- configuration.getViewExtractionThreadPoolMaxSize(),
- configuration.getViewExtractionThreadPoolTimeout(),
- TimeUnit.MILLISECONDS,
- queue);
+ configuration.getViewExtractionThreadPoolCoreSize(),
+ configuration.getViewExtractionThreadPoolMaxSize(),
+ configuration.getViewExtractionThreadPoolTimeout(),
+ TimeUnit.MILLISECONDS,
+ queue);
threadPoolExecutor.allowCoreThreadTimeOut(true);
executorService = threadPoolExecutor;
@@ -2072,12 +2136,12 @@ public class ViewRegistry {
protected ViewURLStreamProvider createURLStreamProvider(ViewContext viewContext) {
ComponentSSLConfiguration sslConfiguration = ComponentSSLConfiguration.instance();
org.apache.ambari.server.controller.internal.URLStreamProvider streamProvider =
- new org.apache.ambari.server.controller.internal.URLStreamProvider(
- configuration.getRequestConnectTimeout(),
- configuration.getRequestReadTimeout(),
- sslConfiguration.getTruststorePath(),
- sslConfiguration.getTruststorePassword(),
- sslConfiguration.getTruststoreType());
+ new org.apache.ambari.server.controller.internal.URLStreamProvider(
+ configuration.getRequestConnectTimeout(),
+ configuration.getRequestReadTimeout(),
+ sslConfiguration.getTruststorePath(),
+ sslConfiguration.getTruststorePassword(),
+ sslConfiguration.getTruststoreType());
return new ViewURLStreamProvider(viewContext, streamProvider);
}
@@ -2089,12 +2153,12 @@ public class ViewRegistry {
protected ViewAmbariStreamProvider createAmbariStreamProvider() {
ComponentSSLConfiguration sslConfiguration = ComponentSSLConfiguration.instance();
org.apache.ambari.server.controller.internal.URLStreamProvider streamProvider =
- new org.apache.ambari.server.controller.internal.URLStreamProvider(
- configuration.getViewAmbariRequestConnectTimeout(),
- configuration.getViewAmbariRequestReadTimeout(),
- sslConfiguration.getTruststorePath(),
- sslConfiguration.getTruststorePassword(),
- sslConfiguration.getTruststoreType());
+ new org.apache.ambari.server.controller.internal.URLStreamProvider(
+ configuration.getViewAmbariRequestConnectTimeout(),
+ configuration.getViewAmbariRequestReadTimeout(),
+ sslConfiguration.getTruststorePath(),
+ sslConfiguration.getTruststorePassword(),
+ sslConfiguration.getTruststoreType());
return new ViewAmbariStreamProvider(streamProvider, ambariSessionManager, AmbariServer.getController());
}
@@ -2108,8 +2172,8 @@ public class ViewRegistry {
RemoteAmbariClusterEntity clusterEntity = remoteAmbariClusterDAO.findById(clusterId);
if (clusterEntity != null) {
return new RemoteAmbariStreamProvider(getBaseurl(clusterEntity.getUrl()),
- clusterEntity.getUsername(), clusterEntity.getPassword(),
- configuration.getViewAmbariRequestConnectTimeout(), configuration.getViewAmbariRequestReadTimeout());
+ clusterEntity.getUsername(), clusterEntity.getPassword(),
+ configuration.getViewAmbariRequestConnectTimeout(), configuration.getViewAmbariRequestReadTimeout());
}
return null;
}
@@ -2137,11 +2201,11 @@ public class ViewRegistry {
* @return latest unregistered instance of same name of same view.
*/
private ViewInstanceEntity getLatestUnregisteredInstance(String serverVersion, ViewInstanceEntity instance)
- throws JAXBException, IOException, SAXException {
+ throws JAXBException, IOException, SAXException {
File viewDir = configuration.getViewsDir();
String extractedArchivesPath = viewDir.getAbsolutePath() +
- File.separator + EXTRACTED_ARCHIVES_DIR;
+ File.separator + EXTRACTED_ARCHIVES_DIR;
File extractedArchivesDir = new File(extractedArchivesPath);
File[] extractedArchives = extractedArchivesDir.listFiles();
@@ -2192,7 +2256,7 @@ public class ViewRegistry {
}
if (latestPrevInstance != null) {
LOG.debug("Previous version of " + instance.getViewEntity().getName() + "/" + instance.getName() + " found: " +
- latestPrevInstance.getViewEntity().getName() + "/" + latestPrevInstance.getName());
+ latestPrevInstance.getViewEntity().getName() + "/" + latestPrevInstance.getName());
} else {
LOG.debug("Previous version of " + instance.getViewEntity().getName() + "/" + instance.getName() + " not found");
}