From 7fb816ddf847d1a05dc89dd8fd6d1881b8246206 Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Wed, 28 Nov 2018 16:22:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0runner=20=EF=BC=8C=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=E5=8F=91=E9=80=81=E8=8E=B7=E5=8F=96=E6=97=A5?= =?UTF-8?q?=E8=88=AA=E7=8F=AD=E8=AE=A1=E5=88=92=E7=9A=84=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omms/msgexchangeapi/dao/CmoutmsgDao.java | 11 ++ .../omms/msgexchangeapi/entiy/Cminmsg.java | 1 - .../omms/msgexchangeapi/entiy/Cmoutmsg.java | 136 ++++++++++++++++++ .../omms/msgexchangeapi/entiy/msg/Meta.java | 51 +++++++ .../omms/msgexchangeapi/entiy/msg/Msg.java | 19 +++ .../entiy/msg/rqfd/RefdMsg.java | 36 +++++ .../entiy/msg/rqfd/RefdMsgBody.java | 42 ++++++ .../exception/ExchangeServiceException.java | 17 +++ .../omms/msgexchangeapi/runner/AppRunner.java | 52 +++++++ .../service/ExchangeServiceImpl.java | 56 ++++++-- .../service/IExchangeService.java | 10 +- .../msgexchangeapi/task/ExchangeTask.java | 33 ++--- .../msgexchangeapi/utils/DateTimeUtil.java | 20 +++ .../omms/msgexchangeapi/utils/JsonUtil.java | 29 ++++ 14 files changed, 477 insertions(+), 36 deletions(-) create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/exception/ExchangeServiceException.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/utils/DateTimeUtil.java create mode 100644 src/main/java/com/gzzn/omms/msgexchangeapi/utils/JsonUtil.java diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java b/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java new file mode 100644 index 00000000..6d71c63d --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CmoutmsgDao.java @@ -0,0 +1,11 @@ +package com.gzzn.omms.msgexchangeapi.dao; + +import org.springframework.data.repository.CrudRepository; + +import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg; + + +public interface CmoutmsgDao extends CrudRepository { + + +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java index ab51994a..822212d1 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cminmsg.java @@ -11,7 +11,6 @@ import java.util.Date; */ @Entity @Table(name="CMINMSGS") -@NamedQuery(name="Cminmsg.findAll", query="SELECT c FROM Cminmsg c") public class Cminmsg implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java new file mode 100644 index 00000000..db4e8d30 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/Cmoutmsg.java @@ -0,0 +1,136 @@ +package com.gzzn.omms.msgexchangeapi.entiy; + +import java.io.Serializable; +import javax.persistence.*; +import java.util.Date; + + +/** + * The persistent class for the CMINMSGS database table. + * + */ +@Entity +@Table(name="CMOUTMSGS") +public class Cmoutmsg implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy=GenerationType.SEQUENCE) + @Column(name="CMINMSGS_ID") + private long cminmsgsId; + + @Lob + @Column(name="CMINMSGS_CLOB_MSG") + private String cminmsgsClobMsg; + + @Temporal(TemporalType.DATE) + @Column(name="CMINMSGS_DATE_PROCESSED") + private Date cminmsgsDateProcessed; + + @Temporal(TemporalType.DATE) + @Column(name="CMINMSGS_DATE_RECEIVED") + private Date cminmsgsDateReceived; + + @Column(name="CMINMSGS_STATUS") + private String cminmsgsStatus; + + @Temporal(TemporalType.DATE) + @Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT") + private Date cminmsgsSubsystemDateSent; + + @Column(name="CMINMSGS_SUBSYSTEM_NAME") + private String cminmsgsSubsystemName; + + @Column(name="CMINMSGS_SUBSYSTEM_SEQUENCE") + private String cminmsgsSubsystemSequence; + + @Column(name="CMINMSGS_SUBSYSTEM_SUBTYPE") + private String cminmsgsSubsystemSubtype; + + @Column(name="CMINMSGS_SUBSYSTEM_TYPE") + private String cminmsgsSubsystemType; + + public Cmoutmsg() { + } + + public long getCminmsgsId() { + return this.cminmsgsId; + } + + public void setCminmsgsId(long cminmsgsId) { + this.cminmsgsId = cminmsgsId; + } + + public String getCminmsgsClobMsg() { + return this.cminmsgsClobMsg; + } + + public void setCminmsgsClobMsg(String cminmsgsClobMsg) { + this.cminmsgsClobMsg = cminmsgsClobMsg; + } + + public Date getCminmsgsDateProcessed() { + return this.cminmsgsDateProcessed; + } + + public void setCminmsgsDateProcessed(Date cminmsgsDateProcessed) { + this.cminmsgsDateProcessed = cminmsgsDateProcessed; + } + + public Date getCminmsgsDateReceived() { + return this.cminmsgsDateReceived; + } + + public void setCminmsgsDateReceived(Date cminmsgsDateReceived) { + this.cminmsgsDateReceived = cminmsgsDateReceived; + } + + public String getCminmsgsStatus() { + return this.cminmsgsStatus; + } + + public void setCminmsgsStatus(String cminmsgsStatus) { + this.cminmsgsStatus = cminmsgsStatus; + } + + public Date getCminmsgsSubsystemDateSent() { + return this.cminmsgsSubsystemDateSent; + } + + public void setCminmsgsSubsystemDateSent(Date cminmsgsSubsystemDateSent) { + this.cminmsgsSubsystemDateSent = cminmsgsSubsystemDateSent; + } + + public String getCminmsgsSubsystemName() { + return this.cminmsgsSubsystemName; + } + + public void setCminmsgsSubsystemName(String cminmsgsSubsystemName) { + this.cminmsgsSubsystemName = cminmsgsSubsystemName; + } + + public String getCminmsgsSubsystemSequence() { + return this.cminmsgsSubsystemSequence; + } + + public void setCminmsgsSubsystemSequence(String cminmsgsSubsystemSequence) { + this.cminmsgsSubsystemSequence = cminmsgsSubsystemSequence; + } + + public String getCminmsgsSubsystemSubtype() { + return this.cminmsgsSubsystemSubtype; + } + + public void setCminmsgsSubsystemSubtype(String cminmsgsSubsystemSubtype) { + this.cminmsgsSubsystemSubtype = cminmsgsSubsystemSubtype; + } + + public String getCminmsgsSubsystemType() { + return this.cminmsgsSubsystemType; + } + + public void setCminmsgsSubsystemType(String cminmsgsSubsystemType) { + this.cminmsgsSubsystemType = cminmsgsSubsystemType; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java new file mode 100644 index 00000000..5af75b01 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Meta.java @@ -0,0 +1,51 @@ +package com.gzzn.omms.msgexchangeapi.entiy.msg; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class Meta { + @JsonProperty("SNDR") + private String sndr; + + @JsonProperty("SEQN") + private String seqn; + + @JsonProperty("DTTM") + private String dttm; + + @JsonProperty("TYPE") + private String type; + + @JsonProperty("STYP") + private String styp; + + public String getSndr() { + return sndr; + } + public void setSndr(String sndr) { + this.sndr = sndr; + } + public String getSeqn() { + return seqn; + } + public void setSeqn(String seqn) { + this.seqn = seqn; + } + public String getDttm() { + return dttm; + } + public void setDttm(String dttm) { + this.dttm = dttm; + } + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public String getStyp() { + return styp; + } + public void setStyp(String styp) { + this.styp = styp; + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java new file mode 100644 index 00000000..f5ad68e6 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/Msg.java @@ -0,0 +1,19 @@ +package com.gzzn.omms.msgexchangeapi.entiy.msg; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class Msg { + + @JsonProperty("META") + private Meta meta; + + public Meta getMeta() { + return meta; + } + + public void setMeta(Meta meta) { + this.meta = meta; + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java new file mode 100644 index 00000000..e2d347fe --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsg.java @@ -0,0 +1,36 @@ +package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd; + +import java.util.Date; +import java.util.Locale; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import com.gzzn.omms.msgexchangeapi.entiy.msg.Meta; +import com.gzzn.omms.msgexchangeapi.entiy.msg.Msg; +import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil; + +@JacksonXmlRootElement(localName="MSG") +public class RefdMsg extends Msg { + + @JsonProperty("REFD") + private RefdMsgBody refd; + + public RefdMsg() + { + Meta meta = new Meta(); + meta.setSndr("OMMS"); + meta.setSeqn("1"); //消息序号,自增 + meta.setDttm(DateTimeUtil.gtFormatStr(new Date(), "yyMMddHHmmss", Locale.CHINA)); + meta.setStyp("NONE"); + + this.setMeta(meta); + } + + public RefdMsgBody getRefd() { + return refd; + } + + public void setRefd(RefdMsgBody refd) { + this.refd = refd; + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java new file mode 100644 index 00000000..b7f6749b --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/entiy/msg/rqfd/RefdMsgBody.java @@ -0,0 +1,42 @@ +package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class RefdMsgBody { + @JsonProperty("STDB") + private String stdb; + + @JsonProperty("STDE") + private String stde; + + @JsonProperty("ETDB") + private String etdb; + + @JsonProperty("ETDE") + private String etde; + + public String getStdb() { + return stdb; + } + public void setStdb(String stdb) { + this.stdb = stdb; + } + public String getStde() { + return stde; + } + public void setStde(String stde) { + this.stde = stde; + } + public String getEtdb() { + return etdb; + } + public void setEtdb(String etdb) { + this.etdb = etdb; + } + public String getEtde() { + return etde; + } + public void setEtde(String etde) { + this.etde = etde; + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/exception/ExchangeServiceException.java b/src/main/java/com/gzzn/omms/msgexchangeapi/exception/ExchangeServiceException.java new file mode 100644 index 00000000..379a7c35 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/exception/ExchangeServiceException.java @@ -0,0 +1,17 @@ +package com.gzzn.omms.msgexchangeapi.exception; + +public class ExchangeServiceException extends RuntimeException { + + + private static final long serialVersionUID = 1L; + + public ExchangeServiceException(String message) + { + super(message); + } + + public ExchangeServiceException(String message,Throwable cause) + { + super(message,cause); + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java b/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java new file mode 100644 index 00000000..d0dd759e --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/runner/AppRunner.java @@ -0,0 +1,52 @@ +package com.gzzn.omms.msgexchangeapi.runner; + +import java.util.Date; +import java.util.Locale; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; + +import com.gzzn.omms.msgexchangeapi.dao.CmoutmsgDao; +import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg; +import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsg; +import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsgBody; +import com.gzzn.omms.msgexchangeapi.service.IExchangeService; +import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil; + + +public class AppRunner implements CommandLineRunner { + + private static Logger logger = LoggerFactory.getLogger(AppRunner.class); + + + @Autowired + private CmoutmsgDao cmoutmsgDao; + + @Autowired + private IExchangeService exchangeService; + + @Override + public void run(String... args) throws Exception { + Cmoutmsg cmoutmsg = new Cmoutmsg(); + + + RefdMsgBody body = new RefdMsgBody(); + body.setStdb( + DateTimeUtil.gtFormatStr( + new Date(), + "ddMMMyyHHmm", + Locale.ENGLISH) + .toUpperCase() + ); + RefdMsg msg = new RefdMsg(); + msg.setRefd(body); + + + cmoutmsg.setCminmsgsClobMsg(exchangeService.objectToXmlstr(msg)); + cmoutmsg.setCminmsgsStatus("VALID"); + + cmoutmsgDao.save(cmoutmsg); + }//end function run +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/ExchangeServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/ExchangeServiceImpl.java index f8d2e714..8fb00b12 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/ExchangeServiceImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/ExchangeServiceImpl.java @@ -6,23 +6,59 @@ import java.util.Map; import org.springframework.stereotype.Service; import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException; @Service public class ExchangeServiceImpl implements IExchangeService { @Override - public String xmlToJson(String xml) throws JsonParseException, JsonMappingException, IOException { - - ObjectMapper xmlMapper = new XmlMapper(); - Map map = xmlMapper.readValue(xml, Map.class); - - ObjectMapper jsonMapper = new ObjectMapper(); - String json = jsonMapper.writeValueAsString(map); - - return json; - } + public String xmlToJson(String xml) throws ExchangeServiceException { + try { + Map map; + ObjectMapper xmlMapper = new XmlMapper(); + map = xmlMapper.readValue(xml, Map.class); + + ObjectMapper jsonMapper = new ObjectMapper(); + String json = jsonMapper.writeValueAsString(map); + return json; + } catch (JsonParseException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } catch (JsonMappingException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } catch (IOException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } + } //end function + @Override + public T xmlstrToObject(String xml,Class valueType) throws ExchangeServiceException { + try { + ObjectMapper xmlMapper = new XmlMapper(); + return xmlMapper.readValue(xml,valueType); + } catch (JsonParseException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } catch (JsonMappingException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } catch (IOException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } + } //end function + + @Override + public String objectToXmlstr(Object object) throws ExchangeServiceException { + + try { + String xml; + ObjectMapper xmlMapper = new XmlMapper(); + xml = xmlMapper.writeValueAsString(object); + return xml; + } catch (JsonProcessingException e) { + throw new ExchangeServiceException(e.getMessage(),e); + } + } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/IExchangeService.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/IExchangeService.java index a1b0209b..07ad666b 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/IExchangeService.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/IExchangeService.java @@ -1,9 +1,6 @@ package com.gzzn.omms.msgexchangeapi.service; -import java.io.IOException; - -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; +import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException; /** * 消息转换服务 @@ -11,6 +8,7 @@ import com.fasterxml.jackson.databind.JsonMappingException; * */ public interface IExchangeService { - - public String xmlToJson(String xml)throws JsonParseException, JsonMappingException, IOException; + public String xmlToJson(String xml) throws ExchangeServiceException; + public T xmlstrToObject(String xml,Class valueType) throws ExchangeServiceException; + public String objectToXmlstr(Object object) throws ExchangeServiceException; } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java b/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java index 168f2814..0f55b516 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/task/ExchangeTask.java @@ -1,6 +1,5 @@ package com.gzzn.omms.msgexchangeapi.task; -import java.io.IOException; import java.util.List; import org.slf4j.Logger; @@ -11,10 +10,9 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao; import com.gzzn.omms.msgexchangeapi.entiy.Cminmsg; +import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException; import com.gzzn.omms.msgexchangeapi.service.IExchangeService; import com.gzzn.omms.msgexchangeapi.service.IKafkaService; @@ -49,27 +47,24 @@ public class ExchangeTask { while(lenSend < lenTotal && lenSend < maxPerLong) { List ls = cminmsgDao.findByCminmsgsDateProcessedIsNotNull(new PageRequest(pageIndex,pageSize)); - ls.forEach(x -> { - String strJson = null; - try { - strJson = exchangeService.xmlToJson(x.getCminmsgsClobMsg()); - if(!StringUtils.isEmpty(strJson)) - { - kafkaservice.msgSend("topic2", strJson); - } - } catch (JsonParseException e) { - e.printStackTrace(); - } catch (JsonMappingException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); + for(Cminmsg node:ls) + { + String strJson = null; + try { + strJson = exchangeService.xmlToJson(node.getCminmsgsClobMsg()); + if(!StringUtils.isEmpty(strJson)) + { + kafkaservice.msgSend("topic2", strJson); } - }); + } catch (ExchangeServiceException e) { + logger.error(e.getMessage()); + } + } // end for lenSend += ls.size(); pageIndex++; - } + }//end while // logger.info("同步完成"); } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/utils/DateTimeUtil.java b/src/main/java/com/gzzn/omms/msgexchangeapi/utils/DateTimeUtil.java new file mode 100644 index 00000000..522ec994 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/utils/DateTimeUtil.java @@ -0,0 +1,20 @@ +package com.gzzn.omms.msgexchangeapi.utils; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +public class DateTimeUtil { + + /** + * 日期格式化成指定格式字符串 + * @param date + * @param locale + * @return + */ + public static String gtFormatStr(Date date,String pattern,Locale locale) + { + SimpleDateFormat sdf = new SimpleDateFormat(pattern,locale); + return sdf.format(date); + } +} diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/utils/JsonUtil.java b/src/main/java/com/gzzn/omms/msgexchangeapi/utils/JsonUtil.java new file mode 100644 index 00000000..8f8c6fe1 --- /dev/null +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/utils/JsonUtil.java @@ -0,0 +1,29 @@ +package com.gzzn.omms.msgexchangeapi.utils; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; + +public class JsonUtil { + public static String getString(Object object) throws JsonProcessingException + { + ObjectMapper mapper = new ObjectMapper(); + ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter(); + java.lang.String jsonStr = ow.writeValueAsString(object); + + return jsonStr; + } + + + public static T getObject(String str,Class valueType) throws JsonParseException, JsonMappingException, IOException + { + ObjectMapper mapper = new ObjectMapper(); + T obj = mapper.readValue(str, valueType); + + return obj; + } +}