modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceSubCategory.java
| 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
| 11 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
| 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
| 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
| 6 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
| 6 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
| 16 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/OverviewView.java
| 36 ++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
| 21 ++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/overview/ResourceSummaryView.java
| 37 ++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
| 17 ---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
| 12 --
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
| 21 +++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
| 9 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
| 7 -
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
| 54 +++-------
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
| 14 --
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
| 22 ----
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceNotFoundException.java
| 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
| 16 ++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
| 7 -
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
| 17 ---
22 files changed, 163 insertions(+), 179 deletions(-)
New commits:
commit 38aa7252752eb905b84127662e0149f6d470ba7b
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Aug 13 15:54:55 2010 -0400
get rid of new updateResource*Name, updateResource*Description, and
updateResource*Location in resource and group managers, and use updateResource() and
updateResourceGroup() instead
diff --git
a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceSubCategory.java
b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceSubCategory.java
index 7714e39..80e92f6 100644
---
a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceSubCategory.java
+++
b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceSubCategory.java
@@ -50,7 +50,7 @@ import javax.persistence.Table;
import org.jetbrains.annotations.NotNull;
/**
- * Class representing a sub category, where a sub category is meant to group similar
resource types together.
+ * Class representing a sub category, where a sub category is meant to group similar
Resource types together.
*/
@Entity
@SequenceGenerator(name = "SEQ", sequenceName =
"RHQ_RESOURCE_SUBCAT_ID_SEQ")
@@ -213,7 +213,7 @@ public class ResourceSubCategory implements
Comparable<ResourceSubCategory>, Ser
}
/**
- * Updates the contents of this definition with values from the specified new
defintion. The intention is for this
+ * Updates the contents of this definition with values from the specified new
definition. The intention is for this
* to be used as a merge between this attached instance and a detached instance. The
name and resourceType will NOT
* be updated as part of this call; they are used as identifiers and should already
be the same if this merge is
* being performed.
@@ -246,10 +246,9 @@ public class ResourceSubCategory implements
Comparable<ResourceSubCategory>, Ser
}
public void setChildSubCategories(List<ResourceSubCategory> childSubCategories)
{
- if (childSubCategories == null) {
- throw new IllegalArgumentException("childSubCategories is null.");
+ if (childSubCategories != null) {
+ this.childSubCategories = childSubCategories;
}
- this.childSubCategories = childSubCategories;
}
public void setParentSubCategory(ResourceSubCategory parentSubCategory) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
index 53741a9..f92e7d5 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
@@ -65,10 +65,4 @@ public interface ResourceGWTService extends RemoteService {
void unignoreResources(Integer[] resourceIds);
- void updateResourceName(int resourceId, String name);
-
- void updateResourceDescription(int resourceId, String description);
-
- void updateResourceLocation(int resourceId, String location);
-
}
\ No newline at end of file
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
index 9134199..3d78c78 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGroupGWTService.java
@@ -46,10 +46,6 @@ public interface ResourceGroupGWTService extends RemoteService {
void deleteResourceGroup(int groupId);
- void updateResourceGroupName(int groupId, String name);
-
- void updateResourceGroupDescription(int groupId, String description);
-
- void updateResourceGroupLocation(int groupId, String location);
+ void updateResourceGroup(ResourceGroup group);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/OverviewView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/OverviewView.java
index e9078cd..01faa2d 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/OverviewView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/OverviewView.java
@@ -85,13 +85,18 @@ public class OverviewView extends VLayout {
togglableNameItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newName) {
final String oldName = group.getName();
-
OverviewView.this.resourceGroupService.updateResourceGroupName(group.getId(),
- newName, new AsyncCallback<Void>() {
+ if (newName.equals(oldName)) {
+ return;
+ }
+ group.setName(newName);
+ OverviewView.this.resourceGroupService.updateResourceGroup(group, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
name of Resource group with id "
+ group.getId()
+ " from \"" + oldName +
"\" to \"" + newName + "\".", caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
ResourceGroup and the form item
+ // to the original value.
+ group.setName(oldName);
nameItem.setValue(oldName);
}
@@ -99,7 +104,6 @@ public class OverviewView extends VLayout {
CoreGUI.getMessageCenter().notify(new Message("Name of
Resource group with id "
+ group.getId() + " was changed from
\""
+ oldName + "\" to
\"" + newName + "\".", Message.Severity.Info));
- group.setName(newName);
}
});
}
@@ -131,13 +135,18 @@ public class OverviewView extends VLayout {
togglableDescriptionItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newDescription) {
final String oldDescription = group.getDescription();
-
OverviewView.this.resourceGroupService.updateResourceGroupDescription(group.getId(),
- newDescription, new AsyncCallback<Void>() {
+ if (newDescription.equals(oldDescription)) {
+ return;
+ }
+ group.setDescription(newDescription);
+ OverviewView.this.resourceGroupService.updateResourceGroup(group, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
description of Resource group with id "
+ group.getId()
+ " from \"" +
oldDescription + "\" to \"" + newDescription + "\".",
caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
ResourceGroup and the form item
+ // to the original value.
+ group.setDescription(oldDescription);
descriptionItem.setValue(oldDescription);
}
@@ -145,7 +154,6 @@ public class OverviewView extends VLayout {
CoreGUI.getMessageCenter().notify(new
Message("Description of Resource group with id "
+ group.getId() + " was changed from
\""
+ oldDescription + "\" to
\"" + newDescription + "\".", Message.Severity.Info));
- group.setDescription(newDescription);
}
});
}
@@ -162,13 +170,18 @@ public class OverviewView extends VLayout {
togglableLocationItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newLocation) {
final String oldLocation = group.getLocation();
-
OverviewView.this.resourceGroupService.updateResourceGroupLocation(group.getId(),
- newLocation, new AsyncCallback<Void>() {
+ if (newLocation.equals(oldLocation)) {
+ return;
+ }
+ group.setLocation(newLocation);
+ OverviewView.this.resourceGroupService.updateResourceGroup(group, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
location of Resource group with id "
+ group.getId()
+ " from \"" + oldLocation
+ "\" to \"" + newLocation + "\".", caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
ResourceGroup and the form item
+ // to the original value.
+ group.setLocation(oldLocation);
locationItem.setValue(oldLocation);
}
@@ -176,7 +189,6 @@ public class OverviewView extends VLayout {
CoreGUI.getMessageCenter().notify(new Message("Location
of Resource group with id "
+ group.getId() + " was changed from
\""
+ oldLocation + "\" to
\"" + newLocation + "\".", Message.Severity.Info));
- group.setLocation(newLocation);
}
});
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/overview/ResourceSummaryView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/overview/ResourceSummaryView.java
index 56f84b6..4d98f82 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/overview/ResourceSummaryView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/overview/ResourceSummaryView.java
@@ -50,6 +50,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/**
* @author Greg Hinkle
+ * @author Ian Springer
*/
public class ResourceSummaryView extends EnhancedDynamicForm implements
ResourceSelectListener {
@@ -152,13 +153,18 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
togglableNameItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newName) {
final String oldName = resource.getName();
-
ResourceSummaryView.this.resourceService.updateResourceName(resource.getId(),
- newName, new AsyncCallback<Void>() {
+ if (newName.equals(oldName)) {
+ return;
+ }
+ resource.setName(newName);
+ ResourceSummaryView.this.resourceService.updateResource(resource, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
name of Resource with id "
+ resource.getId()
+ " from \"" + oldName +
"\" to \"" + newName + "\".", caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
Resource and the form item to
+ // the original value.
+ resource.setName(oldName);
nameItem.setValue(oldName);
}
@@ -166,7 +172,6 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
CoreGUI.getMessageCenter().notify(new Message("Name of
Resource with id "
+ resource.getId() + " was changed
from \""
+ oldName + "\" to
\"" + newName + "\".", Message.Severity.Info));
- resource.setName(newName);
}
});
}
@@ -183,13 +188,18 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
togglableDescriptionItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newDescription) {
final String oldDescription = resource.getDescription();
-
ResourceSummaryView.this.resourceService.updateResourceDescription(resource.getId(),
- newDescription, new AsyncCallback<Void>() {
+ if (newDescription.equals(oldDescription)) {
+ return;
+ }
+ resource.setDescription(newDescription);
+ ResourceSummaryView.this.resourceService.updateResource(resource, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
description of Resource with id "
+ resource.getId()
+ " from \"" +
oldDescription + "\" to \"" + newDescription + "\".",
caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
Resource and the form item to
+ // the original value.
+ resource.setDescription(oldDescription);
descriptionItem.setValue(oldDescription);
}
@@ -197,7 +207,6 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
CoreGUI.getMessageCenter().notify(new
Message("Description of Resource with id "
+ resource.getId() + " was changed
from \""
+ oldDescription + "\" to
\"" + newDescription + "\".", Message.Severity.Info));
- resource.setDescription(newDescription);
}
});
}
@@ -214,13 +223,18 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
togglableNameItem.addValueUpdatedHandler(new ValueUpdatedHandler() {
public void onValueUpdated(final String newLocation) {
final String oldLocation = resource.getLocation();
-
ResourceSummaryView.this.resourceService.updateResourceLocation(resource.getId(),
- newLocation, new AsyncCallback<Void>() {
+ if (newLocation.equals(oldLocation)) {
+ return;
+ }
+ resource.setLocation(newLocation);
+ ResourceSummaryView.this.resourceService.updateResource(resource, new
AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError("Failed to change
location of Resource with id "
+ resource.getId()
+ " from \"" + oldLocation
+ "\" to \"" + newLocation + "\".", caught);
- // We failed to update it on the Server, so change back the
form item to the original value.
+ // We failed to update it on the Server, so change back the
Resource and the form item to
+ // the original value.
+ resource.setLocation(oldLocation);
locationItem.setValue(oldLocation);
}
@@ -228,7 +242,6 @@ public class ResourceSummaryView extends EnhancedDynamicForm
implements Resource
CoreGUI.getMessageCenter().notify(new Message("Location
of Resource with id "
+ resource.getId() + " was changed
from \""
+ oldLocation + "\" to
\"" + newLocation + "\".", Message.Severity.Info));
- resource.setLocation(newLocation);
}
});
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
index 56d91bd..c10254e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
@@ -127,7 +127,9 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl
implements Re
criteria);
List<Resource> resources = new
ArrayList<Resource>(result.size());
- ObjectFilter.filterFieldsInCollection(resources, importantFieldsSet);
+ if (resources.size() > 1) {
+ ObjectFilter.filterFieldsInCollection(resources, importantFieldsSet);
+ }
return SerialUtility.prepare(result,
"ResourceService.findResourceCompositesByCriteria");
} catch (Exception e) {
@@ -212,16 +214,5 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl
implements Re
public void unignoreResources(Integer[] resourceIds) {
discoveryBoss.unignoreResources(getSessionSubject(), resourceIds);
}
-
- public void updateResourceName(int resourceId, String name) {
- resourceManager.updateResourceName(getSessionSubject(), resourceId, name);
- }
-
- public void updateResourceDescription(int resourceId, String description) {
- resourceManager.updateResourceDescription(getSessionSubject(), resourceId,
description);
- }
-
- public void updateResourceLocation(int resourceId, String location) {
- resourceManager.updateResourceLocation(getSessionSubject(), resourceId,
location);
- }
+
}
\ No newline at end of file
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
index d4dd777..31a4381 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGroupGWTServiceImpl.java
@@ -31,7 +31,6 @@ import
org.rhq.enterprise.server.resource.group.ResourceGroupManagerLocal;
import org.rhq.enterprise.server.resource.group.definition.GroupDefinitionManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
-
/**
* @author Greg Hinkle
*/
@@ -75,15 +74,8 @@ public class ResourceGroupGWTServiceImpl extends AbstractGWTServiceImpl
implemen
}
}
- public void updateResourceGroupName(int groupId, String name) {
- groupManager.updateResourceGroupName(getSessionSubject(), groupId, name);
- }
-
- public void updateResourceGroupDescription(int groupId, String description) {
- groupManager.updateResourceGroupDescription(getSessionSubject(), groupId,
description);
+ public void updateResourceGroup(ResourceGroup group) {
+ groupManager.updateResourceGroup(getSessionSubject(), group);
}
- public void updateResourceGroupLocation(int groupId, String location) {
- groupManager.updateResourceGroupLocation(getSessionSubject(), groupId,
location);
- }
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
index 5051bdf..cb17046 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
@@ -285,6 +285,16 @@ public class ConfigurationManagerBean implements
ConfigurationManagerLocal, Conf
return result;
}
+ // local only
+ public void setResourceConfiguration(int resourceId, Configuration configuration) {
+ Resource resource = entityManager.find(Resource.class, resourceId);
+ if (resource == null) {
+ throw new ResourceNotFoundException("Resource [" + resourceId +
"] does not exist.");
+ }
+ resource.setResourceConfiguration(configuration);
+ entityManager.merge(resource);
+ }
+
// Use new transaction because this only works if the resource in question has not
// yet been loaded by Hibernate. We want the query to return a non-proxied
configuration,
// this is critical for remote API use.
@@ -2032,7 +2042,6 @@ public class ConfigurationManagerBean implements
ConfigurationManagerLocal, Conf
}
-
@SuppressWarnings("unchecked")
public PageList<ResourceConfigurationUpdate>
findResourceConfigurationUpdatesByCriteria(
Subject subject, ResourceConfigurationUpdateCriteria criteria) {
@@ -2047,7 +2056,15 @@ public class ConfigurationManagerBean implements
ConfigurationManagerLocal, Conf
PageList<ResourceConfigurationUpdate> updates = queryRunner.execute();
-
return updates;
}
+
+
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ //
+ // Remote Interface Impl
+ //
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ // ***TODO***: Move all remoted methods below this line.
}
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
index 495583e..fc61a48 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
@@ -490,6 +490,15 @@ public interface ConfigurationManagerLocal {
Configuration getResourceConfiguration(Subject subject, int resourceId);
/**
+ * This method is called when the plugin container reports a new Resource
configuration after an external change was
+ * detected.
+ *
+ * @param resourceId the Resource's id
+ * @param configuration the updated configuration
+ */
+ void setResourceConfiguration(int resourceId, Configuration configuration);
+
+ /**
* @see
ConfigurationManagerRemote#getPackageTypeConfigurationDefinition(Subject,int)
*/
ConfigurationDefinition getPackageTypeConfigurationDefinition(Subject subject, int
packageTypeId);
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
index 8932607..6ae1e16 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
+ * Copyright (C) 2005-2010 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -81,7 +81,10 @@ public class ConfigurationServerServiceImpl implements
ConfigurationServerServic
}
Resource resource = update.getResource();
- resource.setResourceConfiguration(update.getConfiguration().deepCopy(false));
+ // First clone the config, zeroing out all id's.
+ Configuration configuration = update.getConfiguration().deepCopy(false);
+ configurationManager.setResourceConfiguration(resource.getId(), configuration);
+ resource.setResourceConfiguration(configuration);
resourceManager.updateResource(overlord, resource);
}
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index 4804a73..7c34f0d 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -206,14 +206,29 @@ public class ResourceManagerBean implements ResourceManagerLocal,
ResourceManage
}
public Resource updateResource(Subject user, Resource resource) {
+ Resource persistedResource = entityManager.find(Resource.class,
resource.getId());
+ if (persistedResource == null) {
+ throw new ResourceNotFoundException(resource.getId());
+ }
+
if (!authorizationManager.hasResourcePermission(user, Permission.MODIFY_RESOURCE,
resource.getId())) {
- throw new PermissionException("You do not have permission to modify
resource");
+ throw new PermissionException("You do not have permission to modify
Resource with id " + resource.getId()
+ + ".");
}
/*if (getResourceByParentAndKey(user, resource.getParentResource(),
resource.getResourceKey()) != null)
* { throw new ResourceAlreadyExistsException("Resource with key '"
+ resource.getName() + "' already
* exists");}*/
- return entityManager.merge(resource);
+
+ persistedResource.setName(resource.getName());
+ persistedResource.setLocation(resource.getLocation());
+ persistedResource.setDescription(resource.getDescription());
+
+ // NOTE: Updating the mtime will tell the Agent it needs to sync this Resource.
+ persistedResource.setMtime(System.currentTimeMillis());
+ persistedResource.setModifiedBy(user.getName());
+
+ return entityManager.merge(persistedResource);
}
public List<Integer> uninventoryResources(Subject user, int[] resourceIds) {
@@ -2155,39 +2170,4 @@ public class ResourceManagerBean implements ResourceManagerLocal,
ResourceManage
DisambiguationUpdateStrategy updateStrategy) {
return Disambiguator.disambiguate(results, updateStrategy, extractor,
entityManager);
}
-
- public void updateResourceName(Subject subject, int resourceId, String name) {
- if (name == null) {
- throw new IllegalArgumentException("Resource name cannot be
null.");
- }
- Resource resource = getResourceToBeModified(subject, resourceId);
- resource.setName(name);
- resource.setMtime(System.currentTimeMillis());
- }
-
- public void updateResourceDescription(Subject subject, int resourceId, String
description) {
- Resource resource = getResourceToBeModified(subject, resourceId);
- resource.setDescription(description);
- resource.setMtime(System.currentTimeMillis());
- }
-
- public void updateResourceLocation(Subject subject, int resourceId, String location)
{
- Resource resource = getResourceToBeModified(subject, resourceId);
- resource.setLocation(location);
- resource.setMtime(System.currentTimeMillis());
- }
-
- private Resource getResourceToBeModified(Subject subject, int resourceId) {
- Resource resource = entityManager.find(Resource.class, resourceId);
-
- if (resource == null) {
- throw new ResourceNotFoundException(resourceId);
- }
-
- if (!authorizationManager.hasResourcePermission(subject,
Permission.MODIFY_RESOURCE, resourceId)) {
- throw new PermissionException("User [" + subject + "] does not
have permission to modify Resource with id ["
- + resourceId + "].");
- }
- return resource;
- }
}
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
index 3dd1fcb..d753c89 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
@@ -74,10 +74,10 @@ public interface ResourceManagerLocal {
void createResource(Subject user, Resource resource, int parentId) throws
ResourceAlreadyExistsException;
/**
- * Update an existing Resource.
+ * Update a Resource's editable properties (name, description, and location).
*
- * @param user the user updating the resource
- * @param resource the resource to be updated
+ * @param user the user updating the Resource
+ * @param resource the Resource to be updated
* @return the updated (attached) resource
*/
Resource updateResource(Subject user, Resource resource);
@@ -386,7 +386,7 @@ public interface ResourceManagerLocal {
* view of the platform inventory. This includes resource type and subcategory
information
* as well as current availability and structure.
*
- * This method also returns placesholder {@link
org.rhq.core.domain.resource.composite.LockedResourcerce}
+ * This method also returns placesholder {@link
org.rhq.core.domain.resource.composite.LockedResource}
* objects for resources that a user should not have visibility to in order to keep
the tree a
* directed graph.
*
@@ -455,10 +455,4 @@ public interface ResourceManagerLocal {
*/
<T> ResourceNamesDisambiguationResult<T> disambiguate(List<T>
results, IntExtractor<? super T> resourceIdExtractor,
DisambiguationUpdateStrategy updateStrategy);
-
- void updateResourceName(Subject subject, int resourceId, String name);
-
- void updateResourceDescription(Subject subject, int resourceId, String description);
-
- void updateResourceLocation(Subject subject, int resourceId, String location);
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
index 2eb9d62..b3fbce0 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerRemote.java
@@ -100,6 +100,10 @@ public interface ResourceManagerRemote {
@WebParam(name = "subject") Subject subject, //
@WebParam(name = "resourceId") int resourceId);
+ Resource updateResource( //
+ @WebParam(name = "subject") Subject user, //
+ @WebParam(name = "resource") Resource resource);
+
/**
* Removes these resources from inventory. The resources may subsequently be
rediscovered. Note that for
* each specified resource all children will also be removed, it it not necessary or
recommended to
@@ -137,22 +141,4 @@ public interface ResourceManagerRemote {
Resource getParentResource( //
@WebParam(name = "subject") Subject subject, //
@WebParam(name = "resourceId") int resourceId);
-
- @WebMethod
- void updateResourceName( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "resourceId") int resourceId, //
- @WebParam(name = "name") String name);
-
- @WebMethod
- void updateResourceDescription( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "resourceId") int resourceId, //
- @WebParam(name = "description") String description);
-
- @WebMethod
- void updateResourceLocation( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "resourceId") int resourceId, //
- @WebParam(name = "location") String location);
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceNotFoundException.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceNotFoundException.java
index 7c31d96..946d7e3 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceNotFoundException.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceNotFoundException.java
@@ -35,7 +35,7 @@ public class ResourceNotFoundException extends RuntimeException {
* @param resourceId a resource id
*/
public ResourceNotFoundException(int resourceId) {
- super("A resource with id " + resourceId + " does not exist in
inventory.");
+ super("A Resource with id " + resourceId + " does not exist in
inventory.");
}
public ResourceNotFoundException(String message) {
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index 987015b..43c6f0f 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -90,7 +90,6 @@ import org.rhq.enterprise.server.jaxb.adapter.ResourceGroupAdapter;
import org.rhq.enterprise.server.operation.GroupOperationSchedule;
import org.rhq.enterprise.server.operation.OperationManagerLocal;
import org.rhq.enterprise.server.resource.ResourceManagerLocal;
-import org.rhq.enterprise.server.resource.ResourceNotFoundException;
import org.rhq.enterprise.server.resource.ResourceTypeManagerLocal;
import org.rhq.enterprise.server.util.CriteriaQueryGenerator;
import org.rhq.enterprise.server.util.CriteriaQueryRunner;
@@ -175,9 +174,17 @@ public class ResourceGroupManagerBean implements
ResourceGroupManagerLocal, Reso
throws ResourceGroupUpdateException {
int groupId = group.getId();
+ ResourceGroup attachedGroup = entityManager.find(ResourceGroup.class, groupId);
+ if (attachedGroup == null) {
+ throw new ResourceGroupNotFoundException(groupId);
+ }
+
+ if (!authorizationManager.hasGroupPermission(user, Permission.MODIFY_RESOURCE,
groupId)) {
+ throw new PermissionException("User [" + user + "] does not
have permission to modify Resource group with id ["
+ + groupId + "].");
+ }
if (changeType == null) {
- ResourceGroup attachedGroup = entityManager.find(ResourceGroup.class,
groupId);
changeType = RecursivityChangeType.None;
if (attachedGroup.isRecursive() == true && group.isRecursive() ==
false) {
// making a recursive group into a "normal" group
@@ -189,9 +196,8 @@ public class ResourceGroupManagerBean implements
ResourceGroupManagerLocal, Reso
// recursive bit didn't change
}
}
-
- long time = System.currentTimeMillis();
- group.setMtime(time);
+
+ group.setMtime(System.currentTimeMillis());
group.setModifiedBy(user.getName());
ResourceGroup newlyAttachedGroup = entityManager.merge(group);
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
index 8ed40b6..9b0468b 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerLocal.java
@@ -138,10 +138,5 @@ public interface ResourceGroupManagerLocal {
ResourceGroup updateResourceGroup(Subject subject, ResourceGroup group);
PageList<ResourceGroup> findResourceGroupsByCriteria(Subject subject,
ResourceGroupCriteria criteria);
-
- void updateResourceGroupName(Subject subject, int groupId, String name);
-
- void updateResourceGroupDescription(Subject subject, int groupId, String
description);
-
- void updateResourceGroupLocation(Subject subject, int groupId, String location);
+
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
index 8907ea9..fdda4e2 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerRemote.java
@@ -97,21 +97,4 @@ public interface ResourceGroupManagerRemote {
@WebParam(name = "subject") Subject subject, //
@WebParam(name = "criteria") ResourceGroupCriteria criteria);
- @WebMethod
- void updateResourceGroupName( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "groupId") int groupId, //
- @WebParam(name = "name") String name);
-
- @WebMethod
- void updateResourceGroupDescription( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "groupId") int groupId, //
- @WebParam(name = "description") String description);
-
- @WebMethod
- void updateResourceGroupLocation( //
- @WebParam(name = "subject") Subject subject, //
- @WebParam(name = "groupId") int groupId, //
- @WebParam(name = "location") String location);
}
commit 8772b4ebacc2d74f66b24dd744ea843450da4082
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Aug 13 12:38:43 2010 -0400
only display Connection Settings subtab when appropriate; some failed attempts to get
subtabs to deraw after selecting a different Resource
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
index eb66445..cda5761 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
@@ -20,6 +20,7 @@ package org.rhq.enterprise.gui.coregui.client.components.tab;
import java.util.HashSet;
import java.util.LinkedHashMap;
+import java.util.Map;
import java.util.Set;
import com.google.gwt.event.shared.HandlerManager;
@@ -40,7 +41,7 @@ public class SubTabLayout extends VLayout {
ToolStrip buttonBar;
- LinkedHashMap<String, Canvas> subtabs = new LinkedHashMap<String,
Canvas>();
+ Map<String, Canvas> subtabs = new LinkedHashMap<String, Canvas>();
Set<String> disabledSubTabs = new HashSet<String>();
Canvas currentlyDisplayed;
@@ -115,11 +116,15 @@ public class SubTabLayout extends VLayout {
}
public void enableSubTab(String title) {
- disabledSubTabs.remove(title);
+ if (disabledSubTabs.remove(title)) {
+ markForRedraw();
+ }
}
public void disableSubTab(String title) {
- disabledSubTabs.add(title);
+ if (disabledSubTabs.add(title)) {
+ markForRedraw();
+ }
}
public void updateSubTab(String title, Canvas canvas) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
index c335dc9..cc5cac4 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
@@ -28,6 +28,7 @@ public class TwoLevelTab extends Tab {
private SubTabLayout layout;
+
public TwoLevelTab(String title, String icon) {
super(title, icon);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
index b12304c..e5cacf8 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
@@ -30,7 +30,6 @@ import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
*/
public class TwoLevelTabSet extends TabSet implements TabSelectedHandler,
TwoLevelTabSelectedHandler {
-
public void setTabs(TwoLevelTab... tabs) {
super.setTabs(tabs);
for (TwoLevelTab tab : tabs) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
index 51c225a..8fff6e2 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
@@ -203,11 +203,16 @@ public class ResourceGroupDetailView extends VLayout implements
BookmarkableView
private void completeTabUpdate() {
+ GroupCategory groupCategory =
groupComposite.getResourceGroup().getGroupCategory();
+ Set<ResourceTypeFacet> facets =
groupComposite.getResourceFacets().getFacets();
+
// Summary and Inventory tabs are always enabled.
topTabSet.enableTab(summaryTab);
topTabSet.enableTab(inventoryTab);
- GroupCategory groupCategory =
groupComposite.getResourceGroup().getGroupCategory();
+ // Inventory>Connection Settings subtab is only enabled for compat groups that
define conn props.
+ inventoryTab.setSubTabEnabled("Connection Settings",
+ groupCategory == GroupCategory.COMPATIBLE &&
facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION));
// Monitoring and Alerts tabs are always enabled for compatible groups and always
disabled for mixed groups.
if (groupCategory == GroupCategory.COMPATIBLE) {
@@ -219,8 +224,7 @@ public class ResourceGroupDetailView extends VLayout implements
BookmarkableView
}
// Operations tab is only enabled for compatible groups of a type that supports
the Operations facet.
- Set<ResourceTypeFacet> typeFacets =
groupComposite.getResourceFacets().getFacets();
- if (typeFacets.contains(ResourceTypeFacet.OPERATION)) {
+ if (facets.contains(ResourceTypeFacet.OPERATION)) {
topTabSet.enableTab(operationsTab);
} else {
topTabSet.disableTab(operationsTab);
@@ -228,21 +232,21 @@ public class ResourceGroupDetailView extends VLayout implements
BookmarkableView
// Configuration tab is only enabled for compatible groups of a type that
supports the Configuration facet
// and when the current user has the CONFIGURE_READ permission.
- if (typeFacets.contains(ResourceTypeFacet.CONFIGURATION) &&
permissions.isConfigureRead()) {
+ if (facets.contains(ResourceTypeFacet.CONFIGURATION) &&
permissions.isConfigureRead()) {
topTabSet.enableTab(configurationTab);
} else {
topTabSet.disableTab(configurationTab);
}
// Events tab is only enabled for compatible groups of a type that supports the
Events facet.
- if (typeFacets.contains(ResourceTypeFacet.EVENT)) {
+ if (facets.contains(ResourceTypeFacet.EVENT)) {
topTabSet.enableTab(eventsTab);
} else {
topTabSet.disableTab(eventsTab);
}
// only enable "Call Time" sub-tab for those that implement it
- monitoringTab.setSubTabEnabled("Call Time",
typeFacets.contains(ResourceTypeFacet.CALL_TIME));
+ monitoringTab.setSubTabEnabled("Call Time",
facets.contains(ResourceTypeFacet.CALL_TIME));
}
public void onTabSelected(TwoLevelTabSelectedEvent tabSelectedEvent) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index 5c2e94f..2a7183e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -23,8 +23,8 @@ import com.smartgwt.client.types.Side;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceTypeFacet;
import org.rhq.core.domain.resource.composite.ResourceComposite;
-import org.rhq.core.domain.resource.composite.ResourceFacets;
import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
@@ -43,6 +43,8 @@ import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.inventory
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.GraphListView;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.overview.ResourceOverviewView;
+import java.util.Set;
+
/**
* Right panel of the Resource view.
*
@@ -201,41 +203,44 @@ public class ResourceDetailView extends VLayout implements
BookmarkableView, Res
private void completeTabUpdate() {
ResourcePermission permissions = this.resourceComposite.getResourcePermission();
- ResourceFacets facets = this.resourceComposite.getResourceFacets();
+ Set<ResourceTypeFacet> facets =
this.resourceComposite.getResourceFacets().getFacets();
// Summary, Monitoring, Inventory, and Alerts tabs are always enabled.
- monitoringTab.setSubTabEnabled("Call Time", facets.isCallTime());
+ monitoringTab.setSubTabEnabled("Call Time",
facets.contains(ResourceTypeFacet.CALL_TIME));
+
+ inventoryTab.setSubTabEnabled("Connection Settings",
facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION));
- if (facets.isOperation()) {
+ if (facets.contains(ResourceTypeFacet.OPERATION)) {
topTabSet.enableTab(operationsTab);
} else {
topTabSet.disableTab(operationsTab);
}
- if (facets.isConfiguration() && permissions.isConfigureRead()) {
+ if (facets.contains(ResourceTypeFacet.CONFIGURATION) &&
permissions.isConfigureRead()) {
topTabSet.enableTab(configurationTab);
} else {
topTabSet.disableTab(configurationTab);
}
- if (facets.isEvent()) {
+ if (facets.contains(ResourceTypeFacet.EVENT)) {
topTabSet.enableTab(eventsTab);
} else {
topTabSet.disableTab(eventsTab);
}
- if (facets.isContent()) {
+ if (facets.contains(ResourceTypeFacet.CONTENT)) {
topTabSet.enableTab(contentTab);
} else {
topTabSet.disableTab(contentTab);
}
-
if (topTabSet.getSelectedTab().getDisabled()) {
topTabSet.selectTab(0);
}
+ // TODO: This doesn't seem to actually be calling redraw(), draw(), or
onDraw() on topTabSet, so subtab
+ // enablement isn't getting updated...
topTabSet.markForRedraw();
}