本文整理了Java中aQute.bnd.osgi.Analyzer.exception()
方法的一些代码示例,展示了Analyzer.exception()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Analyzer.exception()
方法的具体详情如下:
包路径:aQute.bnd.osgi.Analyzer
类名称:Analyzer
方法名:exception
暂无
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
/**
*
*/
void doPlugins() {
for (AnalyzerPlugin plugin : getPlugins(AnalyzerPlugin.class)) {
try {
boolean reanalyze;
Processor previous = beginHandleErrors(plugin.toString());
try {
reanalyze = plugin.analyzeJar(this);
} finally {
endHandleErrors(previous);
}
if (reanalyze) {
classspace.clear();
analyzeBundleClasspath();
}
} catch (Exception e) {
exception(e, "Analyzer Plugin %s failed %s", plugin, e);
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
Verifier.verifyFilter(filter, 0);
} catch (Exception e) {
analyzer.exception(e,
"The Requirement annotation with namespace %s applied to class %s has invalid filter information.",
annotation.namespace(), current.getFQN());
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
Verifier.verifyFilter(filter, 0);
} catch (Exception e) {
analyzer.exception(e,
"The Requirement annotation with namespace %s applied to class %s has invalid filter information.",
annotation.namespace(), current.getFQN());
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
/**
*
*/
void doPlugins() {
for (AnalyzerPlugin plugin : getPlugins(AnalyzerPlugin.class)) {
try {
boolean reanalyze;
Processor previous = beginHandleErrors(plugin.toString());
try {
reanalyze = plugin.analyzeJar(this);
} finally {
endHandleErrors(previous);
}
if (reanalyze) {
classspace.clear();
analyzeBundleClasspath();
}
} catch (Exception e) {
exception(e, "Analyzer Plugin %s failed %s", plugin, e);
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
@Override
public void classBegin(int access, TypeRef name) {
definitions.get(0).implementation = name;
PackageDef packageDef = packageInfos.computeIfAbsent(name.getPackageRef(), k -> {
Clazz packageInfoClazz = analyzer.getPackageInfo(k);
if (packageInfoClazz != null) {
try {
PackageDef pd = new PackageDef();
packageInfoClazz.parseClassFileWithCollector(pd);
return pd;
} catch (Exception e) {
analyzer.exception(e, "Error while processing package-info of class %s", clazz);
}
}
return new PackageDef();
});
if (packageDef.marked != null) {
definitions.get(0).marked = packageDef.marked.matches(name.getFQN());
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
Version.parseVersion(annotation.version());
} catch (Exception e) {
analyzer.exception(e,
"The version declared by the Capability annotation attached to type %s is invalid",
current.getFQN());
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
@Override
public void classBegin(int access, TypeRef name) {
definitions.get(0).implementation = name;
PackageDef packageDef = packageInfos.computeIfAbsent(name.getPackageRef(), k -> {
Clazz packageInfoClazz = analyzer.getPackageInfo(k);
if (packageInfoClazz != null) {
try {
PackageDef pd = new PackageDef();
packageInfoClazz.parseClassFileWithCollector(pd);
return pd;
} catch (Exception e) {
analyzer.exception(e, "Error while processing package-info of class %s", clazz);
}
}
return new PackageDef();
});
if (packageDef.marked != null) {
definitions.get(0).marked = packageDef.marked.matches(name.getFQN());
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
@Override
public void annotation(Annotation annotation) {
try {
switch (annotation.getName()
.getFQN()) {
case "org.osgi.service.cdi.annotations.Bean" :
definitions.get(0).marked = true;
break;
case "org.osgi.service.cdi.annotations.Service" :
doService(annotation);
break;
case "org.osgi.service.cdi.annotations.MinimumCardinality" :
int minimumCardinality = (int) annotation.get("value");
if (minimumCardinality > 0) {
if (referenceDef == null) {
referenceDef = new ReferenceDef();
}
referenceDef.cardinality = ReferenceCardinality.AT_LEAST_ONE;
}
break;
case "org.osgi.service.cdi.annotations.Reference" :
doReference(annotation, parameter);
break;
}
} catch (Exception e) {
analyzer.exception(e, "During bean processing on class %s, exception %s", clazz, e);
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
/**
* Ensure that we are running on the correct bnd.
*/
protected void doRequireBnd() {
Attrs require = OSGiHeader.parseProperties(getProperty(REQUIRE_BND));
if (require == null || require.isEmpty())
return;
Hashtable<String, String> map = new Hashtable<>();
map.put(Constants.VERSION_FILTER, getBndVersion());
for (String filter : require.keySet()) {
try {
Filter f = new Filter(filter);
if (f.match(map))
continue;
error("%s fails for filter %s values=%s", REQUIRE_BND, require.get(filter), map);
} catch (Exception t) {
exception(t, "%s with value %s throws exception", REQUIRE_BND, require);
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
/**
* Ensure that we are running on the correct bnd.
*/
protected void doRequireBnd() {
Attrs require = OSGiHeader.parseProperties(getProperty(REQUIRE_BND));
if (require == null || require.isEmpty())
return;
Hashtable<String, String> map = new Hashtable<>();
map.put(Constants.VERSION_FILTER, getBndVersion());
for (String filter : require.keySet()) {
try {
Filter f = new Filter(filter);
if (f.match(map))
continue;
error("%s fails for filter %s values=%s", REQUIRE_BND, require.get(filter), map);
} catch (Exception t) {
exception(t, "%s with value %s throws exception", REQUIRE_BND, require);
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
@Override
public void annotation(Annotation annotation) {
try {
switch (annotation.getName()
.getFQN()) {
case "org.osgi.service.cdi.annotations.Bean" :
definitions.get(0).marked = true;
break;
case "org.osgi.service.cdi.annotations.Service" :
doService(annotation);
break;
case "org.osgi.service.cdi.annotations.MinimumCardinality" :
int minimumCardinality = (int) annotation.get("value");
if (minimumCardinality > 0) {
if (referenceDef == null) {
referenceDef = new ReferenceDef();
}
referenceDef.cardinality = ReferenceCardinality.AT_LEAST_ONE;
}
break;
case "org.osgi.service.cdi.annotations.Reference" :
doReference(annotation, parameter);
break;
}
} catch (Exception e) {
analyzer.exception(e, "During bean processing on class %s, exception %s", clazz, e);
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
private boolean acceptableType(String rtype) {
TypeRef ref = analyzer.getTypeRef(rtype);
try {
Clazz returnType = analyzer.findClass(ref);
if (returnType.isEnum()) {
return true;
}
// TODO check this is true for interfaces and annotations
if (!returnType.isAbstract() || (returnType.isInterface() && options.contains(Options.nested))) {
return true;
}
if (!returnType.isInterface()) {
analyzer.error("Abstract classes not allowed as interface method return values: %s", rtype);
} else {
analyzer.error("Nested metatype only allowed with option: nested type %s", rtype);
}
return false;
} catch (Exception e) {
analyzer.exception(e, "could not examine class for return type %s, exception message: %s", rtype, e);
return false;
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
private boolean acceptableType(String rtype) {
TypeRef ref = analyzer.getTypeRef(rtype);
try {
Clazz returnType = analyzer.findClass(ref);
if (returnType.isEnum()) {
return true;
}
// TODO check this is true for interfaces and annotations
if (!returnType.isAbstract() || (returnType.isInterface() && options.contains(Options.nested))) {
return true;
}
if (!returnType.isInterface()) {
analyzer.error("Abstract classes not allowed as interface method return values: %s", rtype);
} else {
analyzer.error("Nested metatype only allowed with option: nested type %s", rtype);
}
return false;
} catch (Exception e) {
analyzer.exception(e, "could not examine class for return type %s, exception message: %s", rtype, e);
return false;
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
@Override
public void annotation(Annotation annotation) throws Exception {
try {
switch (annotation.getName()
.getFQN()) {
case "org.osgi.service.metatype.annotations.ObjectClassDefinition" :
doOCD(annotation.getAnnotation(ObjectClassDefinition.class), annotation);
break;
case "org.osgi.service.metatype.annotations.AttributeDefinition" :
current.ad = annotation.getAnnotation(AttributeDefinition.class);
current.a = annotation;
break;
default :
XMLAttribute xmlAttr = finder.getXMLAttribute(annotation);
if (xmlAttr != null) {
doXmlAttribute(annotation, xmlAttr);
}
break;
}
} catch (Exception e) {
analyzer.exception(e, "During generation of a component on class %s, exception %s", clazz, e);
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
@Override
public void annotation(Annotation annotation) throws Exception {
try {
switch (annotation.getName()
.getFQN()) {
case "org.osgi.service.metatype.annotations.ObjectClassDefinition" :
doOCD(annotation.getAnnotation(ObjectClassDefinition.class), annotation);
break;
case "org.osgi.service.metatype.annotations.AttributeDefinition" :
current.ad = annotation.getAnnotation(AttributeDefinition.class);
current.a = annotation;
break;
default :
XMLAttribute xmlAttr = finder.getXMLAttribute(annotation);
if (xmlAttr != null) {
doXmlAttribute(annotation, xmlAttr);
}
break;
}
} catch (Exception e) {
analyzer.exception(e, "During generation of a component on class %s, exception %s", clazz, e);
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
private void parseExtends(Clazz clazz) {
TypeRef[] inherits = clazz.getInterfaces();
if (inherits != null) {
for (TypeRef typeRef : inherits) {
if (!typeRef.isJava() && analyzed.add(typeRef)) {
try {
Clazz inherit = analyzer.findClass(typeRef);
if (inherit != null) {
inherit.parseClassFileWithCollector(new OCDDataCollector(ocd));
parseExtends(inherit);
} else {
analyzer.error("Could not obtain super class %s of class %s", typeRef.getFQN(),
clazz.getClassName()
.getFQN());
}
} catch (Exception e) {
analyzer.exception(e, "Could not obtain super class %s of class %s; exception %s",
typeRef.getFQN(), clazz.getClassName()
.getFQN(),
e);
}
}
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
private void parseExtends(Clazz clazz) {
TypeRef[] inherits = clazz.getInterfaces();
if (inherits != null) {
for (TypeRef typeRef : inherits) {
if (!typeRef.isJava() && analyzed.add(typeRef)) {
try {
Clazz inherit = analyzer.findClass(typeRef);
if (inherit != null) {
inherit.parseClassFileWithCollector(new OCDDataCollector(ocd));
parseExtends(inherit);
} else {
analyzer.error("Could not obtain super class %s of class %s", typeRef.getFQN(),
clazz.getClassName()
.getFQN());
}
} catch (Exception e) {
analyzer.exception(e, "Could not obtain super class %s of class %s; exception %s",
typeRef.getFQN(), clazz.getClassName()
.getFQN(),
e);
}
}
}
}
}
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
.exception(e, "An error occurred when attempting to process annotation %s, applied to component %s",
annotation.getName()
.getFQN(),
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bndlib
.exception(e,
"Exception looking at annotation type for activation object with descriptor %s, type %s",
memberDescriptor, param.binary)
代码示例来源:origin: biz.aQute.bnd/biz.aQute.bnd
.exception(e, "An error occurred when attempting to process annotation %s, applied to component %s",
annotation.getName()
.getFQN(),
内容来源于网络,如有侵权,请联系作者删除!