- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.onosproject.yang.compiler.linker.impl.YangResolutionInfoImpl
类的一些代码示例,展示了YangResolutionInfoImpl
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YangResolutionInfoImpl
类的具体详情如下:
包路径:org.onosproject.yang.compiler.linker.impl.YangResolutionInfoImpl
类名称:YangResolutionInfoImpl
[英]Represents implementation of resolution object which will be resolved by linker.
[中]表示将由链接器解析的解析对象的实现。
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
@Override
public void linkInterFile(YangReferenceResolver dataModelRootNode)
throws DataModelException {
curRefResolver = dataModelRootNode;
// Current node to resolve, it can be a YANG type or YANG uses.
T entityToResolve = entityToResolveInfo.getEntityToResolve();
// Check if linking is already done
if (entityToResolve instanceof Resolvable) {
Resolvable resolvable = (Resolvable) entityToResolve;
if (resolvable.getResolvableStatus() == RESOLVED) {
return;
}
} else {
throw new DataModelException(UNRESOLVABLE);
}
if (entityToResolve instanceof YangXPathResolver &&
!(entityToResolve instanceof YangLeafRef)) {
//Process x-path linking.
processXPathLinking(entityToResolve, dataModelRootNode);
} else {
// Push the initial entity to resolve in stack.
addInPartialResolvedStack(entityToResolveInfo);
// Inter file linking and resolution.
linkInterFileAndResolve();
addDerivedRefTypeToRefTypeResolutionList();
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Returns if there is any unresolved if-feature in feature.
*
* @param node module/submodule node
*/
private void addUnResolvedIfFeatureToStack(YangNode node) {
YangFeature refFeature = ((YangIfFeature) getCurEntityToResolveFromStack())
.getReferredFeature();
List<YangIfFeature> ifFeatureList = refFeature.getIfFeatureList();
if (ifFeatureList != null && !ifFeatureList.isEmpty()) {
Iterator<YangIfFeature> ifFeatureIterator = ifFeatureList.iterator();
while (ifFeatureIterator.hasNext()) {
addEntityToStack((T) ifFeatureIterator.next(), node);
}
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
throws DataModelException {
YangFeatureHolder featureHolder = getFeatureHolder(ancestorRefNode);
YangNode curRefNode = (YangNode) featureHolder;
if (isReferredNode(curRefNode)) {
addReferredEntityLink(curRefNode, LINKED);
addUnresolvedRecursiveReferenceToStack(curRefNode);
return;
if (getRefPrefix() == null || getRefPrefix()
.contentEquals(curRefResolver.getPrefix())) {
((Resolvable) getCurEntityToResolveFromStack())
.setResolvableStatus(INTRA_FILE_RESOLVED);
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
private boolean addUnResolvedRefToStack(YangNode linkedNode)
throws DataModelException {
// Add the link to external entity.
addReferredEntityLink(linkedNode, INTER_FILE_LINKED);
// Add the type/uses of referred typedef/grouping to the stack.
addUnresolvedRecursiveReferenceToStack(linkedNode);
return true;
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Checks for the referred node defined in a ancestor scope.
*
* @param refNode potential referred node
* @return status of resolution and updating the partial resolved stack with
* the any recursive references
* @throws DataModelException a violation of data model rules
*/
private boolean isReferredNodeInSiblingListProcessed(YangNode refNode)
throws DataModelException {
while (refNode != null) {
// Check if the potential referred node is the actual referred node
if (isReferredNode(refNode)) {
// Adds reference link of entity to the node under resolution.
addReferredEntityLink(refNode, LINKED);
/*
* resolve the reference and update the partial resolution stack
* with any further recursive references
*/
addUnresolvedRecursiveReferenceToStack(refNode);
/*
* return true, since the reference is linked and any recursive
* unresolved references is added to the stack
*/
return true;
}
refNode = refNode.getNextSibling();
}
return false;
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
((YangAugmentableNode) targetNode).addAugmentation(augment);
augment.setAugmentedNode(targetNode);
setAugmentedFlagInAncestors(targetNode);
Resolvable resolvable = (Resolvable) entityToResolve;
resolvable.setResolvableStatus(RESOLVED);
leaf = (YangLeaf) target;
leafRef.setResolvableStatus(INTER_FILE_LINKED);
addUnResolvedLeafRefTypeToStack((T) leaf, entityToResolveInfo
.getHolderOfEntityToResolve());
} else {
leafList = (YangLeafList) target;
leafRef.setResolvableStatus(INTER_FILE_LINKED);
addUnResolvedLeafRefTypeToStack(
(T) leafList, entityToResolveInfo.getHolderOfEntityToResolve());
List<YangAtomicPath> path = deviation.getTargetNode();
YangAtomicPath targetPath = path.get(path.size() - 1);
YangSchemaNode target = findDeviationTarget(entityToResolve, root,
xPathLinker);
resolveDeviationNotSupported(target, targetPath);
} else {
List<YangDeviateAdd> deviateAddList = deviation.getDeviateAdd();
resolveDeviateAdd(deviateAddList, target, targetPath);
.getDeviateDelete();
if (deviateDeleteList != null && !deviateDeleteList.isEmpty()) {
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
resolutionInfo = new YangResolutionInfoImpl<>(
idRef, (YangNode) parentNode, errLine, errPos);
addToResolution(resolutionInfo, ctx);
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
T entity = getCurEntityToResolveFromStack();
if (entity instanceof YangType) {
addEntityToStack((T) ((YangTypeDef) refNode).getTypeDefBaseType(),
refNode);
addUnResolvedUsesToStack(refNode);
} else if (entity instanceof YangIfFeature) {
addUnResolvedIfFeatureToStack(refNode);
} else if (entity instanceof YangLeafRef) {
addUnResolvedBaseToStack(refNode);
} else {
throw new DataModelException(getErrorMsg(
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Adds resolvable type (leaf-ref) info to resolution list.
*
* @param extType resolvable type
* @param type YANG type
* @param holder holder node
* @throws DataModelException if there is a data model error
*/
private void addRefTypeInfo(T extType, YangType<T> type, YangNode holder)
throws DataModelException {
type.resetYangType();
type.setResolvableStatus(RESOLVED);
type.setDataType(YangDataTypes.LEAFREF);
type.setDataTypeName(LEAFREF);
type.setDataTypeExtendedInfo(extType);
YangLeafRef leafRef = (YangLeafRef) extType;
(leafRef).setResolvableStatus(UNRESOLVED);
leafRef.setParentNode(holder);
YangResolutionInfoImpl info = new YangResolutionInfoImpl<>(
leafRef, holder, getLineNumber(), getCharPosition());
curRefResolver.addToResolutionList(info, YANG_LEAFREF);
curRefResolver.resolveSelfFileLinking(YANG_LEAFREF);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Returns the status of the referred identity found for base/identityref.
*
* @param nodeName the name of the base node
* identifier/identityref node identifier
* @param ancestorRefNode the parent node of base/identityref
* @return status of referred base/identityref
* @throws DataModelException a violation of data model rules
*/
private boolean isIdentityReferenceFound(String nodeName, YangNode ancestorRefNode)
throws DataModelException {
// When child is not present return.
if (ancestorRefNode.getChild() == null) {
return false;
}
ancestorRefNode = ancestorRefNode.getChild();
// Checks all the siblings under the node and returns the matched node.
YangNode nodeFound = isReferredNodeInSiblingProcessedForIdentity(ancestorRefNode,
nodeName);
if (nodeFound != null) {
// Adds reference link of entity to the node under resolution.
addReferredEntityLink(nodeFound, LINKED);
/*
* resolve the reference and update the partial resolution stack with any further recursive references
*/
addUnresolvedRecursiveReferenceToStack(nodeFound);
return true;
}
return false;
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
@Override
public void resolveLinkingForResolutionInfo(YangReferenceResolver dataModelRootNode)
throws DataModelException {
curRefResolver = dataModelRootNode;
/*
* Current node to resolve, it can be a YANG type, YANG uses or YANG if-feature or
* YANG leafref or YANG base or YANG identityref.
*/
T entityToResolve = entityToResolveInfo.getEntityToResolve();
// Check if linking is already done
if (entityToResolve instanceof Resolvable) {
Resolvable resolvable = (Resolvable) entityToResolve;
if (resolvable.getResolvableStatus() == RESOLVED) {
/*
* entity is already resolved, so nothing to do
*/
return;
}
} else {
throw new DataModelException(LINKER_ERROR);
}
// Push the initial entity to resolve in stack.
addInPartialResolvedStack(entityToResolveInfo);
linkAndResolvePartialResolvedStack();
addDerivedRefTypeToRefTypeResolutionList();
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Adds leaf-ref to the resolution list, with different context if
* leaf-ref is defined under derived type. Leaf-ref must be resolved from
* where the typedef is referenced.
*/
private void addDerivedRefTypeToRefTypeResolutionList()
throws DataModelException {
YangNode refNode = entityToResolveInfo.getHolderOfEntityToResolve();
YangDerivedInfo info = getValidResolvableType();
if (info == null) {
return;
}
YangType<T> type =
(YangType<T>) entityToResolveInfo.getEntityToResolve();
T extType = (T) info.getReferredTypeDef().getTypeDefBaseType()
.getDataTypeExtendedInfo();
while (extType instanceof YangDerivedInfo) {
info = (YangDerivedInfo) extType;
extType = (T) info.getReferredTypeDef().getTypeDefBaseType()
.getDataTypeExtendedInfo();
}
/*
* Backup the leaf-ref info from derived type and deletes the derived
* type info. Copies the backed up leaf-ref data to the actual type in
* replacement of derived type. Adds to the resolution list in this
* context.
*/
addRefTypeInfo(extType, type, refNode);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
T entity = getCurEntityToResolveFromStack();
if (entity instanceof YangType) {
YangDerivedInfo<?> derivedInfo =
} else if (entity instanceof YangBase) {
((YangBase) entity).setReferredIdentity((YangIdentity) refNode);
addToIdentityExtendList(((YangIdentity) ((YangBase) entity)
.getParentIdentity()), (YangIdentity) refNode);
} else if (entity instanceof YangIdentityRef) {
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Returns if there is any unresolved base in identity.
*
* @param node module/submodule node
*/
private void addUnResolvedBaseToStack(YangNode node) {
YangIdentity curNode = (YangIdentity) node;
if (curNode.getBaseNode() != null) {
if (curNode.getBaseNode().getResolvableStatus() != RESOLVED) {
addEntityToStack((T) curNode.getBaseNode(), node);
}
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
private void addEntityToStack(T entity, YangNode holder) {
YangEntityToResolveInfoImpl<T> unResolvedEntityInfo =
new YangEntityToResolveInfoImpl<>();
unResolvedEntityInfo.setEntityToResolve(entity);
unResolvedEntityInfo.setHolderOfEntityToResolve(holder);
addInPartialResolvedStack(unResolvedEntityInfo);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
/**
* Performs validations and update the data model tree when parser exits
* from grammar rule (augment).
*
* @param listener listener's object
* @param ctx context object of the grammar rule
*/
public static void processAugmentExit(TreeWalkListener listener,
AugmentStatementContext ctx) {
//Check for stack to be non empty.
checkStackIsNotEmpty(listener, MISSING_HOLDER, AUGMENT_DATA,
ctx.augment().getText(), EXIT);
if (!(listener.getParsedDataStack().peek() instanceof YangAugment)) {
throw new ParserException(constructListenerErrorMessage(
MISSING_CURRENT_HOLDER, AUGMENT_DATA,
ctx.augment().getText(), EXIT));
}
YangAugment augment = (YangAugment) listener.getParsedDataStack().pop();
boolean isDup = isDuplicateNode(augment);
if (isDup) {
removeAugment(augment);
} else {
Token txt = ctx.getStart();
YangResolutionInfoImpl<YangAugment> info =
new YangResolutionInfoImpl<>(augment, augment.getParent(),
txt.getLine(),
txt.getCharPositionInLine());
addToResolution(info, ctx);
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
addEntityToStack((T) curNode, node);
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
private void addUnResolvedTypeDataToStack(YangType refType, YangNode
ancestorRefNode, T extendedInfo) {
YangEntityToResolveInfoImpl<YangLeafRef<?>> unResolvedLeafRef =
new YangEntityToResolveInfoImpl<>();
YangEntityToResolveInfoImpl<YangType<?>> unResolvedTypeDef =
new YangEntityToResolveInfoImpl<>();
if (refType.getDataType() == YangDataTypes.LEAFREF) {
unResolvedLeafRef.setEntityToResolve((YangLeafRef<?>) extendedInfo);
unResolvedLeafRef.setHolderOfEntityToResolve(ancestorRefNode);
addInPartialResolvedStack((YangEntityToResolveInfoImpl<T>) unResolvedLeafRef);
} else if (refType.getDataType() == YangDataTypes.DERIVED) {
unResolvedTypeDef.setEntityToResolve(refType);
unResolvedTypeDef.setHolderOfEntityToResolve(ancestorRefNode);
addInPartialResolvedStack((YangEntityToResolveInfoImpl<T>) unResolvedTypeDef);
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
new YangResolutionInfoImpl<>(type, (YangNode) leavesHolder,
type.getLineNumber(), type.getCharPosition());
try {
new YangResolutionInfoImpl<>(identityRef, (YangNode) leavesHolder,
identityRef.getLineNumber(),
identityRef.getCharPosition());
new YangResolutionInfoImpl<>(type, (YangNode) leavesHolder,
type.getLineNumber(), type.getCharPosition());
try {
new YangResolutionInfoImpl<>(identityRef, (YangNode) leavesHolder,
identityRef.getLineNumber(),
identityRef.getCharPosition());
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
new YangResolutionInfoImpl<YangLeafRef>(leafRef, (YangNode) parentNodeOfLeaf,
errorLine, errorPosition);
addToResolutionList(resolutionInfo);
new YangResolutionInfoImpl<YangLeafRef>(leafRef, (YangNode) parentNodeOfLeafList,
errorLine, errorPosition);
addToResolutionList(resolutionInfoImpl);
我尝试理解[c代码 -> 汇编]代码 void node::Check( data & _data1, vector& _data2) { -> push ebp -> mov ebp,esp ->
我需要在当前表单(代码)的上下文中运行文本文件中的代码。其中一项要求是让代码创建新控件并将其添加到当前窗体。 例如,在Form1.cs中: using System.Windows.Forms; ..
我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示? int monate = ee; d
我的网络服务器代码有问题 #include #include #include #include #include #include #include int
给定以下 html 代码,将列表中的第三个元素(即“美丽”一词)以斜体显示的 CSS 代码是什么?当然,我可以给这个元素一个 id 或一个 class,但 html 代码必须保持不变。谢谢
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我试图制作一个宏来避免重复代码和注释。 我试过这个: #define GrowOnPage(any Page, any Component) Component.Width := Page.Surfa
我正在尝试将我的旧 C++ 代码“翻译”成头条新闻所暗示的 C# 代码。问题是我是 C# 中的新手,并不是所有的东西都像 C++ 中那样。在 C++ 中这些解决方案运行良好,但在 C# 中只是不能。我
在 Windows 10 上工作,R 语言的格式化程序似乎没有在 Visual Studio Code 中完成它的工作。我试过R support for Visual Studio Code和 R-T
我正在处理一些报告(计数),我必须获取不同参数的计数。非常简单但乏味。 一个参数的示例查询: qCountsEmployee = ( "select count(*) from %s wher
最近几天我尝试从 d00m 调试网络错误。我开始用尽想法/线索,我希望其他 SO 用户拥有可能有用的宝贵经验。我希望能够提供所有相关信息,但我个人无法控制服务器环境。 整个事情始于用户注意到我们应用程
我有一个 app.js 文件,其中包含如下 dojo amd 模式代码: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
我对“-gencode”语句中的“code=sm_X”选项有点困惑。 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入库中? 只有
我为我的表格使用 X-editable 框架。 但是我有一些问题。 $(document).ready(function() { $('.access').editable({
我一直在通过本教程学习 flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
我想将 Vim 和 EMACS 用于 CNC、G 代码和 M 代码。 Vim 或 EMACS 是否有任何语法或模式来处理这种类型的代码? 最佳答案 一些快速搜索使我找到了 this vim 和 thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve this
这个问题在这里已经有了答案: Enabling markdown highlighting in Vim (5 个回答) 6年前关闭。 当我在 Vim 中编辑包含 Markdown 代码的 READM
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
pipeline { agent any stages { stage('Build') { steps { e
我是一名优秀的程序员,十分优秀!