Worked around Radio's lame XML encoding support.

This commit is contained in:
Erik C. Thauvin 2004-07-24 14:58:49 +00:00
parent fa8a7eae02
commit 76bbb6e781
5 changed files with 85 additions and 94 deletions

View file

@ -71,7 +71,7 @@
<option name="PUT_FOCUS_INTO_COMMENT" value="true" />
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="LAST_COMMIT_MESSAGE" value="Added ability to post to post via the Blogger API." />
<option name="LAST_COMMIT_MESSAGE" value="Added Blogger API key.&#10;Added missing files." />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
@ -112,7 +112,7 @@
<option name="HIDE_WARNINGS" value="false" />
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
<first-group selected-file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifePost.java">
<first-group selected-file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeRPCResponse.java">
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/post.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="75" selection-start="534" selection-end="534" vertical-scroll-proportion="0.21834862">
@ -131,7 +131,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeAction.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="50" column="11" selection-start="759" selection-end="759" vertical-scroll-proportion="1.0220183">
<state line="50" column="11" selection-start="840" selection-end="840" vertical-scroll-proportion="1.0623853">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -140,7 +140,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeMediaObject.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="45" column="115" selection-start="1916" selection-end="1916" vertical-scroll-proportion="0.26972476">
<state line="45" column="115" selection-start="1916" selection-end="1916" vertical-scroll-proportion="0.3119266">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -149,14 +149,14 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifePost.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="99" column="229" selection-start="3364" selection-end="3364" vertical-scroll-proportion="0.5302752">
<state line="54" column="13" selection-start="2093" selection-end="2093" vertical-scroll-proportion="0.33211008">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeRPCResponse.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="60" column="11" selection-start="2171" selection-end="2171" vertical-scroll-proportion="0.14862385">
<state line="50" column="13" selection-start="1963" selection-end="1963" vertical-scroll-proportion="0.33211008">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -165,7 +165,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeFTP.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="132" column="71" selection-start="3917" selection-end="3917" vertical-scroll-proportion="0.7963303">
<state line="132" column="71" selection-start="3917" selection-end="3917" vertical-scroll-proportion="1.0201834">
<folding />
</state>
</provider>
@ -179,7 +179,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeBlogger.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="320" column="5" selection-start="7758" selection-end="7758" vertical-scroll-proportion="0.9798165">
<state line="544" column="28" selection-start="13717" selection-end="13717" vertical-scroll-proportion="-6.187156">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -188,7 +188,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/ReleaseInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="23" selection-start="413" selection-end="413" vertical-scroll-proportion="0.1559633">
<state line="15" column="23" selection-start="413" selection-end="413" vertical-scroll-proportion="0.29174313">
<folding />
</state>
</provider>
@ -209,8 +209,8 @@
<component name="J2EEProjectPane" />
<component name="NamedScopeManager" />
<component name="PackagesPane">
<expanded_node url="net" module="LifeBlogger" type="package" />
<expanded_node url="net.thauvin.lifeblogger" module="LifeBlogger" type="package" />
<expanded_node url="net" module="LifeBlogger" type="package" />
<expanded_node url="net.thauvin" module="LifeBlogger" type="package" />
<expanded_node url="" module="LifeBlogger" type="module" />
</component>
@ -257,20 +257,6 @@
<value defaultName="wholeProject" />
</option>
</configuration>
<configuration selected="false" default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
</configuration>
<configuration selected="false" default="true" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<module name="" />
</configuration>
<configuration selected="false" default="true" type="WebLogic Instance" factoryName="Local">
<option name="WORKING_DIRECTORY" />
<option name="HOST" value="localhost" />
@ -285,6 +271,20 @@
<option name="SERVER_NAME" value="myserver" />
<option name="DOMAIN_NAME" value="mydomain" />
</configuration>
<configuration selected="false" default="true" type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<module name="" />
</configuration>
<configuration selected="false" default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
</configuration>
<configuration selected="false" default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
@ -301,14 +301,14 @@
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<module name="LifeBlogger" />
<RunnerSettings RunnerId="Run" />
<RunnerSettings RunnerId="Debug">
<option name="DEBUG_PORT" value="1127" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="false" />
</RunnerSettings>
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<ConfigurationWrapper RunnerId="Debug" />
</configuration>
</component>
<component name="SelectInManager" />
@ -364,13 +364,13 @@
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33024693" order="8" />
<window_info id="Regex" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33024693" order="9" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.22959183" order="0" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.23265307" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33024693" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33024693" order="10" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.69135803" order="6" x="66" y="104" width="924" height="583" />
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="11" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.12040816" order="1" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.115306124" order="1" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33796296" order="2" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
<window_info id="CVS File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
@ -521,9 +521,18 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeBlog.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="22" selection-start="2083" selection-end="2083" vertical-scroll-proportion="0.5302752">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeAction.java">
<provider selected="true" editor-type-id="text-editor">
<state line="50" column="11" selection-start="759" selection-end="759" vertical-scroll-proportion="1.0220183">
<state line="50" column="11" selection-start="840" selection-end="840" vertical-scroll-proportion="1.0623853">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -532,23 +541,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeMediaObject.java">
<provider selected="true" editor-type-id="text-editor">
<state line="45" column="115" selection-start="1916" selection-end="1916" vertical-scroll-proportion="0.26972476">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifePost.java">
<provider selected="true" editor-type-id="text-editor">
<state line="99" column="229" selection-start="3364" selection-end="3364" vertical-scroll-proportion="0.5302752">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeRPCResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state line="60" column="11" selection-start="2171" selection-end="2171" vertical-scroll-proportion="0.14862385">
<state line="45" column="115" selection-start="1916" selection-end="1916" vertical-scroll-proportion="0.3119266">
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -557,7 +550,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeFTP.java">
<provider selected="true" editor-type-id="text-editor">
<state line="132" column="71" selection-start="3917" selection-end="3917" vertical-scroll-proportion="0.7963303">
<state line="132" column="71" selection-start="3917" selection-end="3917" vertical-scroll-proportion="1.0201834">
<folding />
</state>
</provider>
@ -569,31 +562,38 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeBlogger.java">
<provider selected="true" editor-type-id="text-editor">
<state line="320" column="5" selection-start="7758" selection-end="7758" vertical-scroll-proportion="0.9798165">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/ReleaseInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state line="15" column="23" selection-start="413" selection-end="413" vertical-scroll-proportion="0.1559633">
<state line="15" column="23" selection-start="413" selection-end="413" vertical-scroll-proportion="0.29174313">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeBlog.java">
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeRPCResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state line="52" column="22" selection-start="2083" selection-end="2083" vertical-scroll-proportion="0.5302752">
<state line="50" column="13" selection-start="1963" selection-end="1963" vertical-scroll-proportion="0.33211008">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifeBlogger.java">
<provider selected="true" editor-type-id="text-editor">
<state line="544" column="28" selection-start="13717" selection-end="13717" vertical-scroll-proportion="-6.187156">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/thauvin/lifeblogger/LifePost.java">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="13" selection-start="2093" selection-end="2093" vertical-scroll-proportion="0.33211008">
<folding />
</state>
</provider>
</entry>
</component>
</project>

View file

@ -542,7 +542,7 @@ public class LifeBlogger extends Thinlet
setString(find(post, "password"), "text", new String(Base64.decode(_prefs.getProperty("blog-password", ""))));
setString(find(post, "entry"), "text",
"<img src=\"" + url + "\" alt=\"" + filename +
"\">\n<p>via <a href=\"http://www.thauvin.net/erik/lifeblogger/\">LifeBlogger</a></p>");
"\">\r<p>via <a href=\"http://www.thauvin.net/erik/lifeblogger/\">LifeBlogger</a></p>");
add(post);
}
catch (Exception e)

View file

@ -98,13 +98,13 @@ public class LifePost extends LifeAction
final StringBuffer request =
new StringBuffer("<?xml version=\"1.0\"?><methodCall><methodName>blogger.newPost</methodName><params><param><value><string>0a6afffffffaffffffb8ffffff8569474cffffffc778500c03ffffffecffffff876116565a27283bffffffda56</string></value></param><param><value><string>").append(_blogID)
.append("</string></value></param><param><value><string>")
.append(getLogin())
.append("</string></value></param><param><value><string>")
.append(getPassword())
.append("</string></value></param><param><value><string>")
.append(textToXML(_blogEntry))
.append("</string></value></param><param><value><boolean>false</boolean></value></param></params></methodCall>");
.append("</string></value></param><param><value><string>")
.append(getLogin())
.append("</string></value></param><param><value><string>")
.append(getPassword())
.append("</string></value></param><param><value><string>")
.append(textToXML(_blogEntry))
.append("</string></value></param><param><value><boolean>false</boolean></value></param></params></methodCall>");
final URLConnection urlConn = url.openConnection();
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
@ -117,6 +117,8 @@ public class LifePost extends LifeAction
dos.flush();
dos.close();
System.out.println(request);
final LifeRPCResponse xmlrpc = new LifeRPCResponse(urlConn.getInputStream());
if (xmlrpc.isValidResponse())
@ -157,38 +159,20 @@ public class LifePost extends LifeAction
return ("&lt;");
}
// Convert left bracket
else if (ch == '>')
{
return ("&gt;");
}
// Convert ampersand
else if (ch == '&')
{
return ("&amp;");
}
// High-ASCII character
else if (ch >= 128)
// High/Low-ASCII character
else if (ch >= 128 || ch < 32)
{
c = (int) ch;
return ("&#" + c + ';');
}
// Convert double quote
else if (ch == '"')
{
return ("&quot;");
}
// Convert single quote
else if (ch == '\'')
{
return ("&#39;");
}
// No conversion
else
{

View file

@ -98,7 +98,14 @@ public class LifeRPCResponse extends Thinlet
{
final Object string = getDOMNode(value, "string", 0);
_response = getDOMText(string);
if (string == null)
{
_response = getDOMText(value);
}
else
{
_response = getDOMText(string);
}
}
else
{

View file

@ -1,5 +1,5 @@
/* Created by JReleaseInfo AntTask from Open Source Competence Group */
/* Creation date Sat Jul 24 05:15:28 PDT 2004 */
/* Creation date Sat Jul 24 07:57:19 PDT 2004 */
package net.thauvin.lifeblogger;
import java.util.Date;
@ -12,21 +12,21 @@ import java.util.Date;
public class ReleaseInfo {
/** buildDate (set during build process to 1090671328718L). */
private static Date buildDate = new Date(1090671328718L);
/** buildDate (set during build process to 1090681039640L). */
private static Date buildDate = new Date(1090681039640L);
/**
* Get buildDate (set during build process to Sat Jul 24 05:15:28 PDT 2004).
* Get buildDate (set during build process to Sat Jul 24 07:57:19 PDT 2004).
* @return Date buildDate
*/
public static final Date getBuildDate() { return buildDate; }
/**
* Get buildNumber (set during build process to 107).
* Get buildNumber (set during build process to 110).
* @return int buildNumber
*/
public static final int getBuildNumber() { return 107; }
public static final int getBuildNumber() { return 110; }
/** version (set during build process to "0.1.0"). */