/**
   * Create new instance of {@link ComponentProviderService}. Searches for registered {@link
   * ComponentProvider}s and registers them with this service. {@link DefaultComponentProvider} is
   * always added to found providers.
   *
   * @return initialized {@link ComponentProviderService}.
   */
  public static ComponentProviderService create() {
    final List<ComponentProvider> foundProviders = new ArrayList<ComponentProvider>();
    ServiceFinder<ComponentProvider> finder = ServiceFinder.find(ComponentProvider.class);

    for (ComponentProvider componentProvider : finder) {
      foundProviders.add(componentProvider);
    }

    foundProviders.add(new DefaultComponentProvider());
    return new ComponentProviderService(Collections.unmodifiableList(foundProviders));
  }
示例#2
0
 public List removePendingMessages(MessageTemplate template, boolean notifyFailure) {
   List pendingMsg = ((jade.imtp.leap.FrontEndStub) myFrontEnd).removePendingMessages(template);
   if (pendingMsg.size() > 0) {
     myLogger.log(
         Logger.INFO, "Removed " + pendingMsg.size() + " pending messages from BackEnd queue.");
   }
   if (notifyFailure) {
     Iterator it = pendingMsg.iterator();
     while (it.hasNext()) {
       try {
         Object[] removed = (Object[]) it.next();
         ACLMessage msg = (ACLMessage) removed[0];
         AID receiver = new AID((String) removed[1], AID.ISLOCALNAME);
         ServiceFinder myFinder = getServiceFinder();
         MessagingService msgSvc = (MessagingService) myFinder.findService(MessagingSlice.NAME);
         msgSvc.notifyFailureToSender(
             new GenericMessage(msg), receiver, new InternalError("Agent dead"));
       } catch (Exception e) {
         myLogger.log(Logger.WARNING, "Cannot send AMS FAILURE. " + e);
       }
     }
   }
   return pendingMsg;
 }
示例#3
0
 @Override
 public void configure() {
   for (T t : ServiceFinder.find(contract, true)) {
     bind(t).to(contract);
   }
 }
示例#4
0
 private static IniBuilder newInstance() {
   return ServiceFinder.findService(IniBuilder.class);
 }