Search in sources :

Example 36 with Type

use of com.google.api.expr.v1alpha1.Type in project tomee by apache.

the class DependencyVisitor method addMethodDesc.

private void addMethodDesc(final String desc) {
    addType(Type.getReturnType(desc));
    final Type[] types = Type.getArgumentTypes(desc);
    for (Type type : types) {
        addType(type);
    }
}
Also used : Type(org.apache.xbean.asm9.Type)

Example 37 with Type

use of com.google.api.expr.v1alpha1.Type in project tomee by apache.

the class CmrField method createSignature.

private static String createSignature(final Type type, final Type... genericTypes) {
    final StringBuilder builder = new StringBuilder();
    builder.append("L").append(type.getInternalName());
    if (genericTypes.length > 0) {
        builder.append("<");
        for (final Type genericType : genericTypes) {
            builder.append(genericType.getDescriptor());
        }
        builder.append(">");
    }
    builder.append(";");
    return builder.toString();
}
Also used : Type(org.apache.xbean.asm9.Type)

Example 38 with Type

use of com.google.api.expr.v1alpha1.Type in project java-spanner-jdbc by googleapis.

the class PgNumericPreparedStatementTest method assertRequestWithScalar.

private void assertRequestWithScalar(String value) {
    final ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
    final String actualSql = request.getSql();
    final Struct actualParams = request.getParams();
    final Map<String, Type> actualParamTypes = request.getParamTypesMap();
    final Value parameterValue = protoValueFromString(value);
    final Struct expectedParams = Struct.newBuilder().putFields("p1", parameterValue).build();
    final ImmutableMap<String, Type> expectedTypes = ImmutableMap.of("p1", Type.newBuilder().setCode(TypeCode.NUMERIC).setTypeAnnotation(TypeAnnotationCode.PG_NUMERIC).build());
    assertEquals(REWRITTEN_QUERY, actualSql);
    assertEquals(expectedParams, actualParams);
    assertEquals(expectedTypes, actualParamTypes);
}
Also used : Type(com.google.spanner.v1.Type) ExecuteSqlRequest(com.google.spanner.v1.ExecuteSqlRequest) NullValue(com.google.protobuf.NullValue) Value(com.google.protobuf.Value) ListValue(com.google.protobuf.ListValue) Struct(com.google.protobuf.Struct)

Example 39 with Type

use of com.google.api.expr.v1alpha1.Type in project java-spanner-jdbc by googleapis.

the class PgNumericPreparedStatementTest method assertRequestWithArray.

private void assertRequestWithArray(Iterable<String> value) {
    final ExecuteSqlRequest request = mockSpanner.getRequestsOfType(ExecuteSqlRequest.class).get(0);
    final String actualSql = request.getSql();
    final Struct actualParams = request.getParams();
    final Map<String, Type> actualParamTypes = request.getParamTypesMap();
    Value parameterValue;
    if (value != null) {
        final ListValue.Builder builder = ListValue.newBuilder();
        value.forEach(v -> builder.addValues(protoValueFromString(v)));
        parameterValue = Value.newBuilder().setListValue(builder.build()).build();
    } else {
        parameterValue = Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build();
    }
    final Struct expectedParams = Struct.newBuilder().putFields("p1", parameterValue).build();
    final ImmutableMap<String, Type> expectedTypes = ImmutableMap.of("p1", Type.newBuilder().setCode(TypeCode.ARRAY).setArrayElementType(Type.newBuilder().setCode(TypeCode.NUMERIC).setTypeAnnotation(TypeAnnotationCode.PG_NUMERIC)).build());
    assertEquals(REWRITTEN_QUERY, actualSql);
    assertEquals(expectedParams, actualParams);
    assertEquals(expectedTypes, actualParamTypes);
}
Also used : Type(com.google.spanner.v1.Type) ExecuteSqlRequest(com.google.spanner.v1.ExecuteSqlRequest) ListValue(com.google.protobuf.ListValue) NullValue(com.google.protobuf.NullValue) Value(com.google.protobuf.Value) ListValue(com.google.protobuf.ListValue) Struct(com.google.protobuf.Struct)

Example 40 with Type

use of com.google.api.expr.v1alpha1.Type in project jodd by oblac.

the class BigClassTest method testAllFeatures.

