I have written a compatibility guide here : http://communities.vmware.com/docs/DOC-20431
Good question on the entityType to FinderType possible relation I do not have the answer. For this reason I have implemented it the long way:
switch(entityLink.type) { case"vcloud:blockingTask" : entityBlockingTask = vcdHost.getEntityById(VclFinderType.BLOCKING_TASK, entityLink.id); break; case"vcloud:catalog" : entityCatalog = vcdHost.getEntityById(VclFinderType.CATALOG, entityLink.id);; break; case"vcloud:catalogitem" : entityCatalogItem = vcdHost.getEntityById(VclFinderType.CATALOG_ITEM, entityLink.id); break; case"vcloud:datastore" : entityDatastore = vcdHost.getEntityById(VclFinderType.VMW_DATASTORE, entityLink.id); break; case"vcloud:disk" : entityDisk = vcdHost.getEntityById(VclFinderType.DISK, entityLink.id); break; case"vcloud:gateway" : entityGateway = vcdHost.getEntityById(VclFinderType.GATEWAY, entityLink.id); break; case"vcloud:group" : entityGroup = vcdHost.getEntityById(VclFinderType.GROUP, entityLink.id); break; case"vcloud:host" : entityHost = vcdHost.getEntityById(VclFinderType.VMW_HOST, entityLink.id); break; case"vcloud:media" : entityMedia = vcdHost.getEntityById(VclFinderType.MEDIA, entityLink.id); break; case"vcloud:network" : entityOrgVdcNetwork = vcdHost.getEntityById(VclFinderType.ORG_VDC_NETWORK, entityLink.id); entityVAppNetwork = vcdHost.getEntityById(VclFinderType.VAPP_NETWORK, entityLink.id); entityExternalNetwork = vcdHost.getEntityById(VclFinderType.VMW_EXTERNAL_NETWORK, entityLink.id); break; case"vcloud:networkPool" : entityNetworkPool = vcdHost.getEntityById(VclFinderType.VMW_NETWORK_POOL, entityLink.id); break; case"vcloud:org" : entityOrganization = vcdHost.getEntityById(VclFinderType.ORGANIZATION, entityLink.id); break; case"vcloud:providervdc" : entityProviderVdc = vcdHost.getEntityById(VclFinderType.VMW_PROVIDER_VDC, entityLink.id); break; //case "vcloud:lr.providervdcstorageclass" : //Bug 890059 case"vcloud:providerVdcStorageProfile": entityProviderVdcStorageProfile = vcdHost.getEntityById(VclFinderType.VDC_STORAGE_PROFILE, entityLink.id); break; case"vcloud:right" : entityRight = vcdHost.getEntityById(VclFinderType.RIGHT, entityLink.id); break; case"vcloud:role" : entityRole = vcdHost.getEntityById(VclFinderType.ROLE, entityLink.id); break; case"vcloud:strandeditem" : entityStrandedItem = vcdHost.getEntityById(VclFinderType.STRANDED_ITEM, entityLink.id); break; case"vcloud:task" : entityTask = vcdHost.getEntityById(VclFinderType.TASK, entityLink.id); break; case"vcloud:user" : entityUser = vcdHost.getEntityById(VclFinderType.USER, entityLink.id); break; case"vcloud:vapp" : entityVApp = vcdHost.getEntityById(VclFinderType.VAPP, entityLink.id); break; case"vcloud:vapptemplate" : entityVAppTemplate = vcdHost.getEntityById(VclFinderType.VAPP_TEMPLATE, entityLink.id); break; case"vcloud:vdc" : entityVdc = vcdHost.getEntityById(VclFinderType.VDC, entityLink.id); break; //case "vcloud:lr.vdcstorageclass" : //Bug 890059 case"vcloud:vdcStorageProfile" : break; case"vcloud:vimserver" : entityVimServer = vcdHost.getEntityById(VclFinderType.VIM_SERVER, entityLink.id); break; case"vcloud:vm" : entityVm = vcdHost.getEntityById(VclFinderType.VM, entityLink.id); break; default: System.warn("Unidentified entityLink.type : " + entityLink.type);}
This is how I implemented the "workflow runner" workflow in the notification package here : http://communities.vmware.com/docs/DOC-20446