Пример #1
0
 static final void fillActiveCallsWithEmpties(
     Building building) { // makes a call with default values
   for (int i = 0;
       i <= building.getCallLength() - 1;
       i++) { // populates the buildings call for the day
     Calls person = new Calls(); // creates call to build
     person.PopulateCalls(-1, -1, -1, -1, -1); // default values
     building.setActiveCallPosition(i, person);
   }
 }
 private final EntityProducer getEntityProducerNoDebug(String reference, Reference target) {
   if (reference.trim().length() == 0) {
     return null;
   }
   String ref = reference;
   int n = ref.indexOf('/', 1);
   if (n > 0) {
     if (ref.charAt(0) == '/') {
       ref = ref.substring(1, n);
     } else {
       ref = ref.substring(0, n);
     }
   }
   if (m_rejectRef.get(ref) != null) {
     return null;
   }
   EntityProducer ep = m_producers.get(ref);
   if (ep != null) {
     if (ep.parseEntityReference(reference, target)) {
       return ep;
     }
   }
   for (Iterator<EntityProducer> iServices = m_producers.values().iterator();
       iServices.hasNext(); ) {
     EntityProducer service = iServices.next();
     Calls c = m_performance.get(service);
     c.iterateStart();
     try {
       if (service.parseEntityReference(reference, target)) {
         c.iterateMatch();
         return service;
       }
     } finally {
       c.iterateEnd();
     }
   }
   return null;
 }
  private final EntityProducer getEntityProducerWithDebug(String reference, Reference target) {
    nparse++;
    long start = System.currentTimeMillis();
    try {
      if (reference.trim().length() == 0) {
        return null;
      }
      if (nparse == 1000) {
        long t = total;
        double rate = (1.0 * t) / (1.0 * nparse);
        nparse = 0;
        StringBuilder sb = new StringBuilder();
        for (Calls c : m_performance.values()) {
          sb.append("\n     ").append(c);
        }
        for (String c : m_producers.keySet()) {
          sb.append("\n     [").append(c).append("]").append(m_producers.get(c));
        }
        M_log.debug("EntityManager Montor " + sb.toString());
        M_log.info("EntityManager Montor Average " + rate + " ms per parse");
      }

      String ref = reference;
      int n = ref.indexOf('/', 1);
      if (n > 0) {
        if (ref.charAt(0) == '/') {
          ref = ref.substring(1, n);
        } else {
          ref = ref.substring(0, n);
        }
      }
      if (m_rejectRef.get(ref) != null) {
        return null;
      }
      EntityProducer ep = m_producers.get(ref);
      if (ep != null) {
        Calls c = m_performance.get(ep);
        c.lookupStart();
        try {
          if (ep.parseEntityReference(reference, target)) {
            c.lookupMatch();
            return ep;
          }
        } finally {
          c.lookupEnd();
        }
      }
      M_log.info("Entity Scan for " + ref + " for " + reference);
      for (Iterator<EntityProducer> iServices = m_producers.values().iterator();
          iServices.hasNext(); ) {
        EntityProducer service = iServices.next();
        Calls c = m_performance.get(service);
        c.iterateStart();
        try {
          if (service.parseEntityReference(reference, target)) {
            c.iterateMatch();
            return service;
          }
        } finally {
          c.iterateEnd();
        }
      }
      M_log.info(
          "Nothing Found for  "
              + ref
              + " for "
              + reference
              + " adding "
              + ref
              + " to the reject list");
      Exception e = new Exception("Traceback");
      M_log.info("Traceback ", e);
      addRejectRef(ref);
      return null;
    } finally {
      total += (System.currentTimeMillis() - start);
    }
  }