Search in sources :

Example 11 with Result

use of com.walmartlabs.concord.plugins.s3.Result in project anyline by anylineorg.

the class TemplateResult method doExecute.

public void doExecute(String finalLocation, ActionInvocation invocation) throws Exception {
    // 内容页path
    this.contentPage = finalLocation;
    Result result = invocation.getResult();
    if (!contentPage.startsWith("/")) {
        // 相对目录
        String dir = (String) invocation.getStack().findValue("dir");
        if (null != dir) {
            if (!dir.endsWith("/")) {
                dir = dir + "/";
            }
            contentPage = dir + contentPage;
        }
    }
    HttpServletRequest request = ServletActionContext.getRequest();
    String template = (String) request.getAttribute(Constant.REQUEST_ATTR_TEMPLATE_LAYOUT_PATH);
    // action中设置模板
    if (null != template) {
        if (template.startsWith("/")) {
        // 从根目录开始
        } else {
            // 根据内容页相对目录
            int idx = contentPage.indexOf("/page/");
            if (idx > 0) {
                template = contentPage.substring(0, idx) + "/template/layout/" + template;
            }
        }
    }
    // 根据内容页构建模板path
    if (null == template) {
        int idx = contentPage.indexOf("/page/");
        if (idx > 0) {
            template = contentPage.substring(0, idx) + "/template/layout/default.jsp";
        }
    }
    // 根据配置文件读取固定模板path
    if (null == template) {
        template = ConfigTable.getString("TEMPLET_FILE_PATH_WEB");
        if (WebUtil.isWap(request)) {
            template = ConfigTable.getString("TEMPLET_FILE_PATH_WAP");
        }
        if (null == template) {
            template = ConfigTable.getString("TEMPLET_FILE_PATH");
        }
    }
    PageContext pageContext = ServletActionContext.getPageContext();
    if (pageContext != null) {
        pageContext.include(template);
    } else {
        HttpServletResponse response = ServletActionContext.getResponse();
        RequestDispatcher dispatcher = request.getRequestDispatcher(template);
        request.setAttribute("content_page", contentPage);
        request.setAttribute("anyline_content_page", contentPage);
        if (dispatcher == null) {
            response.sendError(404, (new StringBuilder()).append("result '").append(template).append("' not found").toString());
            return;
        }
        if (!response.isCommitted() && request.getAttribute("javax.servlet.include.servlet_path") == null) {
            request.setAttribute("struts.view_uri", template);
            request.setAttribute("struts.request_uri", request.getRequestURI());
            dispatcher.forward(request, response);
        } else {
            dispatcher.include(request, response);
        }
    }
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) HttpServletResponse(javax.servlet.http.HttpServletResponse) PageContext(javax.servlet.jsp.PageContext) RequestDispatcher(javax.servlet.RequestDispatcher) Result(com.opensymphony.xwork2.Result)

Example 12 with Result

use of com.walmartlabs.concord.plugins.s3.Result in project oracle-db-examples by oracle.

the class RowPublisherOperationTest method rowSubscriber.

