• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ValidationException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.opendaylight.controller.config.api.ValidationException的典型用法代码示例。如果您正苦于以下问题:Java ValidationException类的具体用法?Java ValidationException怎么用?Java ValidationException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ValidationException类属于org.opendaylight.controller.config.api包,在下文中一共展示了ValidationException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: validateNoLocks

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@SuppressWarnings("IllegalCatch")
private void validateNoLocks() throws ValidationException {
    transactionStatus.checkNotAborted();
    LOG.trace("Validating transaction {}", getTransactionIdentifier());
    // call validate()
    List<ValidationException> collectedExceptions = new ArrayList<>();
    for (Entry<ModuleIdentifier, Module> entry : dependencyResolverManager.getAllModules().entrySet()) {
        ModuleIdentifier name = entry.getKey();
        Module module = entry.getValue();
        try {
            module.validate();
        } catch (final Exception e) {
            LOG.warn("Validation exception in {}", getTransactionName(), e);
            collectedExceptions.add(ValidationException.createForSingleException(name, e));
        }
    }
    if (!collectedExceptions.isEmpty()) {
        throw ValidationException.createFromCollectedValidationExceptions(collectedExceptions);
    }
    LOG.trace("Validated transaction {}", getTransactionIdentifier());
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:22,代码来源:ConfigTransactionControllerImpl.java


示例2: validateBeforeCommitAndLockTransaction

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
/**
 * If this method passes validation, it will grab
 * {@link TransactionStatus#secondPhaseCommitStarted} lock. This lock will
 * prevent calling @{link #validateBeforeCommitAndLockTransaction}, effectively
 * only allowing to call {@link #secondPhaseCommit} after successful return of
 * this method.
 */
@Override
public synchronized CommitInfo validateBeforeCommitAndLockTransaction() throws ValidationException {
    transactionStatus.checkNotAborted();
    transactionStatus.checkNotCommitStarted();
    configBeanModificationDisabled.set(true);
    try {
        validateNoLocks();
    } catch (final ValidationException e) {
        LOG.trace("Commit failed on validation");
        // recoverable error
        configBeanModificationDisabled.set(false);
        throw e;
    }
    // errors in this state are not recoverable. modules are not mutable
    // anymore.
    transactionStatus.setSecondPhaseCommitStarted();
    return dependencyResolverManager.toCommitInfo();
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:26,代码来源:ConfigTransactionControllerImpl.java


示例3: testInstanceAlreadyExistsException

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testInstanceAlreadyExistsException()
        throws ConflictingVersionException, ValidationException,
        InstanceAlreadyExistsException {
    ConfigTransactionJMXClient transaction = configRegistryClient
            .createTransaction();

    createModule(transaction, instanceName);
    transaction.commit();

    transaction = configRegistryClient.createTransaction();
    try {
        createModule(transaction, instanceName);
        fail();
    } catch (InstanceAlreadyExistsException e) {

    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:19,代码来源:ITTest.java


示例4: testReusingOldInstance

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testReusingOldInstance() throws InstanceAlreadyExistsException, ConflictingVersionException,
        ValidationException {

    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
    createInstance(transaction, instanceName);

    transaction.commit();

    transaction = configRegistryClient.createTransaction();
    assertBeanCount(1, factory.getImplementationName());
    CommitStatus status = transaction.commit();

    assertBeanCount(1, factory.getImplementationName());
    assertStatus(status, 0, 0, 1);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:17,代码来源:GlobalEventExecutorModuleTest.java


示例5: executeWithMissingModuleFactoryRetries

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
private void executeWithMissingModuleFactoryRetries(final ConfigSubsystemFacade facade, final ConfigExecution configExecution)
        throws DocumentedException, ValidationException, ModuleFactoryNotFoundException {
    Stopwatch stopwatch = Stopwatch.createStarted();
    ModuleFactoryNotFoundException lastException = null;
    do {
        try {
            facade.executeConfigExecution(configExecution);
            return;
        } catch (final ModuleFactoryNotFoundException e) {
            LOG.debug("{} - will retry after timeout", e.toString());
            lastException = e;
            sleep();
        }
    } while (stopwatch.elapsed(TimeUnit.MILLISECONDS) < maxWaitForCapabilitiesMillis);

    throw lastException;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:18,代码来源:ConfigPusherImpl.java


示例6: testReconfigure

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testReconfigure() throws InstanceAlreadyExistsException, ConflictingVersionException,
        ValidationException, InstanceNotFoundException {

    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
    createInstance(transaction, instanceName, null);

    transaction.commit();

    transaction = configRegistryClient.createTransaction();
    assertBeanCount(1, factory.getImplementationName());
    NettyThreadgroupModuleMXBean mxBean = transaction.newMBeanProxy(
            transaction.lookupConfigBean(AbstractNettyThreadgroupModuleFactory.NAME, instanceName),
            NettyThreadgroupModuleMXBean.class);
    mxBean.setThreadCount(1);
    CommitStatus status = transaction.commit();

    assertBeanCount(1, factory.getImplementationName());
    assertStatus(status, 0, 1, 0);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:21,代码来源:NettyThreadgroupModuleTest.java


示例7: testDestroyModuleDependency

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testDestroyModuleDependency() throws Exception {
    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
    ObjectName r1 = transaction.createModule(factory.getImplementationName(), "root1");
    ObjectName m1 = transaction.createModule(factory.getImplementationName(), "middle1");

    MultipleDependenciesModuleMXBean r1Proxy = transaction.newMXBeanProxy(r1, MultipleDependenciesModuleMXBean.class);
    r1Proxy.setSingle(m1);
    transaction.commit();

    transaction = configRegistryClient.createTransaction();
    transaction.destroyModule(factory.getImplementationName(), "middle1");
    try {
        transaction.commit();
        fail("Validation exception expected");
    } catch (ValidationException e) {
        assertThat(e.getFailedValidations().keySet(), CoreMatchers.hasItem("multiple-dependencies"));
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:20,代码来源:MultipleDependenciesModuleTest.java


示例8: test

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
private void test(final ConfigExecution execution, final EditStrategyType editStrategyType)
        throws ValidationException, DocumentedException {
    ObjectName taON = transactionProvider.getTestTransaction();
    try {
        // default strategy = replace wipes config
        if (editStrategyType == EditStrategyType.replace) {
            transactionProvider.wipeTestTransaction(taON);
        }

        ConfigTransactionClient ta = configRegistryClient.getConfigTransactionClient(taON);

        handleMisssingInstancesOnTransaction(ta, execution);
        setServicesOnTransaction(ta, execution);
        setOnTransaction(ta, execution);
        transactionProvider.validateTestTransaction(taON);
    } finally {
        transactionProvider.abortTestTransaction(taON);
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:20,代码来源:ConfigSubsystemFacade.java


示例9: invoke

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@SuppressWarnings("IllegalCatch")
@Override
public Object invoke(final String actionName, final Object[] params, final String[] signature)
        throws MBeanException, ReflectionException {
    if ("validate".equals(actionName) && (params == null || params.length == 0)
            && (signature == null || signature.length == 0)) {
        try {
            validate();
        } catch (final Exception e) {
            throw new MBeanException(ValidationException.createForSingleException(moduleIdentifier, e));
        }
        return Void.TYPE;
    }
    return super.invoke(actionName, params, signature);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:16,代码来源:DynamicWritableWrapper.java


示例10: commitConfig

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Override
public CommitStatus commitConfig(final ObjectName transactionControllerON)
        throws ConflictingVersionException, ValidationException {
    final CommitStatus commitStatus = delegate.commitConfig(transactionControllerON);
    notifier.notifyCommit(ObjectNameUtil.getTransactionName(transactionControllerON));
    return commitStatus;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:8,代码来源:JMXNotifierConfigRegistry.java


示例11: validateConfig

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Override
public synchronized void validateConfig() throws ValidationException {
    if (configBeanModificationDisabled.get()) {
        throw new IllegalStateException("Cannot start validation");
    }
    configBeanModificationDisabled.set(true);
    try {
        validateNoLocks();
    } finally {
        configBeanModificationDisabled.set(false);
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:13,代码来源:ConfigTransactionControllerImpl.java


示例12: commitConfig

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Override
public CommitStatus commitConfig(final ObjectName transactionControllerON)
        throws ValidationException, ConflictingVersionException {
    if (NOOP_TX_NAME.equals(transactionControllerON) || closed.get()) {
        return new CommitStatus(Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
    }

    configTransactionLock.lock();
    try {
        return commitConfigSafe(transactionControllerON);
    } finally {
        configTransactionLock.unlock();
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:15,代码来源:ConfigRegistryImpl.java


示例13: commitConfigSafe

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@GuardedBy("configTransactionLock")
private CommitStatus commitConfigSafe(final ObjectName transactionControllerON)
        throws ConflictingVersionException, ValidationException {
    final String transactionName = ObjectNameUtil.getTransactionName(transactionControllerON);
    LOG.trace("About to commit {}. Current parentVersion: {}, versionCounter {}", transactionName, version,
            versionCounter);

    // find ConfigTransactionController
    Map<String, Entry<ConfigTransactionControllerInternal, ConfigTransactionLookupRegistry>> transactions =
            transactionsHolder.getCurrentTransactions();
    Entry<ConfigTransactionControllerInternal, ConfigTransactionLookupRegistry> configTransactionControllerEntry =
            transactions.get(transactionName);
    if (configTransactionControllerEntry == null) {
        throw new IllegalArgumentException(String.format("Transaction with name '%s' not found", transactionName));
    }
    ConfigTransactionControllerInternal configTransactionController = configTransactionControllerEntry.getKey();
    // check optimistic lock
    if (version != configTransactionController.getParentVersion()) {
        throw new ConflictingVersionException(
                String.format("Optimistic lock failed. Expected parent version %d, was %d", version,
                        configTransactionController.getParentVersion()));
    }
    // optimistic lock ok

    CommitInfo commitInfo = configTransactionController.validateBeforeCommitAndLockTransaction();
    lastListOfFactories = Collections
            .unmodifiableList(configTransactionController.getCurrentlyRegisteredFactories());
    return secondPhaseCommit(configTransactionController, commitInfo, configTransactionControllerEntry.getValue());
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:30,代码来源:ConfigRegistryImpl.java


示例14: testWithAPSP_useScheduledNames

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testWithAPSP_useScheduledNames() throws InstanceAlreadyExistsException, ValidationException {
    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
    ObjectName scheduledName = transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME, SCHEDULED1);

    ObjectName apspName = transaction.createModule(TestingParallelAPSPModuleFactory.NAME, "apsp1");
    TestingParallelAPSPConfigMXBean apspProxy = transaction.newMXBeanProxy(apspName,
            TestingParallelAPSPConfigMXBean.class);
    apspProxy.setThreadPool(scheduledName);
    apspProxy.setSomeParam("someParam");
    transaction.validateConfig();

}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:14,代码来源:TwoInterfacesExportTest.java


示例15: createScheduled

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
private ObjectName createScheduled()
        throws InstanceAlreadyExistsException, ConflictingVersionException, ValidationException {
    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();

    // create using TestingThreadPoolIfc:
    ObjectName createdConfigBean = transaction.createModule(TestingScheduledThreadPoolModuleFactory.NAME,
            SCHEDULED1);
    // commit
    transaction.commit();
    return createdConfigBean;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:12,代码来源:RuntimeBeanTest.java


示例16: testValidationException

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testValidationException() throws Exception {
    IllegalArgumentException argumentException = new IllegalArgumentException();
    ValidationException validationException = ValidationException
            .createForSingleException(new ModuleIdentifier("m", "i"), argumentException);
    doThrow(validationException).when(blankTx).hit();

    tracker.addingService(getMockServiceReference());
    verify(blankTx, times(10)).hit();
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:11,代码来源:BlankTransactionServiceTrackerTest.java


示例17: testValidateBean2

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test(expected = ValidationException.class)
public void testValidateBean2() throws Exception {
    MBeanServer mbsLocal = mock(MBeanServer.class);
    MBeanException mBeanException = new MBeanException(new ValidationException(
            Collections.<String, Map<String, ExceptionMessageWithStackTrace>>emptyMap()));
    doThrow(mBeanException).when(mbsLocal).invoke(transactionControllerON, "validate", null, null);

    ConfigTransactionJMXClient jmxTransactionClientFake = new ConfigTransactionJMXClient(null,
            transactionControllerON,
            mbsLocal);
    jmxTransactionClientFake.validateBean(transactionControllerON);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:13,代码来源:ConfigTransactionClientsTest.java


示例18: commitConfig

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Override
public CommitStatus commitConfig(final ObjectName transactonControllerON)
        throws ConflictingVersionException, ValidationException {
    if (transactonControllerON == null) {
        Exception e = new RuntimeException("message");
        throw ValidationException.createForSingleException(
                new ModuleIdentifier("moduleName", "instanceName"), e);
    }
    return null;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:11,代码来源:TestingConfigRegistry.java


示例19: testCreateBean

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testCreateBean() throws InstanceAlreadyExistsException,
        ValidationException, ConflictingVersionException {
    ConfigTransactionJMXClient transaction = configRegistryClient
            .createTransaction();

    createModule(transaction, instanceName);
    transaction.validateConfig();
    CommitStatus status = transaction.commit();

    assertBeanCount(1, factory.getImplementationName());
    assertStatus(status, 1, 0, 0);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:14,代码来源:ITTest.java


示例20: testCreateBean

import org.opendaylight.controller.config.api.ValidationException; //导入依赖的package包/类
@Test
public void testCreateBean() throws InstanceAlreadyExistsException, ValidationException,
        ConflictingVersionException {
    ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();

    createInstance(transaction, instanceName);

    transaction.validateConfig();
    CommitStatus status = transaction.commit();

    assertBeanCount(1, factory.getImplementationName());
    assertStatus(status, 1, 0, 0);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:14,代码来源:GlobalEventExecutorModuleTest.java



注:本文中的org.opendaylight.controller.config.api.ValidationException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Log类代码示例发布时间:2022-05-15
下一篇:
Java RadioButton类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap