- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.onosproject.yang.compiler.datamodel.YangType.getDataTypeExtendedInfo()
方法的一些代码示例,展示了YangType.getDataTypeExtendedInfo()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YangType.getDataTypeExtendedInfo()
方法的具体详情如下:
包路径:org.onosproject.yang.compiler.datamodel.YangType
类名称:YangType
方法名:getDataTypeExtendedInfo
[英]Returns the data type meta data.
[中]返回元数据的数据类型。
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
/**
* Returns the object for given data type with respective value.
*
* @param type data type of value
* @param leafValue value
* @return object of data type containing the value
*/
private static Object parseUnionTypeInfo(YangType type, String leafValue) {
Iterator<YangType<?>> it = ((YangUnion) type.getDataTypeExtendedInfo())
.getTypeList().listIterator();
while (it.hasNext()) {
YangType t = it.next();
try {
return getObject(t, leafValue, t.getDataType());
} catch (IllegalArgumentException e) {
continue;
}
}
throw new IllegalArgumentException("Invalid value of data: " + leafValue);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
private static YangNamespace getUnionValNamespace(YangType type,
String leafValue) {
Iterator<YangType<?>> it = ((YangUnion) type.getDataTypeExtendedInfo())
.getTypeList().listIterator();
while (it.hasNext()) {
YangType t = it.next();
try {
getObject(t, leafValue, t.getDataType());
return getValueNamespace(t, leafValue, t.getDataType());
} catch (IllegalArgumentException e) {
continue;
}
}
throw new IllegalArgumentException("Invalid value of data: " + leafValue);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
/**
* Returns the leaf type for given data type with respective value.
*
* @param type data type of value
* @param leafValue value
* @return leaf type of data type containing the value
*/
private static LeafType parseUnionLeafType(YangType type, String
leafValue) {
Iterator<YangType<?>> it = ((YangUnion) type.getDataTypeExtendedInfo())
.getTypeList().listIterator();
while (it.hasNext()) {
YangType t = it.next();
try {
getObject(t, leafValue, t.getDataType());
return getLeafType(t, leafValue, t.getDataType());
} catch (IllegalArgumentException e) {
continue;
}
}
throw new IllegalArgumentException("Invalid value of data");
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
/**
* Returns resolvable entity under union. When types under union have
* identity-ref, derived and union, the function call is done recursively
* to get resolvable entity and adds it to list.
*
* @param type union YANG type
* @param isLeaf leaf or leaf-list
* @return resolvable entity list after setting info
* @throws DataModelException data model error
*/
private static List<YangEntityToResolveInfoImpl> getUnionResolvableEntity(
YangType type, boolean isLeaf) throws DataModelException {
YangUnion union = (YangUnion) type.getDataTypeExtendedInfo();
List<YangType<?>> typeList = union.getTypeList();
List<YangEntityToResolveInfoImpl> unionList = new ArrayList<>();
List<YangEntityToResolveInfoImpl> entity;
for (YangType unionType : typeList) {
entity = getUnresolvedTypeList(unionType.getDataType(),
unionType, union, null, isLeaf);
if (nonEmpty(entity)) {
unionList.addAll(entity);
}
}
return unionList;
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Adds the unresolved constructs to stack which has to be resolved for leafref.
*
* @param leavesInfo YANG leaf or leaf list which holds the type
* @param ancestorRefNode holder of the YANG leaf or leaf list
*/
private void addUnResolvedLeafRefTypeToStack(T leavesInfo, YangNode ancestorRefNode) {
YangType refType;
T extendedInfo;
if (leavesInfo instanceof YangLeaf) {
YangLeaf leaf = (YangLeaf) leavesInfo;
refType = leaf.getDataType();
} else {
YangLeafList leafList = (YangLeafList) leavesInfo;
refType = leafList.getDataType();
}
extendedInfo = (T) refType.getDataTypeExtendedInfo();
addUnResolvedTypeDataToStack(refType, ancestorRefNode, extendedInfo);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
case DERIVED:
return getLeafTypeByDataType(type, ((YangDerivedInfo) type
.getDataTypeExtendedInfo()).getEffectiveBuiltInType());
case LEAFREF:
return getLeafTypeByDataType(type, ((YangLeafRef) type
.getDataTypeExtendedInfo()).getEffectiveDataType()
.getDataType());
case INSTANCE_IDENTIFIER:
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
/**
* Validates the requested data-type resolve type in empty or not.
*
* @param dataType the data type
* @return true, for empty resolved data-type; false otherwise
* @deprecated use LeafContextUtil.getLeafType instead
*/
@Deprecated
public static boolean validateEmptyDataType(YangType dataType) {
switch (dataType.getDataType()) {
case DERIVED:
return ((YangDerivedInfo) dataType.getDataTypeExtendedInfo())
.getEffectiveBuiltInType().equals(EMPTY);
case LEAFREF:
YangType type = ((YangLeafRef) dataType
.getDataTypeExtendedInfo())
.getEffectiveDataType();
if (type.getDataType() == DERIVED) {
return ((YangDerivedInfo) type.getDataTypeExtendedInfo())
.getEffectiveBuiltInType().equals(EMPTY);
}
return ((YangLeafRef) dataType.getDataTypeExtendedInfo())
.getEffectiveDataType().getDataType().equals(EMPTY);
case UNION:
return false;
default:
return dataType.getDataType().equals(EMPTY);
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Returns the derived info if the holder is typedef, the entity is type
* and the effective type is leaf-ref; null otherwise.
*
* @return derived info
*/
private YangDerivedInfo<?> getValidResolvableType() {
YangNode refNode = entityToResolveInfo.getHolderOfEntityToResolve();
T entity = entityToResolveInfo.getEntityToResolve();
if (!(refNode instanceof YangTypeDef) && entity instanceof YangType) {
YangType<?> type = (YangType) entity;
YangDerivedInfo<?> info =
(YangDerivedInfo) type.getDataTypeExtendedInfo();
YangDataTypes dataType = info.getEffectiveBuiltInType();
if ((type.getResolvableStatus() == RESOLVED) &&
(dataType == YangDataTypes.LEAFREF)) {
return info;
}
}
return null;
}
代码示例来源: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-datamodel
case IDENTITYREF:
YangIdentity refId = ((YangIdentityRef) typeInfo
.getDataTypeExtendedInfo()).getReferredIdentity();
return getReferIdNamespace(refId, v);
case LEAFREF:
YangType refType = ((YangLeafRef) typeInfo
.getDataTypeExtendedInfo()).getEffectiveDataType();
return getValueNamespace(refType, v, refType.getDataType());
case DERIVED:
.getDataTypeExtendedInfo()).getReferredTypeDef()
.getTypeList().get(0);
return getValueNamespace(rt, v, rt.getDataType());
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
/**
* Performs validation and updates the data model tree.
* It is called when parser exits from grammar rule (decimal64).
*
* @param listener listener's object
* @param ctx context object of the grammar rule
*/
public static void processDecimal64Exit(TreeWalkListener listener,
Decimal64SpecificationContext ctx) {
// Check for stack to be non empty.
checkStackIsNotEmpty(listener, MISSING_HOLDER, DECIMAL64_DATA, "", EXIT);
Parsable tmpNode = listener.getParsedDataStack().peek();
if (tmpNode instanceof YangType) {
YangType<YangDecimal64<YangRangeRestriction>> typeNode =
(YangType<YangDecimal64<YangRangeRestriction>>) tmpNode;
YangDecimal64<YangRangeRestriction> decimal64Node = typeNode.getDataTypeExtendedInfo();
try {
decimal64Node.validateRange();
} catch (DataModelException e) {
throw new ParserException(e);
}
} else {
throw new ParserException(constructListenerErrorMessage(INVALID_HOLDER, DECIMAL64_DATA, "", EXIT));
}
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
/**
* Returns resolvable entity when the type is leaf-ref. It changes the
* prefixes from grouping to uses, then changes the parent node to the
* cloned node, sets needed information to entity such as line number,
* position number and holder.
*
* @param type YANG type of leaf-ref
* @param yangUses YANG uses
* @param holder cloned holder
* @return entity to resolve for leaf-ref
* @throws DataModelException data model error
*/
private static YangEntityToResolveInfoImpl getLeafRefResolvableEntity(
YangType type, YangUses yangUses, YangNode holder)
throws DataModelException {
YangEntityToResolveInfoImpl<YangLeafRef> leafRefInfo =
new YangEntityToResolveInfoImpl<>();
YangLeafRef leafRef = (YangLeafRef) type.getDataTypeExtendedInfo();
// Conversion of prefixes in absolute path while cloning them.
convertThePrefixesDuringChange(leafRef, yangUses);
leafRef.setParentNode(holder);
leafRefInfo.setEntityToResolve(leafRef);
return setInformationInEntity(
leafRefInfo, holder, leafRef.getCharPosition(),
leafRef.getLineNumber());
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
/**
* It is called when parser enters grammar rule (fraction-digits), it perform
* validations and updates the data model tree.
*
* @param listener listener's object
* @param ctx context object of the grammar rule
*/
public static void processFractionDigitsEntry(TreeWalkListener listener,
FractionDigitStatementContext ctx) {
// Check for stack to be non empty.
checkStackIsNotEmpty(listener, MISSING_HOLDER, FRACTION_DIGITS_DATA,
ctx.fraction().getText(), ENTRY);
int value = getValidFractionDigits(ctx);
Parsable tmpNode = listener.getParsedDataStack().peek();
if (tmpNode instanceof YangType) {
YangType<YangDecimal64<YangRangeRestriction>> typeNode =
(YangType<YangDecimal64<YangRangeRestriction>>) tmpNode;
YangDecimal64 decimal64Node = typeNode.getDataTypeExtendedInfo();
decimal64Node.setFractionDigit(value);
if (!decimal64Node.isValidFractionDigit()) {
throw new ParserException(constructErrorMsg(ctx, INVALID_CONTENT));
}
} else {
throw new ParserException(constructErrorMsg(ctx, INVALID_HOLDER));
}
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
String dataTypeName = null;
if (dataType.getDataType() == ENUMERATION) {
YangEnumeration enumNode = (YangEnumeration) dataType.getDataTypeExtendedInfo();
dataTypeName = enumNode.getName();
} else if (dataType.getDataType() == UNION) {
YangUnion unionNode = (YangUnion) dataType.getDataTypeExtendedInfo();
dataTypeName = unionNode.getName();
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
/**
* Returns referred typedef/grouping node.
*
* @return referred typedef/grouping node
* @throws DataModelException a violation in data model rule
*/
private T getRefNode() throws DataModelException {
T entity = getCurEntityToResolveFromStack();
if (entity instanceof YangType) {
YangDerivedInfo<?> derivedInfo = (YangDerivedInfo<?>)
((YangType<?>) entity).getDataTypeExtendedInfo();
return (T) derivedInfo.getReferredTypeDef();
}
if (entity instanceof YangUses) {
return (T) ((YangUses) entity).getRefGroup();
}
if (entity instanceof YangIfFeature) {
return (T) ((YangIfFeature) entity).getReferredFeatureHolder();
}
if (entity instanceof YangLeafRef) {
return (T) ((YangLeafRef) entity).getReferredLeafOrLeafList();
}
if (entity instanceof YangBase) {
return (T) ((YangBase) entity).getReferredIdentity();
}
if (entity instanceof YangIdentityRef) {
return (T) ((YangIdentityRef) entity).getReferredIdentity();
}
throw new DataModelException(LINKER_ERROR);
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
.getDataTypeExtendedInfo();
info.setRangeRes(ranRes);
info.setFileName(lis.getFileName());
if (dataType == DECIMAL64) {
YangDecimal64 deci64 = (YangDecimal64) type
.getDataTypeExtendedInfo();
ranRes = processRangeRestriction(
deci64.getDefaultRangeRestriction(), line, pos, true,
if (dataType == DECIMAL64) {
((YangDecimal64<YangRangeRestriction>) type
.getDataTypeExtendedInfo())
.setRangeRestrictedExtendedInfo(ranRes);
} else {
代码示例来源:origin: org.onosproject/onos-yang-compiler-datamodel
@Override
public Object resolve()
throws DataModelException {
/*
* Check whether the data type is derived.
*/
if (getDataType() != DERIVED) {
throw new DataModelException("Linker Error: Resolve should only be called for derived data types. "
+ " in " +
getLineNumber() + " at " +
getCharPosition()
+ " in " + getFileName() + "\"");
}
// Check if the derived info is present.
YangDerivedInfo<?> derivedInfo = (YangDerivedInfo<?>) getDataTypeExtendedInfo();
if (derivedInfo == null) {
throw new DataModelException("Linker Error: Derived information is missing. " + " in " +
getLineNumber() + " at " +
getCharPosition()
+ " in " + getFileName() + "\"");
}
// Initiate the resolution
try {
setResolvableStatus(derivedInfo.resolve());
} catch (DataModelException e) {
throw new DataModelException(e.getMessage());
}
return null;
}
代码示例来源:origin: org.onosproject/onos-yang-compiler-linker
YangDerivedInfo<?> derivedInfo =
(YangDerivedInfo<?>) ((YangType<?>) entity)
.getDataTypeExtendedInfo();
derivedInfo.setReferredTypeDef((YangTypeDef) refNode);
} else if (entity instanceof YangUses) {
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
.getDataTypeExtendedInfo();
if (strRes == null) {
strRes = new YangStringRestriction();
} else {
YangDerivedInfo<?> info = (YangDerivedInfo<?>) type
.getDataTypeExtendedInfo();
info.addPatternRes(patRes);
代码示例来源:origin: org.onosproject/onos-yang-compiler-parser
.getDataTypeExtendedInfo();
info.setLengthRes(lenRes);
info.setFileName(lis.getFileName());
.getDataTypeExtendedInfo();
if (strRes == null) {
strRes = new YangStringRestriction();
我在运行 compile test:compile it:compile经常并且...希望将击键次数减少到类似 *:compile 的数量。 .不过,它似乎不起作用。 $ sbt *:compile
有人可以给我这个问题的提示(或整个解决方案!): 在 Clojurescript 项目中,如何自动将编译日期/时间硬编码在符号中,以便在使用应用程序时显示? 谢谢。 最佳答案 有多种解决方案: 使用l
我是 ember.js 框架的新手,使用 ruby on rails 和 ember.debug.js -v 1.10.1(最新版本)。我一直在网上看到 ember 更改了这个最新的补丁,但我不知
我不是 Fortran 程序员(只是短暂的经验),但我需要编译一个部分用 F77 编写的程序。在我之前有人用 Absoft 编译器编译过它,但现在我需要在另一台机器上用 g77 重复这个过程。对于 A
我运行命令 mvn clean package 我得到了上面的错误我的 pom 是: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
我有以下问题。 我想在测试编译阶段排除一些.java文件(** / jsfunit / *。java),另一方面,我想在编译阶段包括它们(id我使用tomcat启动tomcat:运行目标) ) 我的p
符合 wikipedia A compiler is a computer program (or set of programs) that transforms source code writt
我想构建项目,但出现如下错误: 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile
当我通过右键单击项目名称进行 Maven 安装时,出现以下错误: [INFO] Scanning for projects... [WARNING] [WARNING] Some proble
我是 Maven 的新手,我想将我的应用程序导入到 Maven。和以前一样,我想将我的 ejb 项目中的类引用到我的 war 项目中。我在类中没有错误,但是如果我在我的父项目上安装 maven,那么我
当我将 ASP.NET Web 应用程序部署到生产环境时,我使用配置转换来删除 debug="true"来自 .但是,就在今天,我注意到 web.config 中的另一个部分如下所示:
This question already has answers here: Maven Compilation Error: (use -source 7 or higher to enable
我正在使用 Maven 3.0.5 和 Spring Tool Source 3.2 并安装了 Maven 插件。当我尝试执行“运行方式---> Maven 安装”时,出现以下错误: [INFO] S
我试图用 AngularJS 创建我自己的递归指令,它调用自己以漂亮的 JSON 格式转换 View 中的对象。好吧,首先我使用 ng-include 调用带有模板的脚本,在其中使用 ng-if 验证
可以通过 @suppress annotation使用Google的Closure Compiler在每个文件的基础上禁止显示警告。但是,似乎无法同时抑制多个警告-例如globalThis和check
假设一个拥有 10 到 20 年经验的熟练开发人员从未构建过编译器或模拟器,哪一个会更具挑战性? 你能比较一下会成为障碍的问题吗? 谢谢。 最佳答案 仿真和编译是完全不同的,但由于两者都被认为是“低级
最近发现Vim中有一个命令叫compiler。您可以使用任何常见的编译器(例如,:compiler gcc、:compiler php 等)来调用它,但它似乎没有任何立竿见影的效果。 我在联机帮助页上
我试图从 spring.io 指南中部署最简单的应用程序 Guide 但是我有一些麻烦.. 我做了什么: 创建的项目。 (来自 spring.io 教程) 下载 heroku CLI 在 Intell
每当进行 Maven Build..>clean install 时,我都会遇到此错误。我尝试过使用不同版本的插件并添加 testFailureIgnore 属性,但问题仍然存在。请找到下面的 POM
我有一个 web 应用程序,我尝试使用 maven 进行编译,不幸的是,在执行 mvn clean package 时它不起作用。 stackoverflow 上有很多问题看起来都一样,但没有解决了我
我是一名优秀的程序员,十分优秀!