importPackage(com.cloupia.service.cIM.inframgr.customactions);
importPackage(com.cloupia.service.cIM.inframgr.forms.wizard);
importPackage(com.cloupia.service.cIM.inframgr);
importPackage(com.cloupia.model.cIM);
importPackage(com.cloupia.lib.cIaaS.network.model);
importPackage(com.cloupia.feature.ucsController.wftasks);
importPackage(com.cloupia.fw.objstore);
importPackage(com.cloupia.lib.cIaaS.ucs.model);
importPackage(java.lang);
importPackage(java.util);

var lovRegistry = LOVProviderRegistry.getInstance();

var dataProvider = new com.cloupia.service.cIM.inframgr.forms.wizard.LOVProviderIf({

	getLOVs : function(session) {
		try
		{	
			logger.addInfo("Inside method getBladeServerLOV");
			var store = ObjStoreHelper.getStore(Class.forName("com.cloupia.lib.cIaaS.ucs.model.UcsServer"));
			var list = store.queryAll();
			var arr = new Array();
			//FormLOVPair[] arr = new FormLOVPair[list.size()];

			for (var i = 0; i < list.size(); i++)
			{
				var obj = list.get(i);
							  
				var assosiation 	= " ASSOCIATION : "+obj.getAssociation();
				var fsmStatus  		= " FSM STATUS : "+obj.getFsmStatus();
				var powerStatus 	= " POWER STATUS : "+obj.getOperPower();
				var operState 		= " OPER STATUS : "+obj.getOperStatus();
				var availability   	= " AVAILABILITY "+obj.getAvailability();
				
				var labelBuffer = new StringBuffer();
				labelBuffer.append(obj.getAccountName() + " DN : " + obj.getServerDn());
				labelBuffer.append(assosiation);
				labelBuffer.append(powerStatus);
				labelBuffer.append(operState);
				labelBuffer.append(availability);
				var label = labelBuffer.toString();   
				//var id = obj.getAccountName() + "@" + obj.getServerDn() + "@" + assosiation +"@ " +fsmStatus + "@"+ powerStatus +"@" + operState + "@"+availability;
				var id = obj.getIdentityKey();
				arr[i] = new FormLOVPair(label, id);
			}

			return arr;
		} catch (e)
		{
			logger.addError("Error : "+e.message);
			return null;
		}
	}
});

lovRegistry.registerProvider("bladeServerLOV", dataProvider);
var registry = CustomFeatureRegistry.getInstance();
registry.registerWorkflowInputFieldType("bladeServerLOVType", "Blade Server", FormFieldDefinition.FIELD_TYPE_EMBEDDED_LOV, "bladeServerLOV");
logger.addInfo("successfully registered  bladeServer LOV with name bladeServerLOV and made it available as a global workflow input with type bladeServerLOVType");


Additional Links: