Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
Bug 1073991 - Create Child resource with User Type for postgres serve…
Browse files Browse the repository at this point in the history
…r doesn't work correct

Resource name is a mandatory property of the Create Resource Report
  • Loading branch information
tsegismont committed May 12, 2014
1 parent bc8b90d commit 7b6b9f4
Showing 1 changed file with 18 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@

import static org.rhq.core.domain.measurement.AvailabilityType.DOWN;
import static org.rhq.core.domain.measurement.AvailabilityType.UP;
import static org.rhq.core.domain.resource.CreateResourceStatus.FAILURE;
import static org.rhq.core.domain.resource.CreateResourceStatus.SUCCESS;

import java.beans.BeanInfo;
import java.beans.Introspector;
Expand Down Expand Up @@ -53,7 +55,6 @@
import org.rhq.core.domain.measurement.MeasurementDataTrait;
import org.rhq.core.domain.measurement.MeasurementReport;
import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
import org.rhq.core.domain.resource.CreateResourceStatus;
import org.rhq.core.pluginapi.configuration.ConfigurationFacet;
import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
import org.rhq.core.pluginapi.inventory.CreateChildResourceFacet;
Expand Down Expand Up @@ -454,7 +455,12 @@ public OperationResult invokeOperation(String name, Configuration parameters) th

public CreateResourceReport createResource(CreateResourceReport report) {
Configuration userConfig = report.getResourceConfiguration();
String user = userConfig.getSimpleValue("user", null);

String user = userConfig.getSimpleValue("user");
if (user == null || user.trim().isEmpty()) {
report.setStatus(FAILURE);
report.setErrorMessage("User name is missing");
}

Connection jdbcConnection = null;
Statement statement = null;
Expand All @@ -465,9 +471,18 @@ public CreateResourceReport createResource(CreateResourceReport report) {
// NOTE: Postgres doesn't seem to indicate the expect count of 1 row updated but this work
// Postgres returns 0 for DDL that does not return rows
statement.executeUpdate(sql);

String resourceName = report.getUserSpecifiedResourceName();
if (resourceName == null || resourceName.trim().isEmpty()) {
resourceName = user;
}

report.setStatus(SUCCESS);
report.setResourceName(resourceName);
report.setResourceKey(user);
report.setStatus(CreateResourceStatus.SUCCESS);

} catch (SQLException e) {
report.setStatus(FAILURE);
report.setException(e);
} finally {
DatabasePluginUtil.safeClose(jdbcConnection, statement);
Expand Down

0 comments on commit 7b6b9f4

Please sign in to comment.