@Test
public void testAllFeatures() throws IOException, IllegalAccessException, InstantiationException {
    StatCounter.counter = 0;
    final MutableBoolean firstTime = new MutableBoolean(true);
    ProxyAspect aspect = new ProxyAspect(StatCounterAdvice.class, new ProxyPointcutSupport() {

        public boolean apply(MethodInfo mi) {
            if (firstTime.value) {
                firstTime.value = false;
                ClassInfo ci = mi.getClassInfo();
                assertEquals("BigFatJoe", ci.getClassname());
                assertEquals(BigFatJoe.class.getPackage().getName(), ci.getPackage());
                assertEquals("jodd/proxetta/data/BigFatJoe", ci.getReference());
                assertEquals("jodd/proxetta/data/SmallSkinnyZoe", ci.getSuperName());
                AnnotationInfo[] anns = ci.getAnnotations();
                assertNotNull(anns);
                assertEquals(3, anns.length);
                AnnotationInfo ai = anns[0];
                assertSame(ai, getAnnotation(ci, MadvocAction.class));
                assertEquals(MadvocAction.class.getName(), ai.getAnnotationClassname());
                assertEquals("L" + MadvocAction.class.getName().replace('.', '/') + ";", ai.getAnnotationSignature());
                assertEquals("madvocAction", ai.getElement("value"));
                ai = anns[1];
                assertSame(ai, getAnnotation(ci, PetiteBean.class));
                assertEquals(PetiteBean.class.getName(), ai.getAnnotationClassname());
                assertEquals("L" + PetiteBean.class.getName().replace('.', '/') + ";", ai.getAnnotationSignature());
                ai = anns[2];
                assertSame(ai, getAnnotation(ci, InterceptedBy.class));
                assertEquals(InterceptedBy.class.getName(), ai.getAnnotationClassname());
                assertEquals("L" + InterceptedBy.class.getName().replace('.', '/') + ";", ai.getAnnotationSignature());
                assertTrue(ai.getElement("value") instanceof Object[]);
                assertFalse(ai.getElement("value") instanceof String[]);
                Object c1 = ((Object[]) ai.getElement("value"))[0];
                assertEquals("Ljodd/proxetta/data/Str;", ((Type) c1).getDescriptor());
            }
            if (mi.getMethodName().equals("publicMethod")) {
                AnnotationInfo[] anns = mi.getAnnotations();
                assertNotNull(anns);
                assertEquals(3, anns.length);
                AnnotationInfo ai = anns[0];
                assertSame(ai, getAnnotation(mi, Action.class));
                assertEquals(Action.class.getName(), ai.getAnnotationClassname());
                assertEquals("value", ai.getElement("value"));
                assertEquals("alias", ai.getElement("alias"));
                ai = anns[1];
                assertSame(ai, getAnnotation(mi, PetiteInject.class));
                assertEquals(PetiteInject.class.getName(), ai.getAnnotationClassname());
                assertEquals(0, ai.getElementNames().size());
                ai = anns[2];
                assertSame(ai, getAnnotation(mi, Transaction.class));
                assertEquals(Transaction.class.getName(), ai.getAnnotationClassname());
                assertEquals(2, ai.getElementNames().size());
                String s = (String) ai.getElement("propagation");
                assertEquals("PROPAGATION_REQUIRES_NEW", s);
            }
            if (mi.getMethodName().equals("superPublicMethod")) {
                AnnotationInfo[] anns = mi.getAnnotations();
                assertNotNull(anns);
                assertEquals(3, anns.length);
                AnnotationInfo ai = anns[0];
                assertSame(ai, getAnnotation(mi, Action.class));
                assertEquals(Action.class.getName(), ai.getAnnotationClassname());
                assertEquals(0, ai.getElementNames().size());
                ai = anns[1];
                assertSame(ai, getAnnotation(mi, PetiteInject.class));
                assertEquals(PetiteInject.class.getName(), ai.getAnnotationClassname());
                assertEquals(0, ai.getElementNames().size());
                ai = anns[2];
                assertSame(ai, getAnnotation(mi, Transaction.class));
                assertEquals(Transaction.class.getName(), ai.getAnnotationClassname());
                assertEquals(0, ai.getElementNames().size());
            }
            //System.out.println(!isRootMethod(mi) + " " + mi.getDeclaredClassName() + '#' + mi.getMethodName());
            return !isRootMethod(mi);
        }
    });
    byte[] classBytes = ProxyProxetta.withAspects(aspect).builder(BigFatJoe.class).create();
    //		URL resource = BigFatJoe.class.getResource("/" + BigFatJoe.class.getName().replace(".", "/") + ".class");
    //		jodd.io.FileUtil.copy(FileUtil.toFile(resource), new java.io.File(SystemUtil.getUserHome(), "jo.class"));
    //		jodd.io.FileUtil.writeBytes(new java.io.File(SystemUtil.getUserHome(), "joe.class"), classBytes);
    Class clazz = ClassLoaderUtil.defineClass(null, classBytes);
    BigFatJoe bigFatJoe = (BigFatJoe) clazz.newInstance();
    assertEquals(BigFatJoe.class.getName() + "$$Proxetta", bigFatJoe.getClass().getName());
    assertEquals(BigFatJoe.class, ProxettaUtil.getTargetClass(bigFatJoe.getClass()));
    // test invocation
    // 2 x static + 1 x instance
    assertEquals(3, StatCounter.counter);
    bigFatJoe.publicMethod();
    assertEquals(4, StatCounter.counter);
    bigFatJoe.callInnerMethods();
    // private method is not overridden
    assertEquals(7, StatCounter.counter);
    bigFatJoe.superPublicMethod();
    assertEquals(8, StatCounter.counter);
    bigFatJoe.callInnerMethods2();
    // only public super methods are overridden
    assertEquals(9, StatCounter.counter);
    // test class annotation
    MadvocAction ma = (MadvocAction) clazz.getAnnotation(MadvocAction.class);
    assertEquals("madvocAction", ma.value());
    InterceptedBy ib = (InterceptedBy) clazz.getAnnotation(InterceptedBy.class);
    assertNotNull(ib.value());
    assertEquals(2, ib.value().length);
    // test method annotation
    ClassDescriptor cd = ClassIntrospector.lookup(clazz);
    Method m = cd.getMethodDescriptor("publicMethod", false).getMethod();
    assertNotNull(m);
    Annotation[] aa = m.getAnnotations();
    assertEquals(3, aa.length);
    Action a = (Action) aa[0];
    assertEquals("alias", a.alias());
    assertEquals("extension", a.extension());
    assertEquals("method", a.method());
    assertEquals("value", a.value());
    PetiteInject pi = (PetiteInject) aa[1];
    assertEquals("", pi.value());
    Transaction tx = (Transaction) aa[2];
    assertTrue(tx.readOnly());
    assertEquals(1000, tx.timeout());
    assertEquals("PROPAGATION_REQUIRES_NEW", tx.propagation());
    bigFatJoe.runInnerClass();
    // proxy + call
    assertEquals(11, StatCounter.counter);
}
Also used : ClassDescriptor(jodd.introspector.ClassDescriptor) MutableBoolean(jodd.mutable.MutableBoolean) Method(java.lang.reflect.Method) Annotation(java.lang.annotation.Annotation) Type(jodd.asm5.Type) ProxyPointcutSupport(jodd.proxetta.pointcuts.ProxyPointcutSupport) Test(org.junit.Test)

