/** * Adds gadget administration information for this container. * * @param gadgetUrl * the URL of the gadget the admin data is for. * @param toAdd * the administration data for the gadget. */ public void addGadgetAdminData(String gadgetUrl, GadgetAdminData toAdd) { if (gadgetUrl != null) { if (toAdd == null) { toAdd = new GadgetAdminData(); } this.gadgetAdminMap.put(gadgetUrl, toAdd); } }
@Override public boolean equals(Object obj) { if (obj instanceof GadgetAdminData) { GadgetAdminData test = (GadgetAdminData) obj; return this.getFeatureAdminData().equals(test.getFeatureAdminData()) && this.getRpcAdminData().equals(test.getRpcAdminData()); } return false; }
@Test public void testEquals() { assertTrue(whitelistInfo.equals(new GadgetAdminData(whitelistFeatures, rpcAdminData))); assertTrue(nullInfo.equals(new GadgetAdminData(null, null))); assertTrue(defaultInfo.equals(new GadgetAdminData())); assertTrue(nullInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(null)); assertFalse(whitelistInfo.equals(new Object())); assertFalse(whitelistInfo.equals(blacklistInfo)); assertFalse(whitelistInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(nullInfo)); }
@Test public void testSetFeatureAdminData() { assertEquals(whitelistFeatures, whitelistInfo.getFeatureAdminData()); whitelistInfo.setFeatureAdminData(null); assertEquals(new FeatureAdminData(), whitelistInfo.getFeatureAdminData()); assertEquals(blacklistFeatures, blacklistInfo.getFeatureAdminData()); blacklistInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, blacklistInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), nullInfo.getFeatureAdminData()); nullInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, nullInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), defaultInfo.getFeatureAdminData()); defaultInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, defaultInfo.getFeatureAdminData()); }
@Test public void testGetFeatureAdminData() { assertEquals(whitelistFeatures, whitelistInfo.getFeatureAdminData()); assertEquals(blacklistFeatures, blacklistInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), nullInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), defaultInfo.getFeatureAdminData()); }
@Test public void testSetRpcAdminData() { assertEquals(rpcAdminData, whitelistInfo.getRpcAdminData()); whitelistInfo.setRpcAdminData(null); assertEquals(new RpcAdminData(), whitelistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), blacklistInfo.getRpcAdminData()); blacklistInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, blacklistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), nullInfo.getRpcAdminData()); nullInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, nullInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), defaultInfo.getRpcAdminData()); defaultInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, defaultInfo.getRpcAdminData()); }
public Set<String> getAdditionalRpcServiceIds(Gadget gadget) { GadgetAdminData gadgetData = this.getGadgetAdminData(getSafeContainerFromGadget(gadget), getSafeGadgetUrlFromGadget(gadget)); Set<String> ids = Sets.newHashSet(); if(gadgetData != null) { ids.addAll(gadgetData.getRpcAdminData().getAdditionalRpcServiceIds()); } return ids; } }
@Test public void testHashCode() { assertEquals(Objects.hashCode(whitelistFeatures, rpcAdminData), whitelistInfo.hashCode()); assertEquals(Objects.hashCode(blacklistFeatures, new RpcAdminData()), blacklistInfo.hashCode()); assertEquals(Objects.hashCode(new FeatureAdminData(), new RpcAdminData()), nullInfo.hashCode()); assertEquals(Objects.hashCode(new FeatureAdminData(), new RpcAdminData()), defaultInfo.hashCode()); assertEquals(nullInfo.hashCode(), defaultInfo.hashCode()); assertFalse(blacklistInfo.hashCode() == whitelistInfo.hashCode()); }
@Test public void testGetFeatureAdminData() { assertEquals(whitelistFeatures, whitelistInfo.getFeatureAdminData()); assertEquals(blacklistFeatures, blacklistInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), nullInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), defaultInfo.getFeatureAdminData()); }
@Test public void testSetRpcAdminData() { assertEquals(rpcAdminData, whitelistInfo.getRpcAdminData()); whitelistInfo.setRpcAdminData(null); assertEquals(new RpcAdminData(), whitelistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), blacklistInfo.getRpcAdminData()); blacklistInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, blacklistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), nullInfo.getRpcAdminData()); nullInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, nullInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), defaultInfo.getRpcAdminData()); defaultInfo.setRpcAdminData(rpcAdminData); assertEquals(rpcAdminData, defaultInfo.getRpcAdminData()); }
@Test public void testSetFeatureAdminData() { assertEquals(whitelistFeatures, whitelistInfo.getFeatureAdminData()); whitelistInfo.setFeatureAdminData(null); assertEquals(new FeatureAdminData(), whitelistInfo.getFeatureAdminData()); assertEquals(blacklistFeatures, blacklistInfo.getFeatureAdminData()); blacklistInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, blacklistInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), nullInfo.getFeatureAdminData()); nullInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, nullInfo.getFeatureAdminData()); assertEquals(new FeatureAdminData(), defaultInfo.getFeatureAdminData()); defaultInfo.setFeatureAdminData(whitelistFeatures); assertEquals(whitelistFeatures, defaultInfo.getFeatureAdminData()); }
@Test public void testGetRpcAdminData() { assertEquals(rpcAdminData, whitelistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), blacklistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), nullInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), defaultInfo.getRpcAdminData()); }
@Test public void testHashCode() { assertEquals(Objects.hashCode(whitelistFeatures, rpcAdminData), whitelistInfo.hashCode()); assertEquals(Objects.hashCode(blacklistFeatures, new RpcAdminData()), blacklistInfo.hashCode()); assertEquals(Objects.hashCode(new FeatureAdminData(), new RpcAdminData()), nullInfo.hashCode()); assertEquals(Objects.hashCode(new FeatureAdminData(), new RpcAdminData()), defaultInfo.hashCode()); assertEquals(nullInfo.hashCode(), defaultInfo.hashCode()); assertFalse(blacklistInfo.hashCode() == whitelistInfo.hashCode()); }
/** * Creates a gadget administration data. * * @param gadgetJson * the gadget JSON object. * @return gadget administration data. * @throws JSONException * thrown when the information cannot found in the JSON object. */ private GadgetAdminData createGadgetAdminData(JSONObject gadgetJson) throws JSONException { FeatureAdminData featureData = new FeatureAdminData(); RpcAdminData rpcData = new RpcAdminData(); if(gadgetJson.has(FEATURES)) { featureData = createFeatureAdminData(gadgetJson.getJSONObject(FEATURES)); } if(gadgetJson.has(RPC)) { rpcData = createRpcAdminData(gadgetJson.getJSONObject(RPC)); } return new GadgetAdminData(featureData, rpcData); }
public boolean isAllowedFeature(Feature feature, Gadget gadget) { String container = getSafeContainerFromGadget(gadget); String gadgetUrl = getSafeGadgetUrlFromGadget(gadget); if (container == null || gadgetUrl == null) { return false; } if (!isFeatureAdminEnabled(container)) { return true; } if (!hasGadgetAdminData(container, gadgetUrl)) { // If feature administration is not enabled assume the feature is allowed return false; } GadgetAdminData gadgetAdminData = getGadgetAdminData(container, gadgetUrl); FeatureAdminData featureAdminData = gadgetAdminData.getFeatureAdminData(); String featureName = feature.getName(); switch (featureAdminData.getType()) { case BLACKLIST: return !featureAdminData.getFeatures().contains(featureName); case WHITELIST: default: return featureAdminData.getFeatures().contains(featureName); } }
@Test public void testEquals() { assertTrue(whitelistInfo.equals(new GadgetAdminData(whitelistFeatures, rpcAdminData))); assertTrue(nullInfo.equals(new GadgetAdminData(null, null))); assertTrue(defaultInfo.equals(new GadgetAdminData())); assertTrue(nullInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(null)); assertFalse(whitelistInfo.equals(new Object())); assertFalse(whitelistInfo.equals(blacklistInfo)); assertFalse(whitelistInfo.equals(defaultInfo)); assertFalse(whitelistInfo.equals(nullInfo)); }
@Test public void testGetRpcAdminData() { assertEquals(rpcAdminData, whitelistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), blacklistInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), nullInfo.getRpcAdminData()); assertEquals(new RpcAdminData(), defaultInfo.getRpcAdminData()); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); rpcServiceIds = Sets.newHashSet(RPC1, RPC2); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(rpcServiceIds); whitelistInfo = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistInfo = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); nullInfo = new GadgetAdminData(null, null); defaultInfo = new GadgetAdminData(); }
@Before public void setUp() throws Exception { whitelist = Sets.newHashSet(VIEWS, SETPREFS, TABS); blacklist = Sets.newHashSet(EE, SELECTION); rpcServiceIds = Sets.newHashSet(RPC1, RPC2); whitelistFeatures = new FeatureAdminData(whitelist, Type.WHITELIST); blacklistFeatures = new FeatureAdminData(blacklist, Type.BLACKLIST); rpcAdminData = new RpcAdminData(rpcServiceIds); whitelistInfo = new GadgetAdminData(whitelistFeatures, rpcAdminData); blacklistInfo = new GadgetAdminData(blacklistFeatures, new RpcAdminData()); nullInfo = new GadgetAdminData(null, null); defaultInfo = new GadgetAdminData(); }