private boolean _unRegister(String regisID) { boolean rvalue = false; RegistrationContext rc = null; Map<String, List<RegistrationListener>> listenerMap; wLock.lock(); try { rc = id2RegisContextMap.remove(regisID); rvalue = id2ProviderMap.containsKey(regisID); AuthConfigProvider provider = id2ProviderMap.remove(regisID); List<String> regisIDs = provider2IdsMap.get(provider); if (regisIDs != null) { regisIDs.remove(regisID); } if (regisIDs == null || regisIDs.isEmpty()) { provider2IdsMap.remove(provider); } if (!rvalue) { return false; } listenerMap = getEffectedListeners(regisID); if (rc != null && rc.isPersistent()) { _deleteStoredRegistration(regisID, rc); } } finally { wLock.unlock(); } // outside wLock to prevent dead lock notifyListeners(listenerMap); return rvalue; }
private boolean _unRegister(String regisID) { boolean rvalue = false; RegistrationContext rc = null; Map<String, List<RegistrationListener>> listenerMap; wLock.lock(); try { rc = id2RegisContextMap.remove(regisID); rvalue = id2ProviderMap.containsKey(regisID); AuthConfigProvider provider = id2ProviderMap.remove(regisID); List<String> regisIDs = provider2IdsMap.get(provider); if (regisIDs != null) { regisIDs.remove(regisID); } if (regisIDs == null || regisIDs.isEmpty()) { provider2IdsMap.remove(provider); } if (!rvalue) { return false; } listenerMap = getEffectedListeners(regisID); if (rc != null && rc.isPersistent()) { _deleteStoredRegistration(regisID, rc); } } finally { wLock.unlock(); } // outside wLock to prevent dead lock notifyListeners(listenerMap); return rvalue; }
private void _storeRegistration(String regId, RegistrationContext ctx, AuthConfigProvider p, Map properties) { String className = null; if (p != null) { className = p.getClass().getName(); } if (propertiesContainAnyNonStringValues(properties)) { throw new IllegalArgumentException("AuthConfigProvider cannot be registered - properties must all be of type String."); } if (ctx.isPersistent()) { getRegStore().store(className, ctx, properties); } }
if (selfRegistered.contains(i)) { RegistrationContext c = getFactory().getRegistrationContext(i); if (c != null && !c.isPersistent()) { toBeUnregistered.add(i);
} else if (prevRegisContext != null && prevRegisContext.isPersistent()) { _deleteStoredRegistration(regisID, prevRegisContext);
} else if (prevRegisContext != null && prevRegisContext.isPersistent()) { _deleteStoredRegistration(regisID, prevRegisContext);
if (selfRegistered.contains(i)) { RegistrationContext c = getFactory().getRegistrationContext(i); if (c != null && !c.isPersistent()) { toBeUnregistered.add(i);
/** * to be called by refresh on provider subclass, and after subclass impl. * has reloaded its underlying configuration system. * Note: Spec is silent as to whether self-registrations should be reprocessed. */ public void oldRefresh() { if (getFactory() != null) { String[] regID = getFactory().getRegistrationIDs(this); for (String i : regID) { if (selfRegistered.contains(i)) { RegistrationContext c = getFactory().getRegistrationContext(i); if (c != null && !c.isPersistent()) { getFactory().removeRegistration(i); } } } } epochCarrier.increment(); selfRegister(); }
/** * to be called by refresh on provider subclass, and after subclass impl. * has reloaded its underlying configuration system. * Note: Spec is silent as to whether self-registrations should be reprocessed. */ public void oldRefresh() { if (getFactory() != null) { String[] regID = getFactory().getRegistrationIDs(this); for (String i : regID) { if (selfRegistered.contains(i)) { RegistrationContext c = getFactory().getRegistrationContext(i); if (c != null && !c.isPersistent()) { getFactory().removeRegistration(i); } } } } epochCarrier.increment(); selfRegister(); }
public boolean contextsAreEqual(RegistrationContext a, RegistrationContext b) { if (a == null || b == null) { return false; } else if (a.isPersistent() != b.isPersistent()) { return false; } else if (!a.getAppContext().equals(b.getAppContext())) { return false; } else if (!a.getMessageLayer().equals(b.getMessageLayer())) { return false; } else if (!a.getDescription().equals(b.getDescription())) { return false; } return true; }
EntryInfo(String className, Map<String, String> properties, RegistrationContext ctx) { this.className = className; this.properties = properties; if (ctx != null) { RegistrationContext ctxImpl = new RegistrationContextImpl(ctx.getMessageLayer(), ctx.getAppContext(), ctx.getDescription(), ctx.isPersistent()); List<RegistrationContext> newList = new ArrayList<RegistrationContext>(1); newList.add(ctxImpl); this.regContexts = newList; } }
EntryInfo(String className, Map<String, String> properties, RegistrationContext ctx) { this.className = className; this.properties = properties; if (ctx != null) { RegistrationContext ctxImpl = new RegistrationContextImpl(ctx.getMessageLayer(), ctx.getAppContext(), ctx.getDescription(), ctx.isPersistent()); List<RegistrationContext> newList = new ArrayList<RegistrationContext>(1); newList.add(ctxImpl); this.regContexts = newList; } }
public boolean contextsAreEqual(RegistrationContext a, RegistrationContext b) { if (a == null || b == null) { return false; } else if (a.isPersistent() != b.isPersistent()) { return false; } else if (!a.getAppContext().equals(b.getAppContext())) { return false; } else if (!a.getMessageLayer().equals(b.getMessageLayer())) { return false; } else if (!a.getDescription().equals(b.getDescription())) { return false; } return true; }
private void _deleteStoredRegistration(String regId, RegistrationContext ctx) { if (ctx.isPersistent()) { getRegStore().delete(ctx); } }
private void _storeRegistration(String regId, RegistrationContext ctx, AuthConfigProvider p, Map properties) { String className = null; if (p != null) { className = p.getClass().getName(); } if (propertiesContainAnyNonStringValues(properties)) { throw new IllegalArgumentException("AuthConfigProvider cannot be registered - properties must all be of type String."); } if (ctx.isPersistent()) { getRegStore().store(className, ctx, properties); } }
private void _deleteStoredRegistration(String regId, RegistrationContext ctx) { if (ctx.isPersistent()) { getRegStore().delete(ctx); } }
@Override public boolean equals(Object o) { if (o == null || !(o instanceof RegistrationContext)) { return false; } RegistrationContext target = (RegistrationContext) o; return ( EntryInfo.matchStrings( messageLayer, target.getMessageLayer()) && EntryInfo.matchStrings(appContext, target.getAppContext()) && isPersistent() == target.isPersistent() ); }
RegistrationContextImpl(RegistrationContext ctx) { this.messageLayer = ctx.getMessageLayer(); this.appContext = ctx.getAppContext(); this.description = ctx.getDescription(); this.isPersistent = ctx.isPersistent(); }
@Override public boolean equals(Object o) { if (o == null || !(o instanceof RegistrationContext)) { return false; } RegistrationContext target = (RegistrationContext) o; return ( EntryInfo.matchStrings( messageLayer, target.getMessageLayer()) && EntryInfo.matchStrings(appContext, target.getAppContext()) && isPersistent() == target.isPersistent() ); }
RegistrationContextImpl(RegistrationContext ctx) { this.messageLayer = ctx.getMessageLayer(); this.appContext = ctx.getAppContext(); this.description = ctx.getDescription(); this.isPersistent = ctx.isPersistent(); }