i have created one java program (used main method only) for parsing some website content using jsoup.now i want to insert that data into confluence page through my code.i have a separate code which update my page content by new content.but i want to insert row dynamically with my value in page of confluence.i have shared my code where i used put( ) method.on the place of this what should i use...
public class Main { private static final String BASE_URL = "https://xxxxx.atlassian.net/wiki"; private static final String USERNAME = "xxxxxx"; private static final String PASSWORD = "xxxxxx"; private static final String ENCODING = "utf-8"; private static String getContentRestUrl(final Long contentId, final String[] expansions) throws UnsupportedEncodingException { final String expand = URLEncoder.encode( StringUtils.join(expansions, ","), ENCODING); return String .format("%s/rest/api/content/%s?expand=%s&os_authType=basic&os_username=%s&os_password=%s", BASE_URL, contentId, expand, URLEncoder.encode(USERNAME, ENCODING), URLEncoder.encode(PASSWORD, ENCODING)); } public static void main(final String[] args) throws Exception { final long pageId = 00000000; HttpClient client = new DefaultHttpClient(); // Get current page version String pageObj = null; HttpEntity pageEntity = null; try { HttpGet getPageRequest = new HttpGet(getContentRestUrl(pageId, new String[] { "body.storage", "version", "ancestors" })); HttpResponse getPageResponse = client.execute(getPageRequest); pageEntity = getPageResponse.getEntity(); pageObj = IOUtils.toString(pageEntity.getContent()); } finally { if (pageEntity != null) { EntityUtils.consume(pageEntity); } } // Parse response into JSON JSONObject page = new JSONObject(pageObj); page.getJSONObject("body") .getJSONObject("storage") .put("value","removing my existing data and set new one"); int currentVersion = page.getJSONObject("version").getInt("number"); page.getJSONObject("version").put("number", currentVersion + 1); // Send update request HttpEntity putPageEntity = null; try { HttpPut putPageRequest = new HttpPut(getContentRestUrl(pageId, new String[] {})); StringEntity entity = new StringEntity(page.toString(), ContentType.APPLICATION_JSON); putPageRequest.setEntity(entity); HttpResponse putPageResponse = client.execute(putPageRequest); putPageEntity = putPageResponse.getEntity(); } finally { EntityUtils.consume(putPageEntity); } } }
Hey, do you think of something like this?
// List ArrayList<String[]> people = new ArrayList<String[]>(); people.add(new String[] { "Alice", "Director", "San Diego", "23" }); people.add(new String[] { "Bob", "Chairman", "Austin", "24" }); people.add(new String[] { "Darth", "Sith Lord", "Las Vegas", "56" }); String middleText = null; for (String[] person : people) { middleText = middleText + "<tr>" + "<td>" + person[0] + "</td>" + "<td>" + person[1] + "</td>" + "<td>" + person[2] + "</td>" + "<td>" + person[3] + "</td>" + "</tr>"; } String text = "<body>" + "<h1>Products</h1>" + "<table>" + "<tr>" + "<th>Name</th><th>Position</th><th>Residence</th><th>Age</th>" + "</tr>" + middleText + "</table>" + "</body>" + "<p> </p>" + "<p> </p>" + "<p>" + "<ac:structured-macro ac:name='gallery'>" + "<ac:parameter ac:name='columns'>1</ac:parameter>" + "</ac:structured-macro>" + "</p>";
page.getJSONObject("body").getJSONObject("storage").put("value", text);
Thank you so much J.D.i really appreciate your help. now i am able to insert rows dynamically in table.this code will be run as a schedule job to get some data from some sites and put in this table as a week based or day to day job.my problem is suppose first day i run my code and it get 10 records and put in table in 10 rows.whenn next day again i will run my code and if it will get 10 more records.than i want that this 10 record will add after old 10 records.if you give any sample code like above it will very helpfull.again Thanks for your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.