use of com.google.spanner.v1.Type in project jodd by oblac.
the class MethodFinder method visitMethod.
@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
if (paramExtractor != null) {
// method already found, skip all further methods
return null;
}
if (!name.equals(methodName)) {
// different method
return null;
}
Type[] argumentTypes = Type.getArgumentTypes(desc);
int dwordsCount = 0;
for (Type t : argumentTypes) {
if (t.getClassName().equals(TYPE_LONG) || t.getClassName().equals(TYPE_DOUBLE)) {
dwordsCount++;
}
}
int paramCount = argumentTypes.length;
if (paramCount != this.parameterTypes.length) {
// different number of params
return null;
}
for (int i = 0; i < argumentTypes.length; i++) {
if (!isEqualTypeName(argumentTypes[i], this.parameterTypes[i])) {
// wrong param types
return null;
}
}
this.paramExtractor = new ParamExtractor((Modifier.isStatic(access) ? 0 : 1), argumentTypes.length + dwordsCount);
return paramExtractor;
}
use of com.google.spanner.v1.Type in project google-cloud-java by GoogleCloudPlatform.
the class GrpcResultSetTest method empty.
@Test
public void empty() {
Type type = Type.struct(Type.StructField.of("f", Type.string()));
PartialResultSet partialResultSet = PartialResultSet.newBuilder().setMetadata(makeMetadata(type)).build();
consumer.onPartialResultSet(partialResultSet);
consumer.onCompleted();
assertThat(resultSet.next()).isFalse();
assertThat(resultSet.getType()).isEqualTo(type);
}
use of com.google.spanner.v1.Type in project google-cloud-java by GoogleCloudPlatform.
the class GrpcResultSetTest method metadata.
@Test
public void metadata() {
Type rowType = Type.struct(Type.StructField.of("f", Type.string()));
ResultSetMetadata.Builder metadataBuilder = ResultSetMetadata.newBuilder();
metadataBuilder.setRowType(rowType.toProto().getStructType()).getTransactionBuilder().setId(ByteString.copyFromUtf8("t1"));
PartialResultSet partialResultSet = PartialResultSet.newBuilder().setMetadata(metadataBuilder.build()).build();
consumer.onPartialResultSet(partialResultSet);
consumer.onCompleted();
assertThat(resultSet.next()).isFalse();
assertThat(resultSet.getType()).isEqualTo(rowType);
}
use of com.google.spanner.v1.Type in project openflowplugin by opendaylight.
the class SalToOfSetTpSrcActionCase method process.
@NonNull
@Override
public Optional<Action> process(@NonNull final SetTpSrcActionCase source, final ActionConvertorData data, final ConvertorExecutor convertorExecutor) {
IPProtocols protocol = null;
if (data.getIpProtocol() != null) {
protocol = IPProtocols.fromProtocolNum(data.getIpProtocol());
}
SetTpSrcAction settpsrcaction = source.getSetTpSrcAction();
MatchEntryBuilder matchBuilder = new MatchEntryBuilder().setOxmClass(OpenflowBasicClass.class).setHasMask(Boolean.FALSE);
final Uint16 port = settpsrcaction.getPort().getValue();
final Uint8 type = Uint8.valueOf(0xff & port.toJava());
if (protocol != null) {
switch(protocol) {
case ICMP:
matchBuilder.setOxmMatchField(Icmpv4Type.class);
matchBuilder.setMatchEntryValue(new Icmpv4TypeCaseBuilder().setIcmpv4Type(new Icmpv4TypeBuilder().setIcmpv4Type(type).build()).build());
break;
case ICMPV6:
matchBuilder.setOxmMatchField(Icmpv6Type.class);
matchBuilder.setMatchEntryValue(new Icmpv6TypeCaseBuilder().setIcmpv6Type(new Icmpv6TypeBuilder().setIcmpv6Type(type).build()).build());
break;
case TCP:
matchBuilder.setOxmMatchField(TcpSrc.class);
matchBuilder.setMatchEntryValue(new TcpSrcCaseBuilder().setTcpSrc(new TcpSrcBuilder().setPort(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber(port)).build()).build());
break;
case UDP:
matchBuilder.setOxmMatchField(UdpSrc.class);
matchBuilder.setMatchEntryValue(new UdpSrcCaseBuilder().setUdpSrc(new UdpSrcBuilder().setPort(new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber(port)).build()).build());
break;
default:
LOG.warn("Unknown protocol with combination of SetSourcePort: {}", protocol);
break;
}
} else {
LOG.warn("Null protocol with combination of SetSourcePort");
}
List<MatchEntry> entries = new ArrayList<>();
entries.add(matchBuilder.build());
SetFieldActionBuilder setFieldBuilder = new SetFieldActionBuilder();
setFieldBuilder.setMatchEntry(entries);
SetFieldCaseBuilder setFieldCaseBuilder = new SetFieldCaseBuilder();
setFieldCaseBuilder.setSetFieldAction(setFieldBuilder.build());
return Optional.of(new ActionBuilder().setActionChoice(setFieldCaseBuilder.build()).build());
}
use of com.google.spanner.v1.Type in project openflowplugin by opendaylight.
the class OfToSalIcmpv4TypeCase method process.
@Override
public Optional<MatchBuilder> process(@NonNull final Icmpv4TypeCase source, final MatchResponseConvertorData data, final ConvertorExecutor convertorExecutor) {
final MatchBuilder matchBuilder = data.getMatchBuilder();
final Icmpv4MatchBuilder icmpv4MatchBuilder = data.getIcmpv4MatchBuilder();
Icmpv4Type icmpv4Type = source.getIcmpv4Type();
Uint8 type = icmpv4Type.getIcmpv4Type();
if (type != null) {
icmpv4MatchBuilder.setIcmpv4Type(type);
matchBuilder.setIcmpv4Match(icmpv4MatchBuilder.build());
}
return Optional.of(matchBuilder);
}
Aggregations