Aggregations

Type (com.google.api.expr.v1alpha1.Type)30 Test (org.junit.Test)16 MapType (com.google.api.expr.v1alpha1.Type.MapType)15 Type (edu.stanford.CVC4.Type)14 Type (com.google.spanner.v1.Type)12 Test (org.junit.jupiter.api.Test)12 CheckedExpr (com.google.api.expr.v1alpha1.CheckedExpr)11 ByteString (com.google.protobuf.ByteString)11 ArrayType (edu.stanford.CVC4.ArrayType)11 BitVectorType (edu.stanford.CVC4.BitVectorType)11 Expr (edu.stanford.CVC4.Expr)11 ArrayList (java.util.ArrayList)11 Type (org.apache.xbean.asm9.Type)10 Expr (com.google.api.expr.v1alpha1.Expr)9 CVC4.vectorExpr (edu.stanford.CVC4.vectorExpr)9 FieldType (org.projectnessie.cel.common.types.ref.FieldType)8 ListValue (com.google.protobuf.ListValue)7 ExecuteSqlRequest (com.google.spanner.v1.ExecuteSqlRequest)7 CheckerEnv.dynElementType (org.projectnessie.cel.checker.CheckerEnv.dynElementType)7 CheckerEnv.getObjectWellKnownType (org.projectnessie.cel.checker.CheckerEnv.getObjectWellKnownType)7