Commit e4484f32 by Samuel Padgett

Fix bugs with in BindingService.sortServiceInstances

- Don't return null if service classes aren't passed in
- Pass an array to `_.sortBy` so that secondary sort on 'metadata.name' works
parent 55b62d3d
...@@ -1305,19 +1305,12 @@ angular.module("openshiftCommonServices") ...@@ -1305,19 +1305,12 @@ angular.module("openshiftCommonServices")
}; };
var sortServiceInstances = function(serviceInstances, serviceClasses) { var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) { var getServiceClassDisplayName = function(serviceInstance) {
return null; var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
} return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances, return _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
function(item) {
var serviceClassName = _.get(item, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || item.spec.clusterServiceClassExternalName;
},
function(item) {
return _.get(item, 'metadata.name', '');
}
);
}; };
return { return {
......
...@@ -3329,19 +3329,12 @@ angular.module("openshiftCommonServices") ...@@ -3329,19 +3329,12 @@ angular.module("openshiftCommonServices")
}; };
var sortServiceInstances = function(serviceInstances, serviceClasses) { var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) { var getServiceClassDisplayName = function(serviceInstance) {
return null; var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
} return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances, return _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
function(item) {
var serviceClassName = _.get(item, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || item.spec.clusterServiceClassExternalName;
},
function(item) {
return _.get(item, 'metadata.name', '');
}
);
}; };
return { return {
......
...@@ -1465,12 +1465,11 @@ var serviceClassName = _.get(serviceInstance, "spec.clusterServiceClassRef.name" ...@@ -1465,12 +1465,11 @@ var serviceClassName = _.get(serviceInstance, "spec.clusterServiceClassRef.name"
return isServiceBindable(serviceInstance, serviceClasses[serviceClassName], servicePlans[servicePlanName]); return isServiceBindable(serviceInstance, serviceClasses[serviceClassName], servicePlans[servicePlanName]);
}) :null; }) :null;
}, sortServiceInstances = function(serviceInstances, serviceClasses) { }, sortServiceInstances = function(serviceInstances, serviceClasses) {
return serviceInstances || serviceClasses ? _.sortBy(serviceInstances, function(item) { var getServiceClassDisplayName = function(serviceInstance) {
var serviceClassName = _.get(item, "spec.clusterServiceClassRef.name"); var serviceClassName = _.get(serviceInstance, "spec.clusterServiceClassRef.name");
return _.get(serviceClasses, [ serviceClassName, "spec", "externalMetadata", "displayName" ]) || item.spec.clusterServiceClassExternalName; return _.get(serviceClasses, [ serviceClassName, "spec", "externalMetadata", "displayName" ]) || serviceInstance.spec.clusterServiceClassExternalName;
}, function(item) { };
return _.get(item, "metadata.name", ""); return _.sortBy(serviceInstances, [ getServiceClassDisplayName, "metadata.name" ]);
}) :null;
}; };
return { return {
bindingResource:bindingResource, bindingResource:bindingResource,
......
...@@ -188,19 +188,12 @@ angular.module("openshiftCommonServices") ...@@ -188,19 +188,12 @@ angular.module("openshiftCommonServices")
}; };
var sortServiceInstances = function(serviceInstances, serviceClasses) { var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) { var getServiceClassDisplayName = function(serviceInstance) {
return null; var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
} return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances, return _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
function(item) {
var serviceClassName = _.get(item, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || item.spec.clusterServiceClassExternalName;
},
function(item) {
return _.get(item, 'metadata.name', '');
}
);
}; };
return { return {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment