ws-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ppptulen <ppptu...@gmail.com>
Subject Problem with log in to have write access
Date Mon, 12 Aug 2013 10:58:10 GMT
Hi,

I'm trying read wiki and update wiki page with xml rpc. 

Guys have working python rpc xml script which with that account I rewrited
it to java. When I'm changing account name in config doesn't affect resuts -
so it is not log in. How I should log in with xml rpc in java?

I have this code:

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.xmlrpc.XmlRpcException;
//import org.apache.xmlrpc.client.XmlRpcClient;
//import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
//import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;
import org.apache.xmlrpc.client.*;

public class Test 
{
	
	Test( String targetBuild ) throws XmlRpcException
	{
		String pageURL = null;		
		
		if ( targetBuild.contains("AAA"))
		{	pageURL = "wiki/AAA";	}
		else if ( targetBuild.contains("BBB"))
		{	pageURL = "wiki/BBB";	}
		else if ( targetBuild.contains("CCC"))
		{	pageURL = "wiki/CCC";	}

		if ( pageURL == null )
		{	
			System.out.println("pageURL for wikiUpdate is empty! Exiting...");	
			System.exit(1);
		}
	
		XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
		XmlRpcClient client = new XmlRpcClient();

		try
		{	config.setServerURL(new
URL("http://wiki.someserver.com/?action=xmlrpc2"));	}
		catch (MalformedURLException e)
		{	e.printStackTrace();	}
	     
		config.setBasicUserName("xmlrpcuser");  
		config.setBasicPassword("xmlrpcpassword"); 
		
		client.setConfig(config);	     
	     
		String oldPage = null;
		
		oldPage = getWikiPage(client, pageURL);
	     
		List<String> dataSections = separateWikiSections(oldPage);
	     
		String linpackSection = dataSections.get(2);
	     
		if ( !linpackSectionContainsTargetBuild(linpackSection, targetBuild))
		{ 	 
			modifyLinpackSection( dataSections, targetBuild );     
			updateWikiPage(client, pageURL, buildPageFromSections(dataSections));
		} 
	}
	
	private String buildPageFromSections( List<String> dataSections )
	{
		String concatenatedString = null;
		
		for ( String section : dataSections )
		{
			if ( concatenatedString != null )
			{	concatenatedString = concatenatedString + section;	}
			else
			{	concatenatedString = section;	}
		}
		return concatenatedString;			
	}
	
	private void modifyLinpackSection( List<String> dataSection, String
targetBuild )
	{	dataSection.set(3, "|| " + targetBuild + " || {./} || {./} || {./} ||
{./} ||\n##block end");	}

	public boolean linpackSectionContainsTargetBuild( String linpackSection,
String targetBuild )
	{
		if ( linpackSection.contains(targetBuild))
		{	return true;	}
		else
		{	return false;	}
	}
	
	public String getWikiPage( XmlRpcClient client, String pageURL ) throws
XmlRpcException
	{
	     Vector<String> parms = new Vector<>();

	     parms.add(pageURL);

	return (String)client.execute( "getPage", parms );
	}

	public void updateWikiPage( XmlRpcClient client, String pageURL, String
newPage ) throws XmlRpcException
	{
		Vector<String> parms = new Vector<>();
	     parms.add( pageURL );
	     parms.add( newPage );
	     
	     client.execute("putPage", parms );
	}
	
	public List<String> separateWikiSections ( String oldPage )
	{
		List<String> dataBlocks = new ArrayList<>();
		
     	Pattern pattern = Pattern.compile("(.*)(##block start)(.*)(##block
end)(.*)", Pattern.DOTALL);

       	Matcher matcher = pattern.matcher( oldPage );

    	while ( matcher.find())
    	{	
    		dataBlocks.add(matcher.group(1));
    		dataBlocks.add(matcher.group(2));
    		dataBlocks.add(matcher.group(3));
    		dataBlocks.add(matcher.group(4));
    		dataBlocks.add(matcher.group(5));
    	}
    	return dataBlocks;		
	}

	public static void main (String [] args) 
	{

		try
		{	new Test(args[0]);	}
		catch (XmlRpcException e)
		{	e.printStackTrace();	}
		
	}
}
	     
	     




--
View this message in context: http://apache-xml-project.6118.n7.nabble.com/Problem-with-log-in-to-have-write-access-tp40413.html
Sent from the Apache Xml-RPC - User mailing list archive at Nabble.com.

Mime
View raw message