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

Java Notification类代码示例

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

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



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

示例1: issueNotification

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * Issue notification to the specified list of Uris
 * @param value - Notification to issue
 * @param uris - Uris to issue the notification to
 */
static protected void issueNotification(Value value, Collection<Uri> uris) {
    Long notificationId = NotificationInfo.next();
    Notify notif = new NotifyBuilder()
            .setNotificationId(new NotificationId(notificationId))
            .setTimestamp(BigInteger.valueOf(System.currentTimeMillis()))
            .setValue(value)
            .build();

    for(Uri uri : uris) {
        if (uri!=null && uri.getValue().startsWith("http") &&
                (HTTPClientPool.instance() != null)) {
                try {
                    HTTPClientPool.instance().getWorker().getQueue().put(
                        new AbstractMap.SimpleEntry<Uri,Notification>(
                                uri,
                                notif));
                } catch (InterruptedException e) {
                	ErrorLog.logError(e.getStackTrace());
                } catch (Exception ee) {
                	ErrorLog.logError(ee.getMessage(),ee.getStackTrace());
                }
            }
    }
}
 
开发者ID:opendaylight,项目名称:fpc,代码行数:30,代码来源:Notifier.java


示例2: NotificationInvoker

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
private NotificationInvoker(final NotificationListener listener) {
    delegate = listener;
    final Map<Class<? extends Notification>, InvokerContext> builder = new HashMap<>();
    for(final TypeToken<?> ifaceToken : TypeToken.of(listener.getClass()).getTypes().interfaces()) {
        final Class<?> iface = ifaceToken.getRawType();
        if(NotificationListener.class.isAssignableFrom(iface) && BindingReflections.isBindingClass(iface)) {
            @SuppressWarnings("unchecked")
            final Class<? extends NotificationListener> listenerType = (Class<? extends NotificationListener>) iface;
            final NotificationListenerInvoker invoker = NotificationListenerInvoker.from(listenerType);
            for(final Class<? extends Notification> type : getNotificationTypes(listenerType)) {
                builder.put(type, new InvokerContext(BindingReflections.findQName(type) , invoker));
            }
        }
    }
    invokers = ImmutableMap.copyOf(builder);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:17,代码来源:NotificationInvoker.java


示例3: getNotificationClasses

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public Set<Class<? extends Notification>> getNotificationClasses(final Set<SchemaPath> interested) {
    final Set<Class<? extends Notification>> result = new HashSet<>();
    final Set<NotificationDefinition> knownNotifications = runtimeContext().getSchemaContext().getNotifications();
    for (final NotificationDefinition notification : knownNotifications) {
        if (interested.contains(notification.getPath())) {
            try {
                result.add((Class<? extends Notification>) runtimeContext().getClassForSchema(notification));
            } catch (final IllegalStateException e) {
                // Ignore
                LOG.warn("Class for {} is currently not known.", notification.getPath(), e);
            }
        }
    }
    return result;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:17,代码来源:BindingToNormalizedNodeCodec.java


示例4: setUp

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Before
public void setUp() {
    this.ctx = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance();
    final MessageRegistry msgRegistry = this.ctx.getMessageRegistry();
    this.parser = new AbstractBmpPerPeerMessageParser<Builder<?>>(msgRegistry) {
        @Override
        public Notification parseMessageBody(final ByteBuf bytes) {
            return null;
        }

        @Override
        public int getBmpMessageType() {
            return 0;
        }
    };
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:17,代码来源:AbstractBmpPerPeerMessageParserTest.java


示例5: parseBgpNotificationMessage

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev171207.peer.down.data
        .Notification parseBgpNotificationMessage(final ByteBuf bytes) throws BmpDeserializationException {
    final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev171207.peer.down.data
            .NotificationBuilder notificationCBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.params
            .xml.ns.yang.bmp.message.rev171207.peer.down.data.NotificationBuilder();

    final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev171207.peer.down.data
            .notification.NotificationBuilder notificationBuilder = new org.opendaylight.yang.gen.v1.urn
            .opendaylight.params.xml.ns.yang.bmp.message.rev171207.peer.down.data.notification
            .NotificationBuilder();
    try {
        final Notification not = this.msgRegistry.parseMessage(bytes, null);
        requireNonNull(not, "Notify message may not be null.");
        Preconditions.checkArgument(not instanceof NotifyMessage,
                "An instance of NotifyMessage is required");
        notificationBuilder.fieldsFrom((NotifyMessage) not);
        notificationCBuilder.setNotification(notificationBuilder.build());
    } catch (final BGPDocumentedException | BGPParsingException e) {
        throw new BmpDeserializationException("Error while parsing BGP Notification message.", e);
    }

    return notificationCBuilder.build();
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:24,代码来源:PeerDownHandler.java


示例6: testSimpleMessageRegistry

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Test
public void testSimpleMessageRegistry() throws Exception {
    final MessageRegistry msgRegistry = this.ctx.getMessageRegistry();

    final byte[] msgBytes = {
        (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
        (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
        (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
        (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
        (byte) 0x00, (byte) 0x13, (byte) 0x00
    };
    final Notification msg = mock(Notification.class);
    doReturn(Notification.class).when(msg).getImplementedInterface();

    final ByteBuf buffer = Unpooled.buffer(msgBytes.length);
    msgRegistry.serializeMessage(msg, buffer);
    msgRegistry.parseMessage(Unpooled.wrappedBuffer(msgBytes), CONSTRAINT);
    verify(this.activator.msgParser, times(1)).parseMessageBody(Mockito.any(ByteBuf.class), Mockito.anyInt(),
        Mockito.any(PeerSpecificParserConstraint.class));
    verify(this.activator.msgSerializer, times(1)).serializeMessage(Mockito.any(Notification.class), Mockito.any(ByteBuf.class));
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:22,代码来源:SimpleRegistryTest.java


示例7: parseMessageBody

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public Notification parseMessageBody(final ByteBuf bytes) throws BmpDeserializationException {
    final InitiationMessageBuilder initiationBuilder = new InitiationMessageBuilder();
    final TlvsBuilder tlvsBuilder = new TlvsBuilder();
    tlvsBuilder.setStringInformation(ImmutableList.of());
    parseTlvs(tlvsBuilder, bytes);

    if (tlvsBuilder.getDescriptionTlv() == null || tlvsBuilder.getDescriptionTlv().getDescription() == null) {
        throw new BmpDeserializationException("Inclusion of sysDescr TLV is mandatory.");
    }
    if (tlvsBuilder.getNameTlv() == null || tlvsBuilder.getNameTlv().getName() == null) {
        throw new BmpDeserializationException("Inclusion of sysName TLV is mandatory.");
    }

    return initiationBuilder.setTlvs(tlvsBuilder.build()).build();
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:17,代码来源:InitiationHandler.java


示例8: serializeMessageBody

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public void serializeMessageBody(final Notification message, final ByteBuf buffer) {
    super.serializeMessageBody(message, buffer);
    Preconditions.checkArgument(message instanceof PeerUpNotification,
        "An instance of Peer Up notification is required");
    final PeerUpNotification peerUp = (PeerUpNotification) message;

    if (peerUp.getLocalAddress().getIpv4Address() != null) {
        buffer.writeZero(Ipv6Util.IPV6_LENGTH - Ipv4Util.IP4_LENGTH);
        ByteBufWriteUtil.writeIpv4Address(peerUp.getLocalAddress().getIpv4Address(), buffer);
    } else {
        ByteBufWriteUtil.writeIpv6Address(peerUp.getLocalAddress().getIpv6Address(), buffer);
    }
    ByteBufWriteUtil.writeUnsignedShort(peerUp.getLocalPort().getValue(), buffer);
    ByteBufWriteUtil.writeUnsignedShort(peerUp.getRemotePort().getValue(), buffer);

    this.msgRegistry.serializeMessage(new OpenBuilder(peerUp.getSentOpen()).build(), buffer);
    this.msgRegistry.serializeMessage(new OpenBuilder(peerUp.getReceivedOpen()).build(), buffer);
    serializeTlvs(peerUp.getInformation(), buffer);
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:21,代码来源:PeerUpHandler.java


示例9: parseMessageBody

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public Notification parseMessageBody(final ByteBuf bytes) throws BmpDeserializationException {
    final RouteMonitoringMessageBuilder routeMonitor = new RouteMonitoringMessageBuilder()
            .setPeerHeader(parsePerPeerHeader(bytes));
    try {
        final Notification message = this.msgRegistry.parseMessage(bytes, null);
        requireNonNull(message, "UpdateMessage may not be null");
        Preconditions.checkArgument(message instanceof UpdateMessage,
                "An instance of UpdateMessage is required");
        final UpdateMessage updateMessage = (UpdateMessage) message;
        final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.message.rev171207.route
                .monitoring.message.Update update = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml
                .ns.yang.bmp.message.rev171207.route.monitoring.message.UpdateBuilder(updateMessage).build();
        routeMonitor.setUpdate(update);
    } catch (final BGPDocumentedException | BGPParsingException e) {
        throw new BmpDeserializationException("Error while parsing Update Message.", e);
    }

    return routeMonitor.build();
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:21,代码来源:RouteMonitoringMessageHandler.java


示例10: setUp

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Before
public void setUp() {
    MockitoAnnotations.initMocks(this);
    this.messages = Lists.newArrayList();
    this.session = new BmpMockSession(1, 1, 1);
    this.channel = Mockito.mock(Channel.class);
    Mockito.doReturn(REMOTE_ADDRESS).when(this.channel).remoteAddress();
    Mockito.doReturn(LOCAL_ADDRESS).when(this.channel).localAddress();
    final ChannelPipeline pipeline = Mockito.mock(ChannelPipeline.class);
    Mockito.doReturn(pipeline).when(this.channel).pipeline();
    Mockito.doAnswer(invocation -> {
        messages.add((Notification) invocation.getArguments()[0]);
        return null;
    }).when(this.channel).writeAndFlush(Mockito.any());
    final ChannelFuture channelFuture = Mockito.mock(ChannelFuture.class);
    Mockito.doReturn(null).when(channelFuture).addListener(Mockito.any());
    Mockito.doReturn(channelFuture).when(this.channel).closeFuture();
    Mockito.doReturn(channelFuture).when(this.channel).close();
    this.context = Mockito.mock(ChannelHandlerContext.class);
    Mockito.doReturn(this.channel).when(this.context).channel();
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:22,代码来源:BmpMockSessionTest.java


示例11: testErrorOneOne

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * Sending different PCEP Message than Open in session establishment phase.
 *
 * @throws Exception exception
 */
@Test
public void testErrorOneOne() throws Exception {
    this.serverSession.channelActive(null);
    assertEquals(1, this.msgsSend.size());
    assertTrue(this.msgsSend.get(0) instanceof Open);
    this.serverSession.handleMessage(this.kaMsg);
    checkEquals(()-> {
        for (final Notification m : this.msgsSend) {
            if (m instanceof Pcerr) {
                final Errors obj = ((Pcerr) m).getPcerrMessage().getErrors().get(0);
                assertEquals(new Short((short) 1), obj.getErrorObject().getType());
                assertEquals(new Short((short) 1), obj.getErrorObject().getValue());
            }
        }
    });
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:22,代码来源:FiniteStateMachineTest.java


示例12: testErrorOneSeven

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * KeepWaitTimer expired.
 *
 * @throws Exception exception
 */
@Test
public void testErrorOneSeven() throws Exception {
    this.serverSession.channelActive(null);
    assertEquals(1, this.msgsSend.size());
    assertTrue(this.msgsSend.get(0) instanceof Open);
    this.serverSession.handleMessage(this.openMsg);
    checkEquals(() -> {
        for (final Notification m : this.msgsSend) {
            if (m instanceof Pcerr) {
                final Errors obj = ((Pcerr) m).getPcerrMessage().getErrors().get(0);
                assertEquals(new Short((short) 1), obj.getErrorObject().getType());
                assertEquals(new Short((short) 7), obj.getErrorObject().getValue());
            }
        }
    });
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:22,代码来源:FiniteStateMachineTest.java


示例13: testErrorOneTwo

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * OpenWait timer expired.
 *
 * @throws InterruptedException exception
 */
@Test
public void testErrorOneTwo() throws Exception {
    this.serverSession.channelActive(null);
    assertEquals(1, this.msgsSend.size());
    assertTrue(this.msgsSend.get(0) instanceof OpenMessage);
    checkEquals(() -> {
        for (final Notification m : this.msgsSend) {
            if (m instanceof Pcerr) {
                final Errors obj = ((Pcerr) m).getPcerrMessage().getErrors().get(0);
                assertEquals(new Short((short) 1), obj.getErrorObject().getType());
                assertEquals(new Short((short) 2), obj.getErrorObject().getValue());
            }
        }
    });
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:21,代码来源:FiniteStateMachineTest.java


示例14: serializeMessage

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * Serializes BGP Notification message.
 *
 * @param msg to be serialized
 * @param bytes ByteBuf where the message will be serialized
 */
@Override
public void serializeMessage(final Notification msg, final ByteBuf bytes) {
    Preconditions.checkArgument(msg instanceof Notify, "Message needs to be of type Notify");
    final Notify ntf = (Notify) msg;

    final ByteBuf msgBody = Unpooled.buffer();
    msgBody.writeByte(ntf.getErrorCode());
    msgBody.writeByte(ntf.getErrorSubcode());
    final byte[] data = ntf.getData();
    if (data != null) {
        msgBody.writeBytes(data);
    }
    LOG.trace("Notification message serialized to: {}", ByteBufUtil.hexDump(msgBody));
    MessageUtil.formatMessage(TYPE, msgBody, bytes);
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:22,代码来源:BGPNotificationMessageParser.java


示例15: testNoAs4BytesCapability

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Test
public void testNoAs4BytesCapability() {
    this.clientSession.channelActive(null);
    assertEquals(1, this.receivedMsgs.size());
    assertTrue(this.receivedMsgs.get(0) instanceof Open);

    final List<BgpParameters> tlvs = Lists.newArrayList();
    final List<OptionalCapabilities> capas = Lists.newArrayList();
    capas.add(new OptionalCapabilitiesBuilder().setCParameters(new CParametersBuilder().addAugmentation(CParameters1.class,
        new CParameters1Builder().setMultiprotocolCapability(new MultiprotocolCapabilityBuilder()
            .setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build()).build());
    capas.add(new OptionalCapabilitiesBuilder().setCParameters(BgpExtendedMessageUtil.EXTENDED_MESSAGE_CAPABILITY).build());
    tlvs.add(new BgpParametersBuilder().setOptionalCapabilities(capas).build());
    // Open Message without advertised four-octet AS Number capability
    this.clientSession.handleMessage(new OpenBuilder().setMyAsNumber(30).setHoldTimer(1).setVersion(
        new ProtocolVersion((short) 4)).setBgpParameters(tlvs).setBgpIdentifier(new Ipv4Address("1.1.1.2")).build());
    assertEquals(2, this.receivedMsgs.size());
    assertTrue(this.receivedMsgs.get(1) instanceof Notify);
    final Notification m = this.receivedMsgs.get(this.receivedMsgs.size() - 1);
    assertEquals(BGPError.UNSUPPORTED_CAPABILITY, BGPError.forValue(((Notify) m).getErrorCode(), ((Notify) m).getErrorSubcode()));
    assertNotNull(((Notify) m).getData());
}
 
开发者ID:opendaylight,项目名称:bgpcep,代码行数:23,代码来源:FSMTest.java


示例16: HTTPNotifier

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
/**
 * Primary Constructor.
 *
 * @param startSignal - Latch start signal
 * @param blockingNotificationQueue - Blocking Queue assigned to the worker
 */
public HTTPNotifier(CountDownLatch startSignal,
        BlockingQueue<AbstractMap.SimpleEntry<Uri,Notification>> blockingNotificationQueue) {
    this.run = false;
    this.startSignal = startSignal;
    this.blockingNotificationQueue = blockingNotificationQueue;
    handler = new BasicResponseHandler();
    this.api = new DpnAPI2(ZMQClientPool.getInstance().getWorker());
}
 
开发者ID:opendaylight,项目名称:fpc,代码行数:15,代码来源:HTTPNotifier.java


示例17: notifyAllListeners

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
private void notifyAllListeners(final Set<SchemaPath> added) {
    final Iterator<ListenerRegistration<NotificationInterestListener>> listeners = interestListeners.iterator();
    if(listeners.hasNext()) {
        final Set<Class<? extends Notification>> baEvent = translate(added);
        while(listeners.hasNext()) {
            final NotificationInterestListener listenerRef = listeners.next().getInstance();
            try {
                notifyListener(listenerRef,baEvent);
            } catch (final Exception e) {
                LOG.warn("Unhandled exception during invoking listener {}",e, listenerRef);
            }
        }
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:15,代码来源:HeliumNotificationProviderServiceWithInterestListeners.java


示例18: registerNotificationListener

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public <T extends Notification> ListenerRegistration<NotificationListener<T>> registerNotificationListener(
        final Class<T> type, final NotificationListener<T> listener) {

    final FunctionalNotificationListenerAdapter<T> adapter = new FunctionalNotificationListenerAdapter<>(codec, type, listener);
    final SchemaPath domType = SchemaPath.create(true, BindingReflections.findQName(type));
    final ListenerRegistration<?> domReg = domService.registerNotificationListener(adapter, domType);
    return new AbstractListenerRegistration<NotificationListener<T>>(listener) {
        @Override
        protected void removeRegistration() {
            domReg.close();
        }

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


示例19: load

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public Iterable<NotificationListenerRegistration<?>> load(final Class<?> key) {
    final Set<NotificationListenerRegistration<?>> regs = new HashSet<>();

    for (final Class<?> type : getNotificationTypes(key)) {
        @SuppressWarnings("unchecked")
        final Collection<NotificationListenerRegistration<?>> l = typeToListeners.get((Class<? extends Notification>) type);
        if (l != null) {
            regs.addAll(l);
        }
    }

    return ImmutableSet.copyOf(regs);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:15,代码来源:ListenerMapGeneration.java


示例20: publish

import org.opendaylight.yangtools.yang.binding.Notification; //导入依赖的package包/类
@Override
public void publish(final Notification notification) {
    try {
        notificationPublishService.putNotification(notification);
    } catch (InterruptedException e) {
        LOG.error("Notification publication was interupted: "  + e);
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:9,代码来源:HeliumNotificationProviderServiceAdapter.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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