public static <T extends GroupedModel> ModelResourcePermission<T> create( Class<T> modelClass, ToLongFunction<T> primKeyToLongFunction, UnsafeFunction<Long, T, ? extends PortalException> getModelUnsafeFunction, PortletResourcePermission portletResourcePermission, ModelResourcePermissionConfigurator<T> modelResourcePermissionConfigurator, UnaryOperator<String> actionIdMapper) { List<ModelResourcePermissionLogic<T>> modelResourcePermissionLogics = new ArrayList<>(); ModelResourcePermissionDefinition<T> modelResourcePermissionDefinition = new DefaultModelResourcePermissionDefinition<>( modelClass, primKeyToLongFunction, getModelUnsafeFunction, portletResourcePermission, actionIdMapper); ModelResourcePermission<T> modelResourcePermission = new DefaultModelResourcePermission<>( modelResourcePermissionDefinition, modelResourcePermissionLogics); modelResourcePermissionConfigurator. configureModelResourcePermissionLogics( modelResourcePermission, modelResourcePermissionLogics::add); return modelResourcePermission; }
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put("model.class.name", JournalFeed.class.getName()); _serviceRegistration = bundleContext.registerService( ModelResourcePermission.class, ModelResourcePermissionFactory.create( JournalFeed.class, JournalFeed::getId, _journalFeedLocalService::getJournalFeed, _portletResourcePermission, (modelResourcePermission, consumer) -> consumer.accept( new StagedModelPermissionLogic<>( _stagingPermission, JournalPortletKeys.JOURNAL, JournalFeed::getId))), properties); }
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put( "model.class.name", DDMDataProviderInstance.class.getName()); _serviceRegistration = bundleContext.registerService( ModelResourcePermission.class, ModelResourcePermissionFactory.create( DDMDataProviderInstance.class, DDMDataProviderInstance::getDataProviderInstanceId, _ddmDataProviderInstanceLocalService:: getDDMDataProviderInstance, _portletResourcePermission, (modelResourcePermission, consumer) -> consumer.accept( new StagedModelPermissionLogic<>( _stagingPermission, DDMPortletKeys.DYNAMIC_DATA_MAPPING, DDMDataProviderInstance::getDataProviderInstanceId))), properties); }
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put( "model.class.name", DDMFormInstanceRecord.class.getName()); _serviceRegistration = bundleContext.registerService( ModelResourcePermission.class, ModelResourcePermissionFactory.create( DDMFormInstanceRecord.class, DDMFormInstanceRecord::getFormInstanceRecordId, _ddmFormInstanceRecordLocalService::getDDMFormInstanceRecord, _portletResourcePermission, (modelResourcePermission, consumer) -> { consumer.accept( new DDMFormInstanceRecordAutosavedPermissionLogic()); consumer.accept( new DDMFormInstanceRecordInheritancePermissionLogic()); }), properties); }
ModelResourcePermissionFactory.create( DDMFormInstance.class, DDMFormInstance::getFormInstanceId, _ddmFormInstanceLocalService::getDDMFormInstance,
@Activate public void activate(BundleContext bundleContext) { Dictionary<String, Object> properties = new HashMapDictionary<>(); properties.put("model.class.name", JournalFolder.class.getName()); _serviceRegistration = bundleContext.registerService( ModelResourcePermission.class, ModelResourcePermissionFactory.create( JournalFolder.class, JournalFolder::getFolderId, _journalFolderLocalService::getFolder, _portletResourcePermission, (modelResourcePermission, consumer) -> { consumer.accept( new StagedModelPermissionLogic<>( _stagingPermission, JournalPortletKeys.JOURNAL, JournalFolder::getFolderId)); consumer.accept( new DynamicInheritancePermissionLogic<>( modelResourcePermission, _getFetchParentFunction(), false)); }, actionId -> { if (ActionKeys.ADD_FOLDER.equals(actionId)) { return ActionKeys.ADD_SUBFOLDER; } return actionId; }), properties); }
ModelResourcePermissionFactory.create( JournalArticle.class, JournalArticle::getResourcePrimKey, classPK -> {