programming overflow
Saturday, January 19, 2019
Monday, January 18, 2016
JSP custom tags study link
http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html
Friday, January 15, 2016
Jump Start with Activiti BPM along with Spring mvc
To create web application using spring mvc and activiti in background
This post has been migrated to following link.
My new blog
steps :1
create maven project with following pom
This post has been migrated to following link.
My new blog
steps :1
create maven project with following pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gk</groupId> <artifactId>activitiMakerChecker</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>activitiMakerChecker Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <org.springframework.version>4.2.4.RELEASE</org.springframework.version> <jdk.version>1.6</jdk.version> <spring.version>4.0.5.RELEASE</spring.version> <jstl.version>1.2</jstl.version> <servletapi.version>3.1.0</servletapi.version> <org.hibernate.version>4.0.1.Final</org.hibernate.version> <org.hibernate.annotation.version>3.5.6-Final</org.hibernate.annotation.version> </properties> <dependencies> <!-- Activiti dependencies --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>5.14</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.14</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <!-- Hibernate dep --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${org.hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${org.hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>${org.hibernate.annotation.version}</version> </dependency> <!-- Oracle dependency --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>activitiMakerChecker</finalName> </build> </project> Now run command : mvn eclipse:eclipse -Dwtpversion=2.0step 2:,
web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
hello-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com" />
<mvc:annotation-driven />
<bean id="dataSource"
class="oracle.jdbc.pool.OracleDataSource">
<property name="URL" value="your url" />
<property name="user" value="user" />
<property name="password" value="password" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseSchemaUpdate" value="false" />
<property name="jobExecutorActivate" value="false" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repositoryService" factory-bean="processEngine"
factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine"
factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine"
factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine"
factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine"
factory-method="getManagementService" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
step 3
Java code
package com.nuc.process;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.ProcessEngines;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyProcess {
@Autowired
ProcessEngine processEngine;
@RequestMapping(value="hello")
public String sayHello() {
System.out.println("Controlle is here");
if(processEngine==null)
{
System.out.println("Nulla");
}
else
{
System.out.println("Not null");
}
return "welcome";
}
}
Controller classpackage com.gk.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.gk.dao.Dao;
import com.gk.dao.User;
import com.nuc.service.UserTaskList;
@Controller
public class MyController {
@Autowired
@Qualifier("dao")
Dao dao;
@Autowired
private ProcessEngine processEngine;
@RequestMapping(value=("login"),method=RequestMethod.POST)
public String login(@RequestParam("name")String name,@RequestParam("pass")String pass,@RequestParam("gName")String gName,HttpSession session
) {
User u1=new User();
u1.setName(name);
u1.setgName(gName);
u1.setPass(pass);
// dao.save(u1);
// return "welcome";
String vl="rtl";
String js="/resources/js/rtl.js";
if(vl.equalsIgnoreCase("rtl"))
{
js="/resources/js/rtl.js";
}
session.setAttribute("js", js);
// " rel="stylesheet">
//
User u2=dao.findById(name);
if(u2!=null)
{
if(u1.getPass().equals(u2.getPass())&&u1.getgName().equals(u2.getgName()))
{
session.setAttribute("user", u1);
return "welcome";
}
else
{
return "error";
}
}
else
{
return "error";
}
}
@RequestMapping(value="startProcess",method=RequestMethod.GET)
public String startProcess(HttpSession session) {
System.out.println("starting new process");
Mapvariables=new HashMap();
variables.put("name", "true");
processEngine.getRepositoryService().createDeployment().addClasspathResource("myProcess.bpmn20.xml").deploy();
processEngine.getRuntimeService().startProcessInstanceByKey("myProcess",variables);
User user=(User)session.getAttribute("user");
//processEngine.getRuntimeService().setVariablesLocal("vars", variables);
// processEngine.getRuntimeService().setVariables("var", variables);
session.setAttribute("processEngine", processEngine);
return "myTask";
}
@RequestMapping(value="myTasks",method=RequestMethod.GET)
public String myTasks(HttpSession session) {
//System.out.println("starting new process");
User user=(User)session.getAttribute("user");
session.setAttribute("processEngine", processEngine);
return "myTask";
}
@RequestMapping(value="claim",method=RequestMethod.GET)
public String claim(@RequestParam("id")String id,HttpSession session) {
User user=(User)session.getAttribute("user");
processEngine.getTaskService().claim(id,user.getName());
return "myTask";
}
@RequestMapping(value="complete",method=RequestMethod.GET)
public String complete(@RequestParam("id")String id,HttpSession session) {
User user=(User)session.getAttribute("user");
processEngine.getTaskService().complete(id);
return "myTask";
}
}
JSPs
index.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <body> <h2>Hello World! gk1</h2> <center> <br> <form method="post" action="login"> <input type="text" name="name"> <br><br> <input type="password" name="pass"> <br><br> <select name="gName"> <option>m</option> <option>c</option> </select> <br><br><br> <input type="submit"> </form> </center> </body> </html>
welcome.jsp
<%@page import="com.gk.dao.User"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <% String myvar=(String)session.getAttribute("js"); %> <link href="<c:url value="/resources/css/rtl.css" />" rel="stylesheet"> <script src=<c:url value="<%=myvar %>" />></script> </head> <body> Welcome <% User user=(User)session.getAttribute("user"); if(user!=null) { out.print(user.getName()); } %> <%= session.getAttribute("js") %> <c:catch> </c:catch> <a href="startProcess">Start Process</a> <a href="myTasks">MyTasks</a> </body> </html>
mytask.jsp
<%@page import="org.activiti.engine.ProcessEngine"%> <%@page import="org.activiti.engine.task.Task"%> <%@page import="java.util.List"%> <%@page import="com.gk.dao.User"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> your tasks <% User user=(User)session.getAttribute("user"); ProcessEngine processEngine=(ProcessEngine)session.getAttribute("processEngine"); List<Task>tasks=processEngine.getTaskService().createTaskQuery().taskCandidateGroup(user.getgName()).list(); out.print("<br>"); out.print("Tasks in your group"); for(Task t:tasks) { out.print("<br>Id:"+t.getId()+"Name:"+t.getName()+"<a href='claim?id="+t.getId()+"'>Claim it</a>"); } out.print("<br>"); out.print("Your tasks"); List<Task>myTasks=processEngine.getTaskService().createTaskQuery().taskAssignee(user.getName()).list(); for(Task t:myTasks) { out.print("<br>Id:"+t.getId()+"Name:"+t.getName()+"<a href='complete?id="+t.getId()+"'>Complete it</a>"); } %> </body> </html>
Tuesday, November 17, 2015
Saturday, October 31, 2015
Strings in java are called by value not reference
Why?
Because String is immutable.
Because String is immutable.
Assert in java
which line is an example of an inappropriate use of assertions? | |||||||||||||||||
Answer: Option D
Explanation:
Assert statements should not cause side effects. Line 22 changes the value of z if the assert statement is false.
Option A is fine; a second expression in an assert statement is not required.
Option B is fine because it is perfectly acceptable to call a method with the second expression of an assert statement.
Option C is fine because it is proper to call an assert statement conditionally.
|
Subscribe to:
Comments (Atom)
