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 ExternalReferenceBuilderSPI. * * @throws IllegalStateException * if this has already been set, the instance registries should only be set on bean * construction. */ public synchronized void setBuilders(List<ExternalReferenceBuilderSPI<?>> builders) { if (this.builders == null) { this.builders = builders; log.debug("* Builders injected :"); int counter = 0; for (ExternalReferenceBuilderSPI<?> builder : builders) { log.debug("* " + (++counter) + ") " + builder.getClass().getSimpleName() + ", builds " + builder.getReferenceType().getSimpleName()); } cacheValid = false; } else { log.error("Builder registry already injected, invalid operation"); throw new IllegalStateException("Can't inject the external reference builder registry " + "multiple times."); } }
/** * Inject an instance registry containing all known implementations of * ExternalReferenceBuilderSPI * * * @throws IllegalStateException * if this has already been set, the instance registries should * only be set on bean construction. */ @SuppressWarnings("unchecked") public synchronized void setBuilderRegistry( InstanceRegistry<ExternalReferenceBuilderSPI<?>> theRegistry) { if (this.builders == null) { this.builders = theRegistry; theRegistry.addInstanceRegistryListener(registryListener); log.debug("* Builder registry injected :"); int counter = 0; for (ExternalReferenceBuilderSPI<?> builder : theRegistry) { log.debug("* " + (++counter) + ") " + builder.getClass().getSimpleName() + ", builds " + builder.getReferenceType().getSimpleName()); } cacheValid = false; } else { log.error("Builder registry already injected, invalid operation"); throw new IllegalStateException( "Can't inject the external reference builder registry " + "multiple times."); } }
/** * 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(); }
/** * Inject an instance registry containing all known implementations of * ExternalReferenceBuilderSPI * * * @throws IllegalStateException * if this has already been set, the instance registries should * only be set on bean construction. */ public synchronized void setBuilderRegistry( InstanceRegistry<ExternalReferenceBuilderSPI<?>> theRegistry) { if (this.builders == null) { this.builders = theRegistry; theRegistry.addRegistryListener(registryListener); List<ExternalReferenceBuilderSPI<?>> erb = theRegistry .getInstances(); log.debug("* Builder registry injected :"); int counter = 0; for (ExternalReferenceBuilderSPI<?> builder : erb) { log.debug("* " + (++counter) + ") " + builder.getClass().getSimpleName() + ", builds " + builder.getReferenceType().getSimpleName()); } cacheValid = false; } else { log.error("Builder registry already injected, invalid operation"); throw new IllegalStateException( "Can't inject the external reference builder registry " + "multiple times."); } }
String builderClassName = initialBuilder.getClass() .getSimpleName(); String builtType = initialBuilder.getReferenceType() .getSimpleName(); sb.append("builder:" + builderClassName + "("
String builderClassName = initialBuilder.getClass() .getSimpleName(); String builtType = initialBuilder.getReferenceType() .getSimpleName(); sb.append("builder:" + builderClassName + "("
@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; }
if (erb.getReferenceType().equals(this.getSourceType())) {
if (erb.getReferenceType().equals(this.getSourceType())) {
if (erb.getReferenceType().equals(this.getSourceType())) {
if (targetReferenceTypes.contains(builder.getReferenceType())) {
if (targetReferenceTypes.contains(builder.getReferenceType())) {
if (targetReferenceTypes.contains(builder.getReferenceType())) {