@Test
public void rowSubscriber() throws Exception {
    System.out.println("rowSubscriber");
    System.out.println("=============");
    String sql = "select id, name from forum_user";
    CompletableFuture<List<String>> result = new CompletableFuture<>();
    CompletionStage<List<String>> cs;
    Flow.Subscriber<Result.RowColumn> subscriber = getSubscriber(result, false);
    try (Session session = getSession()) {
        cs = session.<List<String>>rowPublisherOperation(sql).subscribe(subscriber, result).onError(e -> fail(e.getMessage())).submit().getCompletionStage();
    }
    cs.toCompletableFuture().get(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
    List<String> names = result.get(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
    ;
    assertNotNull(names);
    assertFalse(names.isEmpty());
    assertEquals(14, names.size());
}
Also used : AfterClass(org.junit.AfterClass) BeforeClass(org.junit.BeforeClass) Test(org.junit.Test) CompletableFuture(java.util.concurrent.CompletableFuture) ArrayList(java.util.ArrayList) TimeUnit(java.util.concurrent.TimeUnit) DataSource(jdk.incubator.sql2.DataSource) TestConfig(com.oracle.adbaoverjdbc.test.TestConfig) List(java.util.List) CompletionStage(java.util.concurrent.CompletionStage) Result(jdk.incubator.sql2.Result) Flow(java.util.concurrent.Flow) Assert(org.junit.Assert) Session(jdk.incubator.sql2.Session) CompletableFuture(java.util.concurrent.CompletableFuture) ArrayList(java.util.ArrayList) List(java.util.List) Flow(java.util.concurrent.Flow) Session(jdk.incubator.sql2.Session) Test(org.junit.Test)

Example 13 with Result

use of com.walmartlabs.concord.plugins.s3.Result in project oracle-db-examples by oracle.

the class SessionOperationGroupTest method testCollect.

/**
 * Verify basic functionality of
 * {@link Session#collect(java.util.stream.Collector)}
 * @throws java.lang.Exception
 */
@Test
public void testCollect() throws Exception {
    Submission<Object> seSubmission = null;
    try (DataSource ds = TestConfig.getDataSource();
        Session se = ds.builder().build()) {
        Collector<Object, ?, Object> co = new ObjectCollector();
        se.attachOperation().timeout(getTimeout()).submit();
        se.collect(co).localOperation().onExecution(() -> 99).submit();
        se.rowOperation("SELECT COUNT(*) FROM " + TABLE).collect(Collectors.summingInt(row -> row.at(1).get(Integer.class))).timeout(getTimeout()).submit();
        se.endTransactionOperation(se.transactionCompletion()).submit();
        seSubmission = se.submit();
    }
    // se.closeOperation().submit() // 5
    assertNotNull(seSubmission);
    @SuppressWarnings("unchecked") List<Integer> result = (List<Integer>) seSubmission.getCompletionStage().toCompletableFuture().get(getTimeout().toMillis(), TimeUnit.MILLISECONDS);
    assertNotNull(result);
    // Note the inline comments which count each submit (1, 2, 3...). This is
    // the expected count of accumulated results.
    assertEquals(5, result.size());
    // Attach operation
    assertNull(result.get(0));
    // Local operation
    assertEquals(99, result.get(1).intValue());
    // Row operation
    assertEquals(0, result.get(2).intValue());
    assertEquals(TransactionOutcome.COMMIT, // Transaction operation
    result.get(3));
    // Close operation
    assertNull(result.get(4));
}
Also used : BeforeClass(org.junit.BeforeClass) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) CompletableFuture(java.util.concurrent.CompletableFuture) Function(java.util.function.Function) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) TestConfig(com.oracle.adbaoverjdbc.test.TestConfig) BiConsumer(java.util.function.BiConsumer) Collector(java.util.stream.Collector) Session(jdk.incubator.sql2.Session) SqlSkippedException(jdk.incubator.sql2.SqlSkippedException) AfterClass(org.junit.AfterClass) Assert.assertNotNull(org.junit.Assert.assertNotNull) AdbaType(jdk.incubator.sql2.AdbaType) Assert.assertTrue(org.junit.Assert.assertTrue) Set(java.util.Set) Test(org.junit.Test) CompletionException(java.util.concurrent.CompletionException) Collectors(java.util.stream.Collectors) TransactionOutcome(jdk.incubator.sql2.TransactionOutcome) BinaryOperator(java.util.function.BinaryOperator) ArrayRowCountOperation(jdk.incubator.sql2.ArrayRowCountOperation) TimeUnit(java.util.concurrent.TimeUnit) DataSource(jdk.incubator.sql2.DataSource) List(java.util.List) Result(jdk.incubator.sql2.Result) Assert.assertNull(org.junit.Assert.assertNull) Assert.assertFalse(org.junit.Assert.assertFalse) Collections(java.util.Collections) Submission(jdk.incubator.sql2.Submission) Assert.assertEquals(org.junit.Assert.assertEquals) ArrayList(java.util.ArrayList) List(java.util.List) DataSource(jdk.incubator.sql2.DataSource) Session(jdk.incubator.sql2.Session) Test(org.junit.Test)

Example 14 with Result

use of com.walmartlabs.concord.plugins.s3.Result in project oracle-db-examples by oracle.

the class MultiOperationTest method multiRowOperationWithRowHandler.

/**
 * Execute a query returning a single result.
 */
