</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<scm>
<connection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</connection>
<developerConnection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</developerConnection>
}
@Override
+ @SuppressWarnings("checkstyle:IllegalCatch")
public final synchronized void stop() {
if (this.registrations == null) {
return;
/**
* Finds parser for given label C-type in the registry. Delegates parsing to found parser.
*
- * @param cType label type, key in parser registry
+ * @param ctype label type, key in parser registry
* @param buffer label wrapped in ByteBuf
* @return null if the parser for this label could not be found
* @throws RSVPParsingException if the parsing did not succeed
*/
- LabelType parseLabel(int cType, ByteBuf buffer) throws RSVPParsingException;
+ LabelType parseLabel(int ctype, ByteBuf buffer) throws RSVPParsingException;
/**
* Find serializer for given label. Delegates parsing to found serializer.
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
public interface RSVPExtensionProviderContext extends RSVPExtensionConsumerContext {
- void registerRsvpObjectParser(int classNum, int cType, RSVPTeObjectParser parser);
+ void registerRsvpObjectParser(int classNum, int ctype, RSVPTeObjectParser parser);
void registerRsvpObjectSerializer(Class<? extends RsvpTeObject> objectClass, RSVPTeObjectSerializer serializer);
- AutoCloseable registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass, XROSubobjectSerializer serializer);
+ AutoCloseable registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass,
+ XROSubobjectSerializer serializer);
AutoCloseable registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
- AutoCloseable registerRROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass, RROSubobjectSerializer serializer);
+ AutoCloseable registerRROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params
+ .xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass, RROSubobjectSerializer
+ serializer);
AutoCloseable registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
- AutoCloseable registerEROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType> subobjectClass, EROSubobjectSerializer serializer);
+ AutoCloseable registerEROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params
+ .xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType> subobjectClass,
+ EROSubobjectSerializer serializer);
AutoCloseable registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
AutoCloseable registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
- AutoCloseable registerLabelParser(int cType, LabelParser parser);
+ AutoCloseable registerLabelParser(int ctype, LabelParser parser);
/**
* Get the context-wide cache for a particular object type.
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.RsvpTeObject;
public interface RSVPTeObjectRegistry {
- RsvpTeObject parseRSPVTe(int classNum, int cType, ByteBuf buffer) throws RSVPParsingException;
+ RsvpTeObject parseRSPVTe(int classNum, int ctype, ByteBuf buffer) throws RSVPParsingException;
void serializeRSPVTe(RsvpTeObject parameter, ByteBuf bytes);
}
package org.opendaylight.protocol.rsvp.parser.spi.pojo;
-
import java.util.ServiceLoader;
import org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderActivator;
import org.opendaylight.protocol.rsvp.parser.spi.RSVPExtensionProviderContext;
public static RSVPExtensionProviderContext create() {
final RSVPExtensionProviderContext ctx = new SimpleRSVPExtensionProviderContext();
- final ServiceLoader<RSVPExtensionProviderActivator> loader = ServiceLoader.load(RSVPExtensionProviderActivator
- .class);
+ final ServiceLoader<RSVPExtensionProviderActivator> loader = ServiceLoader
+ .load(RSVPExtensionProviderActivator.class);
for (final RSVPExtensionProviderActivator a : loader) {
a.start(ctx);
}
private static final RSVPExtensionProviderContext INSTANCE;
static {
- try {
- INSTANCE = create();
- } catch (final Exception e) {
- throw new ExceptionInInitializerError(e);
- }
+ INSTANCE = create();
}
private Holder() {
import org.opendaylight.yangtools.yang.binding.DataContainer;
public final class SimpleEROSubobjectRegistry implements EROSubobjectRegistry {
- private final HandlerRegistry<DataContainer, EROSubobjectParser, EROSubobjectSerializer> handlers = new HandlerRegistry<>();
+ private final HandlerRegistry<DataContainer, EROSubobjectParser, EROSubobjectSerializer> handlers =
+ new HandlerRegistry<>();
public AutoCloseable registerSubobjectParser(final int subobjectType, final EROSubobjectParser parser) {
Preconditions.checkArgument(subobjectType >= 0 && subobjectType <= Values.UNSIGNED_SHORT_MAX_VALUE);
}
public AutoCloseable registerSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
- final EROSubobjectSerializer serializer) {
+ final EROSubobjectSerializer serializer) {
return this.handlers.registerSerializer(subobjectClass, serializer);
}
@Override
- public SubobjectContainer parseSubobject(final int type, final ByteBuf buffer, final boolean loose) throws RSVPParsingException {
+ public SubobjectContainer parseSubobject(final int type, final ByteBuf buffer, final boolean loose) throws
+ RSVPParsingException {
Preconditions.checkArgument(type >= 0 && type <= Values.UNSIGNED_SHORT_MAX_VALUE);
final EROSubobjectParser parser = this.handlers.getParser(type);
if (parser == null) {
@Override
public void serializeSubobject(final SubobjectContainer subobject, final ByteBuf buffer) {
- final EROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType().getImplementedInterface());
+ final EROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType()
+ .getImplementedInterface());
if (serializer == null) {
return;
}
public final class SimpleLabelRegistry implements LabelRegistry {
private final HandlerRegistry<DataContainer, LabelParser, LabelSerializer> handlers = new HandlerRegistry<>();
- public AutoCloseable registerLabelParser(final int cType, final LabelParser parser) {
- Preconditions.checkArgument(cType >= 0 && cType <= Values.UNSIGNED_BYTE_MAX_VALUE);
- return this.handlers.registerParser(cType, parser);
+ public AutoCloseable registerLabelParser(final int ctype, final LabelParser parser) {
+ Preconditions.checkArgument(ctype >= 0 && ctype <= Values.UNSIGNED_BYTE_MAX_VALUE);
+ return this.handlers.registerParser(ctype, parser);
}
- public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass, final LabelSerializer serializer) {
+ public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass,
+ final LabelSerializer serializer) {
return this.handlers.registerSerializer(labelClass, serializer);
}
@Override
- public LabelType parseLabel(final int cType, final ByteBuf buffer) throws RSVPParsingException {
- Preconditions.checkArgument(cType >= 0 && cType <= Values.UNSIGNED_BYTE_MAX_VALUE);
- final LabelParser parser = this.handlers.getParser(cType);
+ public LabelType parseLabel(final int ctype, final ByteBuf buffer) throws RSVPParsingException {
+ Preconditions.checkArgument(ctype >= 0 && ctype <= Values.UNSIGNED_BYTE_MAX_VALUE);
+ final LabelParser parser = this.handlers.getParser(ctype);
if (parser == null) {
return null;
}
}
@Override
- public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType label, final ByteBuf buffer) {
+ public void serializeLabel(final boolean unidirectional, final boolean global, final LabelType label,
+ final ByteBuf buffer) {
final LabelSerializer serializer = this.handlers.getSerializer(label.getImplementedInterface());
if (serializer != null) {
serializer.serializeLabel(unidirectional, global, label, buffer);
import org.opendaylight.yangtools.yang.binding.DataContainer;
public final class SimpleRROSubobjectRegistry implements RROSubobjectRegistry {
- private final HandlerRegistry<DataContainer, RROSubobjectParser, RROSubobjectSerializer> handlers = new HandlerRegistry<>();
+ private final HandlerRegistry<DataContainer, RROSubobjectParser, RROSubobjectSerializer> handlers =
+ new HandlerRegistry<>();
public AutoCloseable registerSubobjectParser(final int subobjectType, final RROSubobjectParser parser) {
Preconditions.checkArgument(subobjectType >= 0 && subobjectType <= Values.UNSIGNED_SHORT_MAX_VALUE);
}
public AutoCloseable registerSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
- final RROSubobjectSerializer serializer) {
+ final RROSubobjectSerializer serializer) {
return this.handlers.registerSerializer(subobjectClass, serializer);
}
@Override
public void serializeSubobject(final SubobjectContainer subobject, final ByteBuf buffer) {
- final RROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType().getImplementedInterface());
+ final RROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType()
+ .getImplementedInterface());
if (serializer == null) {
return;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
-public class SimpleRSVPExtensionProviderContext extends SimpleRSVPExtensionConsumerContext implements RSVPExtensionProviderContext {
+public class SimpleRSVPExtensionProviderContext extends SimpleRSVPExtensionConsumerContext implements
+ RSVPExtensionProviderContext {
private static final int DEFAULT_MAXIMUM_CACHED_OBJECTS = 100000;
public <T> T getSharedReference(final T object) {
final Cache<Object, Object> cache = SimpleRSVPExtensionProviderContext.this.cacheRef.get();
- @SuppressWarnings("unchecked")
- final T ret = (T) cache.getIfPresent(object);
+ @SuppressWarnings("unchecked") final T ret = (T) cache.getIfPresent(object);
if (ret == null) {
cache.put(object, object);
return object;
@Override
- public void registerRsvpObjectParser(final int classNum, final int cType, final RSVPTeObjectParser parser) {
- this.getRsvpRegistry().registerRsvpObjectParser(classNum, cType, parser);
+ public void registerRsvpObjectParser(final int classNum, final int ctype, final RSVPTeObjectParser parser) {
+ this.getRsvpRegistry().registerRsvpObjectParser(classNum, ctype, parser);
}
@Override
- public void registerRsvpObjectSerializer(final Class<? extends RsvpTeObject> objectClass, final RSVPTeObjectSerializer serializer) {
+ public void registerRsvpObjectSerializer(final Class<? extends RsvpTeObject> objectClass,
+ final RSVPTeObjectSerializer serializer) {
this.getRsvpRegistry().registerRsvpObjectSerializer(objectClass, serializer);
}
@Override
- public AutoCloseable registerXROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass, final XROSubobjectSerializer serializer) {
+ public AutoCloseable registerXROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
+ final XROSubobjectSerializer serializer) {
return this.getXROSubobjectHandlerRegistry().registerSubobjectSerializer(subobjectClass, serializer);
}
}
@Override
- public AutoCloseable registerRROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass, final RROSubobjectSerializer serializer) {
+ public AutoCloseable registerRROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn
+ .opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass,
+ final RROSubobjectSerializer serializer) {
return this.getRROSubobjectHandlerRegistry().registerSubobjectSerializer(subobjectClass, serializer);
}
}
@Override
- public AutoCloseable registerEROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType> subobjectClass, final EROSubobjectSerializer serializer) {
+ public AutoCloseable registerEROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn
+ .opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType>
+ subobjectClass, final EROSubobjectSerializer serializer) {
return this.getEROSubobjectHandlerRegistry().registerSubobjectSerializer(subobjectClass, serializer);
}
}
@Override
- public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass, final LabelSerializer serializer) {
+ public AutoCloseable registerLabelSerializer(final Class<? extends LabelType> labelClass,
+ final LabelSerializer serializer) {
return this.getLabelHandlerRegistry().registerLabelSerializer(labelClass, serializer);
}
@Override
- public AutoCloseable registerLabelParser(final int cType, final LabelParser parser) {
- return this.getLabelHandlerRegistry().registerLabelParser(cType, parser);
+ public AutoCloseable registerLabelParser(final int ctype, final LabelParser parser) {
+ return this.getLabelHandlerRegistry().registerLabelParser(ctype, parser);
}
}
private final List<RSVPExtensionProviderActivator> extensionActivators;
public SimpleRSVPExtensionProviderContextActivator(final RSVPExtensionProviderContext providerContext,
- final List<RSVPExtensionProviderActivator> extensionActivators) {
+ final List<RSVPExtensionProviderActivator> extensionActivators) {
this.providerContext = Preconditions.checkNotNull(providerContext);
this.extensionActivators = Preconditions.checkNotNull(extensionActivators);
}
public void start() {
LOG.debug("Starting {} RSVPExtensionProviderActivator instances", this.extensionActivators.size());
- for(final RSVPExtensionProviderActivator e : this.extensionActivators) {
+ for (final RSVPExtensionProviderActivator e : this.extensionActivators) {
e.start(this.providerContext);
}
}
public void close() {
LOG.debug("Stopping {} RSVPExtensionProviderActivator instances", this.extensionActivators.size());
- for(final RSVPExtensionProviderActivator e : this.extensionActivators) {
+ for (final RSVPExtensionProviderActivator e : this.extensionActivators) {
e.stop();
}
}
private final Table<Integer, Integer, RSVPTeObjectParser> parserHandler = HashBasedTable.create();
private final Map<Class<? extends RsvpTeObject>, RSVPTeObjectSerializer> serializerHandler = new HashMap<>();
- public void registerRsvpObjectParser(final int classNum, final int cType, final RSVPTeObjectParser parser) {
+ public void registerRsvpObjectParser(final int classNum, final int ctype, final RSVPTeObjectParser parser) {
Preconditions.checkArgument(classNum >= 0 && classNum <= Values.UNSIGNED_BYTE_MAX_VALUE);
- Preconditions.checkArgument(cType >= 0 && cType <= Values.UNSIGNED_BYTE_MAX_VALUE);
- this.parserHandler.put(classNum, cType, parser);
+ Preconditions.checkArgument(ctype >= 0 && ctype <= Values.UNSIGNED_BYTE_MAX_VALUE);
+ this.parserHandler.put(classNum, ctype, parser);
}
- public void registerRsvpObjectSerializer(final Class<? extends RsvpTeObject> objectClass, final RSVPTeObjectSerializer serializer) {
+ public void registerRsvpObjectSerializer(final Class<? extends RsvpTeObject> objectClass,
+ final RSVPTeObjectSerializer serializer) {
this.serializerHandler.put(objectClass, serializer);
}
@Override
- public RsvpTeObject parseRSPVTe(final int classNum, final int cType, final ByteBuf buffer) throws RSVPParsingException {
- final RSVPTeObjectParser parser = this.parserHandler.get(classNum, cType);
+ public RsvpTeObject parseRSPVTe(final int classNum, final int ctype, final ByteBuf buffer)
+ throws RSVPParsingException {
+ final RSVPTeObjectParser parser = this.parserHandler.get(classNum, ctype);
if (parser == null) {
return null;
}
import org.opendaylight.yangtools.yang.binding.DataContainer;
public class SimpleXROSubobjectRegistry implements XROSubobjectRegistry {
- private final HandlerRegistry<DataContainer, XROSubobjectParser, XROSubobjectSerializer> handlers = new HandlerRegistry<>();
+ private final HandlerRegistry<DataContainer, XROSubobjectParser, XROSubobjectSerializer> handlers =
+ new HandlerRegistry<>();
public AutoCloseable registerSubobjectParser(final int subobjectType, final XROSubobjectParser parser) {
Preconditions.checkArgument(subobjectType >= 0 && subobjectType <= Values.UNSIGNED_SHORT_MAX_VALUE);
}
public AutoCloseable registerSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
- final XROSubobjectSerializer serializer) {
+ final XROSubobjectSerializer serializer) {
return this.handlers.registerSerializer(subobjectClass, serializer);
}
@Override
- public SubobjectContainer parseSubobject(final int type, final ByteBuf buffer, final boolean mandatory) throws RSVPParsingException {
+ public SubobjectContainer parseSubobject(final int type, final ByteBuf buffer, final boolean mandatory)
+ throws RSVPParsingException {
Preconditions.checkArgument(type >= 0 && type <= Values.UNSIGNED_SHORT_MAX_VALUE);
final XROSubobjectParser parser = this.handlers.getParser(type);
if (parser == null) {
@Override
public void serializeSubobject(final SubobjectContainer subobject, final ByteBuf buffer) {
- final XROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType().getImplementedInterface());
+ final XROSubobjectSerializer serializer = this.handlers.getSerializer(subobject.getSubobjectType()
+ .getImplementedInterface());
if (serializer == null) {
return;
}
protected static final int TOKEN_BUCKET_TSPEC = 127;
protected static final int FLAGS_SIZE = 8;
- protected static void serializeAttributeHeader(final Integer valueLength, final short classNum, final short cType,
- final ByteBuf byteAggregator) {
+ protected static void serializeAttributeHeader(final Integer valueLength, final short classNum,
+ final short ctype, final ByteBuf byteAggregator) {
byteAggregator.writeShort(valueLength);
byteAggregator.writeByte(classNum);
- byteAggregator.writeByte(cType);
+ byteAggregator.writeByte(ctype);
}
protected static void writeAttributeFilter(final AttributeFilter attributeFilter, final ByteBuf body) {
localSerializeObject(rsvpTeObject, output);
}
- protected abstract void localSerializeObject(final RsvpTeObject rsvpTeObject, final ByteBuf output);
+ protected abstract void localSerializeObject(RsvpTeObject rsvpTeObject, ByteBuf output);
- protected abstract RsvpTeObject localParseObject(final ByteBuf byteBuf) throws RSVPParsingException;
+ protected abstract RsvpTeObject localParseObject(ByteBuf byteBuf) throws RSVPParsingException;
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.path.key._case.PathKeyBuilder;
public class CommonPathKeyParser {
- public static final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route
+ public static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route
.subobjects.subobject.type.path.key._case.PathKey parsePathKey(final int pceIdFLength, final ByteBuf buffer) {
final int pathKey = buffer.readUnsignedShort();
final byte[] pceId = ByteArray.readBytes(buffer, pceIdFLength);
return pBuilder.build();
}
- public static final ByteBuf serializePathKey(final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang
- .rsvp.rev150820.explicit.route.subobjects.subobject.type.path.key._case.PathKey pk) {
+ public static ByteBuf serializePathKey(final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang
+ .rsvp.rev150820.explicit.route.subobjects.subobject.type.path.key._case.PathKey pk) {
final ByteBuf body = Unpooled.buffer();
Preconditions.checkArgument(pk.getPathKey() != null, "PathKey is mandatory.");
writeUnsignedShort(pk.getPathKey().getValue(), body);
package org.opendaylight.protocol.rsvp.parser.spi.subobjects;
-
-import static org.opendaylight.protocol.util.ByteBufWriteUtil.writeUnsignedInt;
-
import com.google.common.base.Preconditions;
+
import io.netty.buffer.ByteBuf;
+import org.opendaylight.protocol.util.ByteBufWriteUtil;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.unnumbered._case.Unnumbered;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.unnumbered._case.UnnumberedBuilder;
public class CommonUnnumberedInterfaceSubobjectParser {
- protected static final UnnumberedCase parseUnnumeredInterface(final ByteBuf buffer) {
+ protected static UnnumberedCase parseUnnumeredInterface(final ByteBuf buffer) {
final UnnumberedBuilder ubuilder = new UnnumberedBuilder();
ubuilder.setRouterId(buffer.readUnsignedInt());
ubuilder.setInterfaceId(buffer.readUnsignedInt());
return new UnnumberedCaseBuilder().setUnnumbered(ubuilder.build()).build();
}
- protected static final void serializeUnnumeredInterface(final Unnumbered unnumbered, final ByteBuf body) {
+ protected static void serializeUnnumeredInterface(final Unnumbered unnumbered, final ByteBuf body) {
Preconditions.checkArgument(unnumbered.getRouterId() != null, "RouterId is mandatory.");
- writeUnsignedInt(unnumbered.getRouterId(), body);
+ ByteBufWriteUtil.writeUnsignedInt(unnumbered.getRouterId(), body);
Preconditions.checkArgument(unnumbered.getInterfaceId() != null, "InterfaceId is mandatory.");
- writeUnsignedInt(unnumbered.getInterfaceId(), body);
+ ByteBufWriteUtil.writeUnsignedInt(unnumbered.getInterfaceId(), body);
}
}
package org.opendaylight.protocol.rsvp.parser.spi.subobjects;
-
import com.google.common.base.Preconditions;
+
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
import java.util.ArrayList;
Preconditions.checkArgument(buffer != null, "Array of bytes is mandatory. Can't be null.");
final List<SubobjectContainer> subs = new ArrayList<>();
while (buffer.isReadable()) {
- final boolean loose = ((buffer.getUnsignedByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0) ? true : false;
- final int type = (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values.FIRST_BIT_OFFSET);
+ final boolean loose = (buffer.getUnsignedByte(buffer.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET))
+ != 0;
+ final int type = (buffer.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values
+ .FIRST_BIT_OFFSET);
final int length = buffer.readUnsignedByte() - HEADER_LENGTH;
if (length > buffer.readableBytes()) {
throw new RSVPParsingException("Wrong length specified. Passed: " + length + "; Expected: <= "
}
public final void serializeList(final List<SubobjectContainer> subobjects, final ByteBuf buffer) {
- Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(), "RRO must contain at least one subobject.");
+ Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(),
+ "RRO must contain at least one subobject.");
for (final SubobjectContainer subobject : subobjects) {
this.subobjReg.serializeSubobject(subobject, buffer);
}
}
public List<SubobjectContainer> parseList(final ByteBuf buffer) throws RSVPParsingException {
- Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty.");
+ Preconditions.checkArgument(buffer != null && buffer.isReadable(),
+ "Array of bytes is mandatory. Can't be null or empty.");
final List<SubobjectContainer> subs = new ArrayList<>();
while (buffer.isReadable()) {
final int type = buffer.readUnsignedByte();
}
public final void serializeList(final List<SubobjectContainer> subobjects, final ByteBuf buffer) {
- Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(), "RRO must contain at least one subobject.");
+ Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(),
+ "RRO must contain at least one subobject.");
for (final SubobjectContainer subobject : subobjects) {
this.subobjReg.serializeSubobject(subobject, buffer);
}
public List<SubobjectContainer> parseList(final ByteBuf byteBuf) throws RSVPParsingException {
final List<SubobjectContainer> subs = new ArrayList<>();
while (byteBuf.isReadable()) {
- final boolean mandatory = ((byteBuf.getUnsignedByte(byteBuf.readerIndex()) & (1 << Values.FIRST_BIT_OFFSET)) != 0) ? true : false;
- final int type = UnsignedBytes.checkedCast((byteBuf.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~(1 << Values.FIRST_BIT_OFFSET));
+ final boolean mandatory = (byteBuf.getUnsignedByte(byteBuf.readerIndex()) & (1 << Values
+ .FIRST_BIT_OFFSET)) != 0;
+ final int type = UnsignedBytes.checkedCast((byteBuf.readUnsignedByte() & Values.BYTE_MAX_VALUE_BYTES) & ~
+ (1 << Values.FIRST_BIT_OFFSET));
final int length = byteBuf.readUnsignedByte() - HEADER_LENGHT;
if (length > byteBuf.readableBytes()) {
- throw new RSVPParsingException("Wrong length specified. Passed: " + length + "; Expected: <= " + byteBuf.readableBytes());
+ throw new RSVPParsingException("Wrong length specified. Passed: " + length
+ + "; Expected: <= " + byteBuf.readableBytes());
}
LOG.debug("Attempt to parse subobject from bytes: {}", ByteBufUtil.hexDump(byteBuf));
final SubobjectContainer sub = this.subobjReg.parseSubobject(type, byteBuf.readSlice(length), mandatory);
}
public void serializeList(final List<SubobjectContainer> subobjects, final ByteBuf buffer) {
- Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(), "XRO must contain at least one subobject.");
+ Preconditions.checkArgument(subobjects != null && !subobjects.isEmpty(),
+ "XRO must contain at least one subobject.");
for (final SubobjectContainer subobject : subobjects) {
this.subobjReg.serializeSubobject(subobject, buffer);
}