public Destination findDestinationById(String messageType, String id) { for (Service service : services.values()) { if (messageType == null || messageType.equals(service.getMessageTypes())) { Destination destination = service.findDestinationById(id); if (destination != null) return destination; } } return null; }
@Override public String toString() { return "Destination{" + "id='" + id + '\'' + ", service='" + service.getId() + '\'' + '}'; } }
public List<Destination> findDestinationsByMessageType(String messageType) { List<Destination> destinations = new ArrayList<Destination>(); for (Service service : services.values()) { if (messageType.equals(service.getMessageTypes())) destinations.addAll(service.getDestinations().values()); } return destinations; }
if (RemotingMessage.class.getName().equals(s.getMessageTypes())) { service = s; log.info("Service " + service.getId() + " selected for destination in class: " + clazz.getName()); break; Destination dest=service.getDestinations().remove(anno.id()); if (dest != null) { dest.remove();
Map<String, Adapter> adapters = new HashMap<String, Adapter>(); adapters.put(adapter.getId(), adapter); service = new Service("gravity-service", "flex.messaging.services.MessagingService", "flex.messaging.messages.AsyncMessage", adapter, adapters, new HashMap<String, Destination>()); servicesConfig.addService(service); service = services.get(0); Adapter ad = buildAdapter(); adapter = service.findAdapterById(ad.getId()); if (adapter == null) { adapter = ad; service.addAdapter(adapter); service.getDestinations().put(id, buildDestination(adapter));
if (services != null) { for (XMap service : services.getAll("service")) { Service serv = Service.forElement(service); this.services.put(serv.getId(), serv);
@Validate public void start() { log.debug("Start OSGiDestinationSimple: " + toString()); if (service.findDestinationById(id) == null) { service.addDestination(this); started = true; } else { log.error("Destination \"" + id + "\" already registered"); } }
public void initServices(ServicesConfig servicesConfig) { Channel channel = servicesConfig.findChannelById("graniteamf"); if (channel == null) { channel = new Channel("graniteamf", "mx.messaging.channels.AMFChannel", new EndPoint("http://{server.name}:{server.port}/{context.root}/graniteamf/amf", "flex.messaging.endpoints.AMFEndpoint"), new XMap()); servicesConfig.addChannel(channel); } List<Service> services = servicesConfig.findServicesByMessageType("flex.messaging.messages.RemotingMessage"); Service service = null; if (services == null || services.isEmpty()) { service = new Service("granite-service", "flex.messaging.services.RemotingService", "flex.messaging.messages.RemotingMessage", null, null, new HashMap<String, Destination>()); servicesConfig.addService(service); } else service = services.get(0); service.getDestinations().put(source, buildDestination()); log.info("Registered remote destination %s", source); }
public List<Service> findServicesByMessageType(String messageType) { List<Service> services = new ArrayList<Service>(); for (Service service : this.services.values()) { if (messageType.equals(service.getMessageTypes())) services.add(service); } return services; }
public static Service forElement(XMap element) { String id = element.get("@id"); String className = element.get("@class"); String messageTypes = element.get("@messageTypes"); Adapter defaultAdapter = null; Map<String, Adapter> adaptersMap = new HashMap<String, Adapter>(); for (XMap adapter : element.getAll("adapters/adapter-definition")) { Adapter ad = Adapter.forElement(adapter); if (Boolean.TRUE.toString().equals(adapter.get("@default"))) defaultAdapter = ad; adaptersMap.put(ad.getId(), ad); } Map<String, Destination> destinations = new HashMap<String, Destination>(); for (XMap destinationElt : element.getAll("destination")) { Destination destination = Destination.forElement(destinationElt, defaultAdapter, adaptersMap); destinations.put(destination.getId(), destination); } return new Service(id, className, messageTypes, defaultAdapter, adaptersMap, destinations); } }
if (RemotingMessage.class.getName().equals(s.getMessageTypes())) { service = s; log.info("Service " + service.getId() + " selected for destination in class: " + clazz.getName()); break; Destination dest=service.getDestinations().remove(anno.id()); if (dest != null) { dest.remove();
if (services != null) { for (XMap service : services.getAll("service")) { Service serv = Service.forElement(service); this.services.put(serv.getId(), serv);
@Validate public void start() { log.debug("Start OSGiDestinationAdapter: " + toString()); if (service.findDestinationById(id) == null) { service.addDestination(this); started = true; } else { log.error("Destination \"" + id + "\" already registered"); } }
service = new Service("granite-service", "flex.messaging.services.RemotingService", "flex.messaging.messages.RemotingMessage", null, null, new HashMap<String, Destination>()); List<String> channelIds = new ArrayList<String>(); if (!("".equals(serverFilter.validatorClassName()))) destination.getProperties().put("validator-class-name", serverFilter.validatorClassName()); service.getDestinations().put(type, destination); servicesConfig.addFactory(factory); Service service = new Service("granite-service", "flex.messaging.services.RemotingService", "flex.messaging.messages.RemotingMessage", null, null, new HashMap<String, Destination>()); servicesConfig.addService(service);
public List<Service> findServicesByMessageType(String messageType) { List<Service> services = new ArrayList<Service>(); for (Service service : this.services.values()) { if (messageType.equals(service.getMessageTypes())) services.add(service); } return services; }
public static Service forElement(XMap element) { String id = element.get("@id"); String className = element.get("@class"); String messageTypes = element.get("@messageTypes"); Adapter defaultAdapter = null; Map<String, Adapter> adaptersMap = new HashMap<String, Adapter>(); for (XMap adapter : element.getAll("adapters/adapter-definition")) { Adapter ad = Adapter.forElement(adapter); if (Boolean.TRUE.toString().equals(adapter.get("@default"))) defaultAdapter = ad; adaptersMap.put(ad.getId(), ad); } Map<String, Destination> destinations = new HashMap<String, Destination>(); for (XMap destinationElt : element.getAll("destination")) { Destination destination = Destination.forElement(destinationElt, defaultAdapter, adaptersMap); destinations.put(destination.getId(), destination); } return new Service(id, className, messageTypes, defaultAdapter, adaptersMap, destinations); } }
int count = 0; for (Service s : this.services.values()) { if (RemotingMessage.class.getName().equals(s.getMessageTypes())) { log.info("Found service with RemotingMessage type: service=%s (class=%s, anno=%s)", s, clazz, anno); service = s; log.info("Service " + service.getId() + " selected for destination in class: " + clazz.getName()); else { log.error("Found %d matching services (should be exactly 1, class=%s, anno=%s)", count, clazz, anno); service.getDestinations().put(destination.getId(), destination);
public void addService(Service service) { services.put(service.getId(), service); }
public Destination findDestinationById(String messageType, String id) { for (Service service : services.values()) { if (messageType == null || messageType.equals(service.getMessageTypes())) { Destination destination = service.findDestinationById(id); if (destination != null) return destination; } } return null; }
@Validate public void start() { log.debug("Start OSGiDestinationFactory: " + toString()); if (service.findDestinationById(id) == null) { this.properties.put("factory", factory.getId()); service.addDestination(this); started = true; } else { log.error("Destination \"" + id + "\" already registered"); } }