@Test
public void multiRowOperationWithRowHandler() {
    fail("TODO: Fix this test");
    Properties props = new Properties();
    DataSourceFactory factory = DataSourceFactory.newFactory(FACTORY_NAME);
    try (DataSource ds = factory.builder().url(URL).username(USER).password(PASSWORD).sessionProperty(JDBC_CONNECTION_PROPERTIES, props).build();
        Session session = ds.getSession(t -> fail("ERROR: " + t.getMessage()))) {
        assertNotNull(session);
        MultiOperation multiOp = session.multiOperation("select * from forum_user").onError(t -> {
            fail(t.toString());
        });
        BiConsumer<Integer, RowOperation<Integer>> rowHandler = (resNum, rowOp) -> {
            assertTrue(resNum > 0);
            rowOp.collect(Collector.<Result.RowColumn, int[], Integer>of(() -> new int[1], (int[] a, Result.RowColumn r) -> {
                a[0] = a[0] + r.at("sal").get(Integer.class);
            }, (l, r) -> l, a -> (Integer) a[0])).onError(t -> {
                fail(t.toString());
            }).submit().getCompletionStage().thenAccept(n -> {
                assertTrue((long) n > 0);
            }).toCompletableFuture();
        };
        multiOp.onRows(rowHandler).submit().getCompletionStage().toCompletableFuture().get(TestConfig.getTimeout().toMillis(), TimeUnit.MILLISECONDS);
    } catch (Exception e) {
        fail(e.getMessage());
    }
}
Also used : DataSourceFactory(jdk.incubator.sql2.DataSourceFactory) BeforeClass(org.junit.BeforeClass) RowOperation(jdk.incubator.sql2.RowOperation) CompletableFuture(java.util.concurrent.CompletableFuture) ArrayList(java.util.ArrayList) SqlException(jdk.incubator.sql2.SqlException) OperationGroup(jdk.incubator.sql2.OperationGroup) Flow(java.util.concurrent.Flow) BiConsumer(java.util.function.BiConsumer) Collector(java.util.stream.Collector) Session(jdk.incubator.sql2.Session) AfterClass(org.junit.AfterClass) Properties(java.util.Properties) JDBC_CONNECTION_PROPERTIES(com.oracle.adbaoverjdbc.JdbcConnectionProperties.JDBC_CONNECTION_PROPERTIES) AdbaType(jdk.incubator.sql2.AdbaType) Test(org.junit.Test) RowPublisherOperation(jdk.incubator.sql2.RowPublisherOperation) TransactionCompletion(jdk.incubator.sql2.TransactionCompletion) Date(java.sql.Date) TimeUnit(java.util.concurrent.TimeUnit) DataSource(jdk.incubator.sql2.DataSource) List(java.util.List) CompletionStage(java.util.concurrent.CompletionStage) Result(jdk.incubator.sql2.Result) RowCountOperation(jdk.incubator.sql2.RowCountOperation) ForkJoinPool(java.util.concurrent.ForkJoinPool) MultiOperation(jdk.incubator.sql2.MultiOperation) Assert(org.junit.Assert) Submission(jdk.incubator.sql2.Submission) DataSourceFactory(jdk.incubator.sql2.DataSourceFactory) Properties(java.util.Properties) RowOperation(jdk.incubator.sql2.RowOperation) SqlException(jdk.incubator.sql2.SqlException) DataSource(jdk.incubator.sql2.DataSource) Result(jdk.incubator.sql2.Result) MultiOperation(jdk.incubator.sql2.MultiOperation) Session(jdk.incubator.sql2.Session) Test(org.junit.Test)

Example 15 with Result

use of com.walmartlabs.concord.plugins.s3.Result in project ipt by gbif.

the class RedirectMessageInterceptor method after.

/**
 * If the result is a redirect then store error and messages in the session.
 */
protected void after(ActionInvocation invocation, BaseAction action) throws Exception {
    Result result = invocation.getResult();
    if (result != null && (result instanceof ServletRedirectResult || result instanceof ServletActionRedirectResult)) {
        Map<String, Object> session = invocation.getInvocationContext().getSession();
        Collection<String> actionWarnings = action.getWarnings();
        if (actionWarnings != null && !actionWarnings.isEmpty()) {
            session.put(ACTION_WARNINGS_KEY, actionWarnings);
        }
        Collection<String> actionErrors = action.getActionErrors();
        if (actionErrors != null && !actionErrors.isEmpty()) {
            session.put(ACTION_ERRORS_KEY, actionErrors);
        }
        Collection<String> actionMessages = action.getActionMessages();
        if (actionMessages != null && !actionMessages.isEmpty()) {
            session.put(ACTION_MESSAGES_KEY, actionMessages);
        }
        Map<String, List<String>> fieldErrors = action.getFieldErrors();
        if (fieldErrors != null && !fieldErrors.isEmpty()) {
            session.put(FIELD_ERRORS_KEY, fieldErrors);
        }
    }
}
Also used : ServletRedirectResult(org.apache.struts2.result.ServletRedirectResult) ServletActionRedirectResult(org.apache.struts2.result.ServletActionRedirectResult) List(java.util.List) ServletRedirectResult(org.apache.struts2.result.ServletRedirectResult) Result(com.opensymphony.xwork2.Result) ServletActionRedirectResult(org.apache.struts2.result.ServletActionRedirectResult)

Aggregations

Test (org.junit.Test)46 Result (edu.stanford.CVC4.Result)35 Expr (edu.stanford.CVC4.Expr)32 SExpr (edu.stanford.CVC4.SExpr)32 CVC4.vectorExpr (edu.stanford.CVC4.vectorExpr)31 Rational (edu.stanford.CVC4.Rational)25 Result (com.opensymphony.xwork2.Result)18 List (java.util.List)15 ArrayList (java.util.ArrayList)13 ArrayType (edu.stanford.CVC4.ArrayType)8 CompletableFuture (java.util.concurrent.CompletableFuture)8 TimeUnit (java.util.concurrent.TimeUnit)8 DataSource (jdk.incubator.sql2.DataSource)8 Result (jdk.incubator.sql2.Result)8 Session (jdk.incubator.sql2.Session)8 AfterClass (org.junit.AfterClass)8 BeforeClass (org.junit.BeforeClass)8 BitVectorType (edu.stanford.CVC4.BitVectorType)6 SortType (edu.stanford.CVC4.SortType)6 Type (edu.stanford.CVC4.Type)6