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")
};
var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) {
return null;
}
var getServiceClassDisplayName = function(serviceInstance) {
var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances,
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 _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
};
return {
......
......@@ -3329,19 +3329,12 @@ angular.module("openshiftCommonServices")
};
var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) {
return null;
}
var getServiceClassDisplayName = function(serviceInstance) {
var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances,
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 _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
};
return {
......
......@@ -1465,12 +1465,11 @@ var serviceClassName = _.get(serviceInstance, "spec.clusterServiceClassRef.name"
return isServiceBindable(serviceInstance, serviceClasses[serviceClassName], servicePlans[servicePlanName]);
}) :null;
}, sortServiceInstances = function(serviceInstances, serviceClasses) {
return serviceInstances || serviceClasses ? _.sortBy(serviceInstances, 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", "");
}) :null;
var getServiceClassDisplayName = function(serviceInstance) {
var serviceClassName = _.get(serviceInstance, "spec.clusterServiceClassRef.name");
return _.get(serviceClasses, [ serviceClassName, "spec", "externalMetadata", "displayName" ]) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances, [ getServiceClassDisplayName, "metadata.name" ]);
};
return {
bindingResource:bindingResource,
......
......@@ -188,19 +188,12 @@ angular.module("openshiftCommonServices")
};
var sortServiceInstances = function(serviceInstances, serviceClasses) {
if (!serviceInstances && !serviceClasses) {
return null;
}
var getServiceClassDisplayName = function(serviceInstance) {
var serviceClassName = _.get(serviceInstance, 'spec.clusterServiceClassRef.name');
return _.get(serviceClasses, [serviceClassName, 'spec', 'externalMetadata', 'displayName']) || serviceInstance.spec.clusterServiceClassExternalName;
};
return _.sortBy(serviceInstances,
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 _.sortBy(serviceInstances, [ getServiceClassDisplayName, 'metadata.name' ]);
};
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