public Class<? extends ExternalReferenceSPI> getTargetType() { if (translators.isEmpty() == false) { return translators.get(translators.size() - 1) .getTargetReferenceType(); } else if (this.initialBuilder != null) { return this.initialBuilder.getReferenceType(); } else { return null; } }
public Class<? extends ExternalReferenceSPI> getTargetType() { if (translators.isEmpty() == false) { return translators.get(translators.size() - 1).getTargetReferenceType(); } else if (this.initialBuilder != null) { return this.initialBuilder.getReferenceType(); } else { return null; } }
public Class<? extends ExternalReferenceSPI> getTargetType() { if (translators.isEmpty() == false) { return translators.get(translators.size() - 1) .getTargetReferenceType(); } else if (this.initialBuilder != null) { return this.initialBuilder.getReferenceType(); } else { return null; } }
/** * Inject a list containing all known implementations of ExternalReferenceTranslatorSPI. * * @throws IllegalStateException * if this has already been set, the instance registries should only be set on bean * construction. */ public synchronized void setTranslators(List<ExternalReferenceTranslatorSPI<?, ?>> translators) { if (this.translators == null) { this.translators = translators; log.debug("* Translators injected :"); int counter = 0; for (ExternalReferenceTranslatorSPI<?, ?> translator : translators) { log.debug("* " + (++counter) + ") " + translator.getClass().getSimpleName() + ", translates " + translator.getSourceReferenceType().getSimpleName() + " to " + translator.getTargetReferenceType().getSimpleName()); } cacheValid = false; } else { log.error("Translator registry already injected, invalid operation"); throw new IllegalStateException("Can't inject the translator registry multiple times."); } }
+ translator.getSourceReferenceType().getSimpleName() + " to " + translator.getTargetReferenceType().getSimpleName());
@SuppressWarnings("unchecked") protected synchronized final void update() { if (builders == null || translators == null || cacheValid) { return; } log.debug("# Refreshing shortest path cache"); knownReferenceTypes.clear(); solvers.clear(); adjacencySets.clear(); for (ExternalReferenceBuilderSPI erb : builders) { knownReferenceTypes.add(erb.getReferenceType()); } for (ExternalReferenceTranslatorSPI ert : translators) { knownReferenceTypes.add(ert.getSourceReferenceType()); knownReferenceTypes.add(ert.getTargetReferenceType()); getNeighbours(ert.getTargetReferenceType()).add(ert); } for (Class<ExternalReferenceSPI> type : knownReferenceTypes) { try { solvers.put(type, new ShortestPathSolver(type)); } catch (Throwable t) { log.error(t); if (t instanceof RuntimeException) { throw (RuntimeException) t; } } } log.debug("# Path cache refresh done"); cacheValid = true; }
@SuppressWarnings("unchecked") protected synchronized final void update() { if (builders == null || translators == null || cacheValid) { return; } log.debug("# Refreshing shortest path cache"); knownReferenceTypes.clear(); solvers.clear(); adjacencySets.clear(); for (ExternalReferenceBuilderSPI erb : builders) { knownReferenceTypes.add(erb.getReferenceType()); } for (ExternalReferenceTranslatorSPI ert : translators) { knownReferenceTypes.add(ert.getSourceReferenceType()); knownReferenceTypes.add(ert.getTargetReferenceType()); getNeighbours(ert.getTargetReferenceType()).add(ert); } for (Class<ExternalReferenceSPI> type : knownReferenceTypes) { try { solvers.put(type, new ShortestPathSolver(type)); } catch (Throwable t) { t.printStackTrace(); if (t instanceof RuntimeException) { throw (RuntimeException) t; } } } log.debug("# Path cache refresh done"); cacheValid = true; }
@SuppressWarnings("unchecked") protected synchronized final void update() { if (builders == null || translators == null || cacheValid) { return; } log.debug("# Refreshing shortest path cache"); knownReferenceTypes.clear(); solvers.clear(); adjacencySets.clear(); for (ExternalReferenceBuilderSPI erb : builders) { knownReferenceTypes.add(erb.getReferenceType()); } for (ExternalReferenceTranslatorSPI ert : translators) { knownReferenceTypes.add(ert.getSourceReferenceType()); knownReferenceTypes.add(ert.getTargetReferenceType()); getNeighbours(ert.getTargetReferenceType()).add(ert); } for (Class<ExternalReferenceSPI> type : knownReferenceTypes) { try { solvers.put(type, new ShortestPathSolver(type)); } catch (Throwable t) { t.printStackTrace(); if (t instanceof RuntimeException) { throw (RuntimeException) t; } } } log.debug("# Path cache refresh done"); cacheValid = true; }
/** * Return a human readable representation of this translation path, used by the logging * methods to print trace information. */ @SuppressWarnings("unchecked") @Override public String toString() { StringBuffer sb = new StringBuffer(); sb.append(getPathCost() + " "); if (sourceReference != null && initialBuilder != null) { sb.append(sourceReference.toString() + "->bytes(" + sourceReference.getResolutionCost() + ")->"); String builderClassName = initialBuilder.getClass().getSimpleName(); String builtType = initialBuilder.getReferenceType().getSimpleName(); sb.append("builder:" + builderClassName + "(" + initialBuilder.getConstructionCost() + "):<" + builtType + ">"); } else if (translators.isEmpty() == false) { sb.append("<" + translators.get(0).getSourceReferenceType().getSimpleName() + ">"); } for (ExternalReferenceTranslatorSPI translator : translators) { sb.append("-" + translator.getClass().getSimpleName() + "(" + translator.getTranslationCost() + ")" + "-"); sb.append("<" + translator.getTargetReferenceType().getSimpleName() + ">"); } return sb.toString(); }
+ translator.getTranslationCost() + ")" + "-"); sb.append("<" + translator.getTargetReferenceType().getSimpleName() + ">");
+ translator.getSourceReferenceType().getSimpleName() + " to " + translator.getTargetReferenceType().getSimpleName());
+ translator.getTranslationCost() + ")" + "-"); sb.append("<" + translator.getTargetReferenceType().getSimpleName() + ">");