IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Adapter Toolkit > Implementing code from the IBM WebSphere Adapter Toolkit > Enterprise metadata discovery general interfaces and implementation for application adapters > Enterprise metadata discovery implementation samples

WBIInboundServiceDescriptionImpl samples

WBIInboundServiceDescriptionImpl represents the object that populates function descriptions for inbound service descriptions.

Implement the method shown in the section below.


setFunctionDescriptions

The setFunctionDescriptions() method populates function descriptions based on objects and properties selected in MetadataSelection .

	public void setFunctionDescriptions(MetadataSelection selection)
throws MetadataException {
		
		try{
		ArrayList functionDescriptions = new ArrayList();
		MetadataImportConfiguration[] confArray = selection.getSelection();
		PropertyGroup selectionProps = 
		WBIMetadataSelectionImpl.getAppliedSelectionProperties();
		WBIMultiValuedPropertyImpl prop = (WBIMultiValuedPropertyImpl)
		selectionProps.getProperty("Operations");
		String[] values = prop.getValuesAsStrings();
		
		helper.getToolContext().getProgressMonitor().setMaximum(confArray.length *
		values.length * 10);
		helper.getToolContext().getProgressMonitor().setMinimum(0);
		helper.getToolContext().getProgressMonitor().setIf 
		("Creating Service Description");
		
		for (int i = 0; i < confArray.length; i++) {
			if (helper.getToolContext().getProgressMonitor().isCanceled()) {
				return;
			} 
			WBIMetadataImportConfigurationImpl spec = 
			(WBIMetadataImportConfigurationImpl) confArray[i];
			WBIInboundFunctionDescriptionImpl funcDesc;
			EISSAMetadataObject metadataObj = 
			(EISSAMetadataObject) spec.getMetadataObject();
			helper.getToolContext().getProgressMonitor().setIf 
			("Creating Service for "
			+ metadataObj.getDisplayName());
			
			this.setNameSpace(metadataObj.getTargetNameSpace());
			EISSADataDescription dataDesc
			= EISSAOutboundServiceDescription.setupMetadataObject
			(spec, selection, getNameSpace());
			for (int j = 0; j < values.length; j++) {
				String operation = values[j];
				helper.getToolContext().getProgressMonitor
				().setProgress(i + j * 10);
				funcDesc = new WBIInboundFunctionDescriptionImpl();
				char firstCharacter = operation.charAt(0);
				funcDesc.setName("emit" + Character.toUpperCase(firstCharacter) + 
				operation.substring(1).toLowerCase()
				+ "AfterImage" + metadataObj.getBOName());
				funcDesc.setEISFunctionName("emit" 
				+ Character.toUpperCase(firstCharacter) + 
				operation.substring(1).toLowerCase()
				+ "AfterImage" + dataDesc.getName().getLocalPart());
				funcDesc.setImportConfiguration(spec);
				funcDesc.setInputDataDescription(dataDesc);
				functionDescriptions.add(funcDesc);
			} 		} 		FunctionDescription[] funcArray 
		= new FunctionDescription[functionDescriptions.size()];
		functionDescriptions.toArray(funcArray);
		super.setFunctionDescriptions(funcArray);
		
		}catch(Exception e){
			throw new MetadataException(e.getMessage(),e);
		} 
		
	}        FunctionDescription[] funcArray = 
            new FunctionDescription[functionDescriptions.size()];
        functionDescriptions.toArray(funcArray);
        super.setFunctionDescriptions(funcArray);
    } 

Enterprise metadata discovery implementation samples