(!gadgetAdminStore.isAllowedFeature(feature, gadget))) { continue;
for(Feature feature : gadgetFeatures) { if(!feature.getRequired() && !gadgetAdminStore.isAllowedFeature(feature, gadget)) {
/** * Gets the set of allowed RPC service ids. * * @param gadget * the gadget to get the service ids for. * @return the set of allowed RPC service ids. */ private Set<String> getRpcServiceIds(Gadget gadget) { GadgetContext context = gadget.getContext(); Set<String> rpcEndpoints = Sets.newHashSet(gadgetAdminStore.getAdditionalRpcServiceIds(gadget)); List<Feature> modulePrefFeatures = gadget.getSpec().getModulePrefs().getAllFeatures(); List<String> featureNames = Lists.newArrayList(); for(Feature feature : modulePrefFeatures) { if(gadgetAdminStore.isAllowedFeature(feature, gadget)) { featureNames.add(feature.getName()); } } try { FeatureRegistry featureRegistry = featureRegistryProvider.get(context.getRepository()); LookupResult result = featureRegistry.getFeatureResources(context, featureRegistry.getFeatures(featureNames), null); List<FeatureBundle> bundles = result.getBundles(); for (FeatureBundle bundle : bundles) { rpcEndpoints.addAll(bundle.getApis(ApiDirective.Type.RPC, false)); } } catch (GadgetException e) { LOG.log(Level.WARNING, "Error getting features from feature registry", e); } return rpcEndpoints; }
private Gadget makeGadgetWithSpec(String gadgetXml) throws GadgetException { GadgetSpec spec = new GadgetSpec(SPEC_URL, gadgetXml); Gadget gadget = new Gadget() .setContext(context) .setPreloads(ImmutableList.<PreloadedData>of()) .setSpec(spec) .setCurrentView(spec.getView(GadgetSpec.DEFAULT_VIEW)) .setGadgetFeatureRegistry(featureRegistry); // Convenience: by default expect no features requested, by gadget or extern. // expectFeatureCalls(...) resets featureRegistry if called again. expectFeatureCalls(gadget, ImmutableList.<FeatureResource>of(), ImmutableSet.<String>of(), ImmutableList.<FeatureResource>of()); //Convenience: by default expect that the gadget is allowed to render reset(gadgetAdminStore); expect(gadgetAdminStore.checkFeatureAdminInfo(isA(Gadget.class))).andReturn(true); expect(gadgetAdminStore.isAllowedFeature(isA(Feature.class), isA(Gadget.class))) .andReturn(true).anyTimes(); replay(gadgetAdminStore); return gadget; }
private Gadget makeGadgetWithSpec(String gadgetXml) throws GadgetException { GadgetSpec spec = new GadgetSpec(SPEC_URL, gadgetXml); Gadget gadget = new Gadget() .setContext(context) .setPreloads(ImmutableList.<PreloadedData>of()) .setSpec(spec) .setCurrentView(spec.getView(GadgetSpec.DEFAULT_VIEW)) .setGadgetFeatureRegistry(featureRegistry); // Convenience: by default expect no features requested, by gadget or extern. // expectFeatureCalls(...) resets featureRegistry if called again. expectFeatureCalls(gadget, ImmutableList.<FeatureResource>of(), ImmutableSet.<String>of(), ImmutableList.<FeatureResource>of()); //Convenience: by default expect that the gadget is allowed to render reset(gadgetAdminStore); expect(gadgetAdminStore.checkFeatureAdminInfo(isA(Gadget.class))).andReturn(true); expect(gadgetAdminStore.isAllowedFeature(isA(Feature.class), isA(Gadget.class))) .andReturn(true).anyTimes(); replay(gadgetAdminStore); return gadget; }
expect(denied.getName()).andReturn("hello"); expect(gadgetAdminStore.checkFeatureAdminInfo(isA(Gadget.class))).andReturn(true); expect(gadgetAdminStore.isAllowedFeature(eq(denied), isA(Gadget.class))).andReturn(false); replay();
expect(denied.getName()).andReturn("hello"); expect(gadgetAdminStore.checkFeatureAdminInfo(isA(Gadget.class))).andReturn(true); expect(gadgetAdminStore.isAllowedFeature(eq(denied), isA(Gadget.class))).andReturn(false); replay();