{
ComponentRegistration registration = context.registerManagedComponent("mop");
registration.registerBindingProvider(MopBindingProvider.INSTANCE);
ManagedResource.Registration mop = registration.registerManagedResource(description("MOP (Model Object for Portal) Managed Resource, responsible for handling management operations on navigation, pages, and sites."));
mop.registerOperationHandler(OperationNames.IMPORT_RESOURCE, new MopImportResource(), description("Imports mop data from an exported zip file."));
mop.registerOperationHandler(OperationNames.READ_RESOURCE, new MopReadResource(), description("Lists available site types for a portal"));
ManagedResource.Registration sitetypes = mop.registerSubResource("{site-type}sites", description("Management resource responsible for handling management operations on a specific site type for a portal."));
sitetypes.registerOperationHandler(OperationNames.READ_RESOURCE, new SiteTypeReadResource(), description("Lists available sites for a given site type."));