public void addReference(GReferenceInfo info) { references.put(info.getName(), new RefInfo(info.getReferenceType(), info.getNameTypeName())); }
protected final String getDescription() { return "\n GBeanInstance: " + gbeanInstance.getName() + "\n Reference Name: " + getName() + "\n Reference Type: " + referenceInfo.getReferenceType() + "\n Proxy Type: " + referenceInfo.getProxyType(); }
public static AbstractNameQuery buildAbstractNameQuery(PatternType pattern, GReferenceInfo referenceInfo) { String nameTypeName = referenceInfo == null? null: referenceInfo.getNameTypeName(); Set interfaceTypes = referenceInfo == null? null: Collections.singleton(referenceInfo.getReferenceType()); return buildAbstractNameQuery(pattern, nameTypeName, interfaceTypes); }
this.hasTargets = hasTargets; this.name = referenceInfo.getName(); try { this.referenceType = ClassLoading.loadClass(referenceInfo.getReferenceType(), gbeanInstance.getType().getClassLoader()); } catch (ClassNotFoundException e) { throw new InvalidConfigurationException("Could not load Reference Type: " + getDescription(), e); this.proxyType = ClassLoading.loadClass(referenceInfo.getProxyType(), gbeanInstance.getType().getClassLoader()); } catch (ClassNotFoundException e) { throw new InvalidConfigurationException("Could not load Proxy Type:" + getDescription(), e); if (referenceInfo.getSetterName() != null) { try { String setterName = referenceInfo.getSetterName(); Method setterMethod = gbeanInstance.getType().getMethod(setterName, new Class[] {proxyType}); if (NO_PROXY) {
for (Iterator iterator = gbeanInfo.getReferences().iterator(); iterator.hasNext();) { GReferenceInfo referenceInfo = (GReferenceInfo) iterator.next(); String referenceName = referenceInfo.getName(); ReferencePatterns referencePatterns = (ReferencePatterns) dataReferences.remove(referenceName); if (referenceInfo.getProxyType().equals(Collection.class.getName())) { referencesSet.add(new GBeanCollectionReference(this, referenceInfo, kernel, referencePatterns));
public static LinkedHashSet<String> getImports(List<GBeanData> gbeans) { LinkedHashSet<String> imports = new LinkedHashSet<String>(); for (GBeanData data: gbeans) { GBeanInfo info = data.getGBeanInfo(); addImport(imports, info.getClassName()); for (GAttributeInfo attInfo: info.getAttributes()) { addImport(imports, attInfo.getType()); } for (GReferenceInfo refInfo: info.getReferences()) { addImport(imports, refInfo.getReferenceType()); } for (GOperationInfo opInfo: info.getOperations()) { addImport(imports, opInfo.getReturnType()); for (String paramType : opInfo.getParameterList()) { addImport(imports, paramType); } } } return imports; }
private String verifyReference(GBeanData gbean, String referenceName, ReferencePatterns referencePatterns, Configuration configuration) { GReferenceInfo referenceInfo = gbean.getGBeanInfo().getReference(referenceName); // if there is no reference info we can't verify if (referenceInfo == null) return null; // A collection valued reference doesn't need to be verified if (referenceInfo.getProxyType().equals(Collection.class.getName())) return null; String message = isVerifyReference(referencePatterns, configuration); if (message != null) { return "Unable to resolve reference \"" + referenceName + "\"\n" + " in gbean " + gbean.getAbstractName() + "\n to a gbean matching the pattern " + referencePatterns.getPatterns() + "\n due to: " + message; } return null; }
for (Iterator iterator = references.iterator(); iterator.hasNext();) { GReferenceInfo reference = (GReferenceInfo) iterator.next(); map.put(reference.getName(), reference);
referenceInfos.add(new GReferenceInfo(referenceName, referenceType, proxyType, setterName, namingType));
throw new InvalidConfigException("No reference named " + referenceName + " in gbean " + gbeanData.getAbstractName()); boolean isSingleValued = !referenceInfo.getProxyType().equals(Collection.class.getName()); if (isSingleValued) { ReferencePatterns referencePatterns = gbeanData.getReferencePatterns(referenceName);
private AbstractNameQuery buildAbstractNameQuery(String refName, PatternType pattern) throws DeploymentException { // if (refName == null) { // throw new DeploymentException("No type specified in dependency pattern " + pattern + " for gbean " + gbean.getName()); // } assert refName != null; GReferenceInfo referenceInfo = null; Set referenceInfos = gbean.getGBeanInfo().getReferences(); for (Iterator iterator = referenceInfos.iterator(); iterator.hasNext();) { GReferenceInfo testReferenceInfo = (GReferenceInfo) iterator.next(); String testRefName = testReferenceInfo.getName(); if (testRefName.equals(refName)) { referenceInfo = testReferenceInfo; } } if (referenceInfo == null) { throw new DeploymentException("No reference named " + refName + " in gbean " + gbean.getAbstractName()); } return buildAbstractNameQuery(pattern, referenceInfo); }
references.put(referenceInfo.getName(), new RefInfo(referenceInfo.getReferenceType(), referenceInfo.getNameTypeName()));