X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdbcapi.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fmodel%2FTopic.java;h=6364382233456619d4c2a0ee839dbf96991440b8;hp=7c957dc7cdd1a3c29f3dcfffa29ee2d338b3994a;hb=d5d37c0477744cbaa6a9d9fc690c0dafbb2d1868;hpb=bc9afa1b8ff000d7178dfa2f582775fc2a6613a3 diff --git a/src/main/java/org/onap/dmaap/dbcapi/model/Topic.java b/src/main/java/org/onap/dmaap/dbcapi/model/Topic.java index 7c957dc..6364382 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/model/Topic.java +++ b/src/main/java/org/onap/dmaap/dbcapi/model/Topic.java @@ -23,7 +23,8 @@ package org.onap.dmaap.dbcapi.model; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; - +import org.json.simple.*; +import org.json.simple.parser.*; import javax.xml.bind.annotation.XmlRootElement; @@ -123,6 +124,28 @@ public class Topic extends DmaapObject { this.fqtnStyle = FqtnType.Validator("none"); logger.debug( "Topic constructor " + this.getLastMod() ); } + + // expects a String in JSON format, with known fields to populate Topic object + public Topic ( String json ) { + JSONParser parser = new JSONParser(); + JSONObject jsonObj; + try { + jsonObj = (JSONObject) parser.parse( json ); + } catch ( ParseException pe ) { + logger.error( "Error parsing provisioning data: " + json ); + this.setStatus( DmaapObject_Status.INVALID ); + return; + } + this.setFqtn( (String) jsonObj.get( "fqtn" ) ); + this.setTopicName( (String) jsonObj.get( "topicName" ) ); + this.setTopicDescription( (String) jsonObj.get( "topicDescription" )); + this.setOwner( (String) jsonObj.get( "owner" ) ); + //this.setLastMod(); + this.setStatus( (String) jsonObj.get( "status" ) ); + this.setReplicationCase( ReplicationType.Validator( (String) jsonObj.get( "replicationCase" ) )); + this.setFqtnStyle( FqtnType.Validator( (String) jsonObj.get( "fqtnStyle" ) ) ); + + } public String getFqtn() { return fqtn; }