jsxe-cvs Mailing List for jsXe
Status: Inactive
Brought to you by:
ian_lewis
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(29) |
Dec
(63) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(4) |
Feb
(23) |
Mar
(19) |
Apr
(102) |
May
(88) |
Jun
(30) |
Jul
(42) |
Aug
(43) |
Sep
(17) |
Oct
(19) |
Nov
(41) |
Dec
(46) |
2005 |
Jan
(32) |
Feb
(8) |
Mar
(110) |
Apr
(102) |
May
(139) |
Jun
(45) |
Jul
(5) |
Aug
(1) |
Sep
(9) |
Oct
(30) |
Nov
(18) |
Dec
|
2006 |
Jan
(10) |
Feb
(85) |
Mar
(9) |
Apr
(64) |
May
(24) |
Jun
(95) |
Jul
(107) |
Aug
(123) |
Sep
(37) |
Oct
(15) |
Nov
(1) |
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ian...@us...> - 2007-07-18 08:23:19
|
Revision: 1272 http://svn.sourceforge.net/jsxe/?rev=1272&view=rev Author: ian_lewis Date: 2007-07-18 01:23:14 -0700 (Wed, 18 Jul 2007) Log Message: ----------- Added test for wsdl applications Added Paths: ----------- trunk/test/wsdl-test.wsdl Added: trunk/test/wsdl-test.wsdl =================================================================== --- trunk/test/wsdl-test.wsdl (rev 0) +++ trunk/test/wsdl-test.wsdl 2007-07-18 08:23:14 UTC (rev 1272) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<definitions name="EndorsementSearch" targetNamespace="http://namespaces.snowboard-info.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:es="http://www.snowboard-info.com/EndorsementSearch.wsdl" xmlns:esxsd="http://schemas.snowboard-info.com/EndorsementSearch.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> + <types> + <schema targetNamespace="http://namespaces.snowboard-info.com" xmlns="http://www.w3.org/1999/XMLSchema"> + <element name="GetEndorsingBoarder"> + <complexType> + <sequence> + <element name="manufacturer" type="string"/> + <element name="model" type="string"/> + </sequence> + </complexType> + </element> + <element name="GetEndorsingBoarderResponse"> + <complexType> + <all> + <element name="endorsingBoarder" type="string"/> + </all> + </complexType> + </element> + <element name="GetEndorsingBoarderFault"> + <complexType> + <all> + <element name="errorMessage" type="string"/> + </all> + </complexType> + </element> + </schema> + </types> + <message name="GetEndorsingBoarderRequest"> + <part element="esxsd:GetEndorsingBoarder" name="body"/> + </message> + <message name="GetEndorsingBoarderResponse"> + <part element="esxsd:GetEndorsingBoarderResponse" name="body"/> + </message> + <portType name="GetEndorsingBoarderPortType"> + <operation name="GetEndorsingBoarder"> + <input message="es:GetEndorsingBoarderRequest"/> + <output message="es:GetEndorsingBoarderResponse"/> + <fault message="es:GetEndorsingBoarderFault"/> + </operation> + </portType> + <binding name="EndorsementSearchSoapBinding" type="es:GetEndorsingBoarderPortType"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="GetEndorsingBoarder"> + <soap:operation soapAction="http://www.snowboard-info.com/EndorsementSearch"/> + <input> + <soap:body namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd" use="literal"/> + </input> + <output> + <soap:body namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd" use="literal"/> + </output> + <fault> + <soap:body namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd" use="literal"/> + </fault> + </operation> + </binding> + <service name="EndorsementSearchService"> + <documentation>snowboarding-info.com Endorsement Service</documentation> + <port binding="es:EndorsementSearchSoapBinding" name="GetEndorsingBoarderPort"> + <soap:address location="http://www.snowboard-info.com/EndorsementSearch"/> + </port> + </service> +</definitions> \ No newline at end of file Property changes on: trunk/test/wsdl-test.wsdl ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2007-05-30 05:11:13
|
Revision: 1271 http://svn.sourceforge.net/jsxe/?rev=1271&view=rev Author: ian_lewis Date: 2007-05-29 22:11:10 -0700 (Tue, 29 May 2007) Log Message: ----------- Updated translations and fixed the direct download to the jar for the development version. Modified Paths: -------------- trunk/web/htdocs/content/en/downloads.php trunk/web/htdocs/content/ja/downloads.php trunk/web/htdocs/functions.php Modified: trunk/web/htdocs/content/en/downloads.php =================================================================== --- trunk/web/htdocs/content/en/downloads.php 2007-05-21 09:06:11 UTC (rev 1270) +++ trunk/web/htdocs/content/en/downloads.php 2007-05-30 05:11:10 UTC (rev 1271) @@ -14,9 +14,7 @@ <h3>Download</h3> <ul> - <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?> - <ul> - <li></li> + <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?></li> <li>The latest development version of jsXe is <?php echo get_devel_download_link(); ?> <ul> <li>Windows Installer: <?php echo get_devel_windows_download_link(); ?></li> Modified: trunk/web/htdocs/content/ja/downloads.php =================================================================== --- trunk/web/htdocs/content/ja/downloads.php 2007-05-21 09:06:11 UTC (rev 1270) +++ trunk/web/htdocs/content/ja/downloads.php 2007-05-30 05:11:10 UTC (rev 1271) @@ -1,4 +1,4 @@ -<h3>Requirements</h3> +<h3>システム条件</h3> <ul> <li>Java 2 バージョン 1.4.2は必要です。</li> @@ -8,14 +8,14 @@ ダウンロードできもす。</li> </ul> -<h3>Download</h3> +<h3>ダウンロード</h3> <ul> - <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?></li> - <li>The latest development version of jsXe is <?php echo get_devel_download_link(); ?></li> + <li>jsXeの最新ヴァージョンは <?php echo get_stable_download_link(); ?></li> + <li>jsXeの最新開発ヴァージョンは <?php echo get_devel_download_link(); ?></li> </ul> -<h3>Install</h3> +<h3>インストール</h3> <ul> <li><b>0.4 beta</b> Modified: trunk/web/htdocs/functions.php =================================================================== --- trunk/web/htdocs/functions.php 2007-05-21 09:06:11 UTC (rev 1270) +++ trunk/web/htdocs/functions.php 2007-05-30 05:11:10 UTC (rev 1271) @@ -348,7 +348,7 @@ }//}}} //{{{ get_devel_jar_download_link() -function get_jar_download_link() { +function get_devel_jar_download_link() { return '<a href="http://downloads.sourceforge.net/jsxe/jsXe-05_pre3-install.jar">'.T_("Java Installer").'</a>'; }//}}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2007-05-21 09:06:16
|
Revision: 1270 http://svn.sourceforge.net/jsxe/?rev=1270&view=rev Author: ian_lewis Date: 2007-05-21 02:06:11 -0700 (Mon, 21 May 2007) Log Message: ----------- Added direct links to windows and jar installer downloads Modified Paths: -------------- trunk/web/htdocs/content/en/downloads.php trunk/web/htdocs/functions.php Modified: trunk/web/htdocs/content/en/downloads.php =================================================================== --- trunk/web/htdocs/content/en/downloads.php 2006-11-24 07:58:55 UTC (rev 1269) +++ trunk/web/htdocs/content/en/downloads.php 2007-05-21 09:06:11 UTC (rev 1270) @@ -14,8 +14,15 @@ <h3>Download</h3> <ul> - <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?></li> - <li>The latest development version of jsXe is <?php echo get_devel_download_link(); ?></li> + <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?> + <ul> + <li></li> + <li>The latest development version of jsXe is <?php echo get_devel_download_link(); ?> + <ul> + <li>Windows Installer: <?php echo get_devel_windows_download_link(); ?></li> + <li>Java Installer: <?php echo get_devel_jar_download_link(); ?></li> + </ul> + </li> </ul> <h3>Install</h3> Modified: trunk/web/htdocs/functions.php =================================================================== --- trunk/web/htdocs/functions.php 2006-11-24 07:58:55 UTC (rev 1269) +++ trunk/web/htdocs/functions.php 2007-05-21 09:06:11 UTC (rev 1270) @@ -342,10 +342,14 @@ return '<a href="https://sourceforge.net/project/showfiles.php?group_id=58584&package_id=54488">'.get_devel_version().'</a>'; }//}}} -//{{{ get_stable_download_link() +//{{{ get_devel_windows_download_link() +function get_devel_windows_download_link() { + return '<a href="http://downloads.sourceforge.net/jsxe/jsXe-05_pre3-install.exe">Windows</a>'; +}//}}} -function get_stable_download_link() { - return '<a href="https://sourceforge.net/project/showfiles.php?group_id=58584&package_id=120827">'.get_stable_version().'</a>'; +//{{{ get_devel_jar_download_link() +function get_jar_download_link() { + return '<a href="http://downloads.sourceforge.net/jsxe/jsXe-05_pre3-install.jar">'.T_("Java Installer").'</a>'; }//}}} //{{{ get_devel_version() @@ -354,6 +358,12 @@ return "0.5 pre3"; }//}}} +//{{{ get_stable_download_link() + +function get_stable_download_link() { + return '<a href="https://sourceforge.net/project/showfiles.php?group_id=58584&package_id=120827">'.get_stable_version().'</a>'; +}//}}} + //{{{ get_stable_version() function get_stable_version() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-11-24 07:59:03
|
Revision: 1269 http://svn.sourceforge.net/jsxe/?rev=1269&view=rev Author: ian_lewis Date: 2006-11-23 23:58:55 -0800 (Thu, 23 Nov 2006) Log Message: ----------- Updated latest version Modified Paths: -------------- trunk/web/htdocs/functions.php Modified: trunk/web/htdocs/functions.php =================================================================== --- trunk/web/htdocs/functions.php 2006-10-24 07:45:16 UTC (rev 1268) +++ trunk/web/htdocs/functions.php 2006-11-24 07:58:55 UTC (rev 1269) @@ -351,7 +351,7 @@ //{{{ get_devel_version() function get_devel_version() { - return "0.5 pre2"; + return "0.5 pre3"; }//}}} //{{{ get_stable_version() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-24 07:45:26
|
Revision: 1268 http://svn.sourceforge.net/jsxe/?rev=1268&view=rev Author: ian_lewis Date: 2006-10-24 00:45:16 -0700 (Tue, 24 Oct 2006) Log Message: ----------- Fixed bug 1582667 Modified Paths: -------------- tags/05pre3/jsxe/Changelog tags/05pre3/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java Modified: tags/05pre3/jsxe/Changelog =================================================================== --- tags/05pre3/jsxe/Changelog 2006-10-24 05:24:10 UTC (rev 1267) +++ tags/05pre3/jsxe/Changelog 2006-10-24 07:45:16 UTC (rev 1268) @@ -1,3 +1,8 @@ +10/24/2006 Ian Lewis <Ian...@me...> + + * Fixed bug 1582667. Now if you drag and drop a node onto itself it doesn't + delete the node. + 08/31/2006 Ian Lewis <Ian...@me...> * Added new ContextSpecificActions to replace ViewSpecificActions. Now Modified: tags/05pre3/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java =================================================================== --- tags/05pre3/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-10-24 05:24:10 UTC (rev 1267) +++ tags/05pre3/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-10-24 07:45:16 UTC (rev 1268) @@ -530,11 +530,11 @@ } } else { - /* if the node is already contained in this node then we are effectively moving the node. */ + boolean differentParent = false; if (m_children.contains(node)) { if (location > m_children.indexOf(node)) { location -= 1; @@ -543,13 +543,7 @@ m_children.remove(node); addUndoableEdit(new RemoveNodeChange(this, node, index)); } else { - //Remove from previous parent - AdapterNode previousParent = node.getParentNode(); - if (previousParent != this) { - if (previousParent != null) { - previousParent.removeChild(node); - } - } + differentParent = true; } if (location >= m_children.size()) { m_domNode.appendChild(node.getNode()); @@ -560,6 +554,19 @@ m_children.add(location, node); } + /* + Only remove from previous parent if the previous parent + is different from the new one. + */ + if (differentParent) { + AdapterNode previousParent = node.getParentNode(); + if (previousParent != this) { + if (previousParent != null) { + previousParent.removeChild(node); + } + } + } + node.setParent(this); fireNodeAdded(this, node, location); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-24 05:24:53
|
Revision: 1267 http://svn.sourceforge.net/jsxe/?rev=1267&view=rev Author: ian_lewis Date: 2006-10-23 22:24:10 -0700 (Mon, 23 Oct 2006) Log Message: ----------- fixed DIV tag in the sidebar so the website is xhtml compliant Modified Paths: -------------- trunk/web/htdocs/sidebar.php Modified: trunk/web/htdocs/sidebar.php =================================================================== --- trunk/web/htdocs/sidebar.php 2006-10-23 04:54:00 UTC (rev 1266) +++ trunk/web/htdocs/sidebar.php 2006-10-24 05:24:10 UTC (rev 1267) @@ -16,7 +16,7 @@ <a href="http://sourceforge.net/"><img alt="SourceForge Logo" src="http://sourceforge.net/sflogo.php?group_id=58584"/></a> <a href="http://sourceforge.jp/"><img alt="SourceForge.jp" src="http://sourceforge.jp/sflogo.php?group_id=2456"/></a> -<div id="languages"/> +<div id="languages"> <ul> <li><?php echo get_image('us.png');?> <?php echo create_language_link('en-us', 'English'); ?></li> <li><?php echo get_image('jp.png');?> <?php echo create_language_link('ja-jp', '日本語'); ?></li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-23 05:00:11
|
Revision: 1266 http://svn.sourceforge.net/jsxe/?rev=1266&view=rev Author: ian_lewis Date: 2006-10-22 21:54:00 -0700 (Sun, 22 Oct 2006) Log Message: ----------- Updated Japanese translation Added Paths: ----------- trunk/web/htdocs/content/ja/downloads.php Added: trunk/web/htdocs/content/ja/downloads.php =================================================================== --- trunk/web/htdocs/content/ja/downloads.php (rev 0) +++ trunk/web/htdocs/content/ja/downloads.php 2006-10-23 04:54:00 UTC (rev 1266) @@ -0,0 +1,69 @@ +<h3>Requirements</h3> + +<ul> +<li>Java 2 バージョン 1.4.2は必要です。</li> +<li>Xerces-J 2.8.0は必要です。便利なので、jsXeのバイナリ・リリースと + ソース・リリースはXerces-J 2.8.0が含めています。または、 + <a href="http://archive.apache.org/dist/xml/xerces-j/">こちら</a>に + ダウンロードできもす。</li> +</ul> + +<h3>Download</h3> + +<ul> + <li>The latest stable version of jsXe is <?php echo get_stable_download_link(); ?></li> + <li>The latest development version of jsXe is <?php echo get_devel_download_link(); ?></li> +</ul> + +<h3>Install</h3> + +<ul> + <li><b>0.4 beta</b> + <ul> + <li><p>To install and run jsXe simply unzip jsXe into the directory + of your choosing and run the included batch program or shell + script. You will need to make sure that the java runtime is in + your path. In the root of the jsXe install directory type the + following at a command prompt.</p> + <p>./bin/jsXe.sh</p> + <p>or</p> + <p>./bin/jsXe.bat</p> + <p>The batch program should be run in with the jsXe root + directory of as the working directory. So you can create a + shortcut to run jsXe by specifying the batch file as the program + to run and jsXe's root directory as the working directory.</p> + + <p>Ex.<br/> + Target: "C:\Program Files\jsXe\bin\jsXe.bat"<br/> + Start in: "C:\Program Files\jsXe\"</p> + + <p>You can also edit the JSXEDIR variable in the batch program + to be the directory where you installed jsXe and then the + 'Start in' directory can be anywhere.</p> + </li> + </ul> + </li> + <li><b>0.5 pre2</b> + <ul> + <li><b>Windows</b> + + <p>Just run jsXe using the jsXe.exe in the install directory. The + exe will detect your version of Java and run jsXe using that + version.</p> + </li> + + <li><b>Unix/Linux</b> + + <p>To run jsXe you should just run the java interpreter on the + jsXe.jar file. There is a shell script included in the + source tree for this purpose.</p> + + <p>./bin/jsXe.sh</p> + + <p>The shell script should be run in with the jsXe root directory of + as the working directory. You can also edit the JSXEDIR variable in + the shell script to be the directory where you installed jsXe.</p> + </li> + </ul> + </li> +</ul> \ No newline at end of file Property changes on: trunk/web/htdocs/content/ja/downloads.php ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-23 04:25:05
|
Revision: 1265 http://svn.sourceforge.net/jsxe/?rev=1265&view=rev Author: ian_lewis Date: 2006-10-22 21:22:52 -0700 (Sun, 22 Oct 2006) Log Message: ----------- Updated Japanese translation Modified Paths: -------------- trunk/web/htdocs/content/ja/_global.php Modified: trunk/web/htdocs/content/ja/_global.php =================================================================== --- trunk/web/htdocs/content/ja/_global.php 2006-10-23 03:07:33 UTC (rev 1264) +++ trunk/web/htdocs/content/ja/_global.php 2006-10-23 04:22:52 UTC (rev 1265) @@ -10,6 +10,8 @@ 'Get Involved' => '参加情報', 'SourceForge Project' => 'SourceForge プロジェクト', 'jsXe with Japanese locale.' => 'jsXeは日本語も表示することができます。', - 'A screenshot showing the context dialog including cut/paste.' => '切り取りと、コピーと、貼り付けという機能が表せる画面。' + 'A screenshot showing the context dialog including cut/paste.' => '切り取りと、コピーと、貼り付けという機能が表せる画面。', + 'A screenshot of jsXe\'s options panel. ' => 'jsXeの設定画面のスクリーンショット。', + 'A screenshot of the edit node dialog. This dialog can be used to edit nodes defined in DTD/Schema.' => 'ノードの編集画面のスクリーンショット。' ); ?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-23 03:07:44
|
Revision: 1264 http://svn.sourceforge.net/jsxe/?rev=1264&view=rev Author: ian_lewis Date: 2006-10-22 20:07:33 -0700 (Sun, 22 Oct 2006) Log Message: ----------- Updated Japanese translation Modified Paths: -------------- tags/05pre3/jsxe/messages/messages.ja Modified: tags/05pre3/jsxe/messages/messages.ja =================================================================== --- tags/05pre3/jsxe/messages/messages.ja 2006-10-20 22:09:14 UTC (rev 1263) +++ tags/05pre3/jsxe/messages/messages.ja 2006-10-23 03:07:33 UTC (rev 1264) @@ -61,13 +61,13 @@ #}}} #{{{ Global Options -Global.Options.Dialog.Title=Global Options -Global.Options.Title=General +Global.Options.Dialog.Title=全体設定 +Global.Options.Title=一般 Global.Options.Max.Recent.Files=最近使用したドキュメント数: Global.Options.Max.Recent.Files.ToolTip=最近使用したドキュメントのメニューに表示するドキュメントの数 -Global.Options.network-off=Always cache without asking -Global.Options.network-cache=Ask first, then cache remote files -Global.Options.network-always=Always download without asking +Global.Options.network-off=確認せずにいつもキャッシュに保存する +Global.Options.network-cache=確認してから、ダウンロードして、キャッシュに保存する +Global.Options.network-always=確認せずにいつもダウンロードする Global.Options.network=DTDとXMLスキーマ ダウンロード: Global.Options.Menu.Spill.Over=Number of items before menus spill over: Global.Options.Undos.To.Remember=元に戻す数: @@ -125,6 +125,7 @@ find.label=探索... findnext.label=次を探索 +general-options.label=全体設定 document-options.label=ドキュメント設定... plugin-manager.label=プラグインマネジャー... about-jsxe.label=jsXeについて... This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2006-10-20 22:09:42
|
Revision: 1263 http://svn.sourceforge.net/jsxe/?rev=1263&view=rev Author: alexandr_gr Date: 2006-10-20 15:09:14 -0700 (Fri, 20 Oct 2006) Log Message: ----------- fixed name of russian language :) Modified Paths: -------------- trunk/web/htdocs/sidebar.php Modified: trunk/web/htdocs/sidebar.php =================================================================== --- trunk/web/htdocs/sidebar.php 2006-10-20 10:33:51 UTC (rev 1262) +++ trunk/web/htdocs/sidebar.php 2006-10-20 22:09:14 UTC (rev 1263) @@ -20,6 +20,6 @@ <ul> <li><?php echo get_image('us.png');?> <?php echo create_language_link('en-us', 'English'); ?></li> <li><?php echo get_image('jp.png');?> <?php echo create_language_link('ja-jp', '日本語'); ?></li> - <li><?php echo get_image('ru.png');?> <?php echo create_language_link('ru-ru', 'Русский Язык'); ?></li> + <li><?php echo get_image('ru.png');?> <?php echo create_language_link('ru-ru', 'Русский'); ?></li> </ul> -</div> \ No newline at end of file +</div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:34:00
|
Revision: 1262 http://svn.sourceforge.net/jsxe/?rev=1262&view=rev Author: ian_lewis Date: 2006-10-20 03:33:51 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Updated Japanese translation Modified Paths: -------------- trunk/treeview/Changelog trunk/treeview/messages/messages_ja.properties Modified: trunk/treeview/Changelog =================================================================== --- trunk/treeview/Changelog 2006-10-20 10:33:00 UTC (rev 1261) +++ trunk/treeview/Changelog 2006-10-20 10:33:51 UTC (rev 1262) @@ -1,3 +1,7 @@ +10/20/2006 Ian Lewis <Ian...@me...> + + * Updated Japanese translation. + 08/31/2006 Ian Lewis <Ian...@me...> * Updated the sourceview actions to use the new ContextSpecificActions in Modified: trunk/treeview/messages/messages_ja.properties =================================================================== --- trunk/treeview/messages/messages_ja.properties 2006-10-20 10:33:00 UTC (rev 1261) +++ trunk/treeview/messages/messages_ja.properties 2006-10-20 10:33:51 UTC (rev 1262) @@ -12,10 +12,10 @@ Show.Attributes.None=なし Show.Attributes.ID.Only=IDだけ Show.Attributes.All=全て - -treeview.document.root=ドキュメントルート -treeview.rename.node.label=ノードをリネーム +treeview.document.root=ドキュメントルート + +treeview.rename.node.label=ノードの名前を変更 treeview.remove.node.label=ノードを削除 treeview.add.attribute.label=属性を追加 treeview.remove.attribute.label=属性を削除 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:33:08
|
Revision: 1261 http://svn.sourceforge.net/jsxe/?rev=1261&view=rev Author: ian_lewis Date: 2006-10-20 03:33:00 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Updated Japanese translation Modified Paths: -------------- tags/05pre3/treeview/messages/messages.ja Modified: tags/05pre3/treeview/messages/messages.ja =================================================================== --- tags/05pre3/treeview/messages/messages.ja 2006-10-20 10:31:32 UTC (rev 1260) +++ tags/05pre3/treeview/messages/messages.ja 2006-10-20 10:33:00 UTC (rev 1261) @@ -13,7 +13,7 @@ Show.Attributes.ID.Only=IDだけ Show.Attributes.All=全て -treeview.rename.node.label=ノードの名前を変更する +treeview.rename.node.label=ノードの名前を変更 treeview.remove.node.label=ノードを削除 treeview.add.attribute.label=属性を追加 treeview.remove.attribute.label=属性を削除 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:31:42
|
Revision: 1260 http://svn.sourceforge.net/jsxe/?rev=1260&view=rev Author: ian_lewis Date: 2006-10-20 03:31:32 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Updated Japanese translation Modified Paths: -------------- tags/05pre3/treeview/Changelog tags/05pre3/treeview/messages/messages.ja Modified: tags/05pre3/treeview/Changelog =================================================================== --- tags/05pre3/treeview/Changelog 2006-10-20 10:22:12 UTC (rev 1259) +++ tags/05pre3/treeview/Changelog 2006-10-20 10:31:32 UTC (rev 1260) @@ -1,3 +1,7 @@ +10/20/2006 Ian Lewis <Ian...@me...> + + * Updated Japanese translation. + 08/31/2006 Ian Lewis <Ian...@me...> * Updated the sourceview actions to use the new ContextSpecificActions in Modified: tags/05pre3/treeview/messages/messages.ja =================================================================== --- tags/05pre3/treeview/messages/messages.ja 2006-10-20 10:22:12 UTC (rev 1259) +++ tags/05pre3/treeview/messages/messages.ja 2006-10-20 10:31:32 UTC (rev 1260) @@ -13,7 +13,7 @@ Show.Attributes.ID.Only=IDだけ Show.Attributes.All=全て -treeview.rename.node.label=ノードをリネーム +treeview.rename.node.label=ノードの名前を変更する treeview.remove.node.label=ノードを削除 treeview.add.attribute.label=属性を追加 treeview.remove.attribute.label=属性を削除 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:22:19
|
Revision: 1259 http://svn.sourceforge.net/jsxe/?rev=1259&view=rev Author: ian_lewis Date: 2006-10-20 03:22:12 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Commented out JEditLauncherTask Modified Paths: -------------- tags/05pre3/jsxe/installer/src/installer/OperatingSystem.java Modified: tags/05pre3/jsxe/installer/src/installer/OperatingSystem.java =================================================================== --- tags/05pre3/jsxe/installer/src/installer/OperatingSystem.java 2006-10-20 10:21:42 UTC (rev 1258) +++ tags/05pre3/jsxe/installer/src/installer/OperatingSystem.java 2006-10-20 10:22:12 UTC (rev 1259) @@ -327,7 +327,7 @@ return "C:\\Program Files\\" + name + " " + version; } - public class JEditLauncherOSTask extends OSTask + /*public class JEditLauncherOSTask extends OSTask { public JEditLauncherOSTask(Install installer) { @@ -367,7 +367,7 @@ { } } - } + }*/ public OSTask[] getOSTasks(Install installer) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:21:48
|
Revision: 1258 http://svn.sourceforge.net/jsxe/?rev=1258&view=rev Author: ian_lewis Date: 2006-10-20 03:21:42 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Added more info about the minimum version of launch4j needed Modified Paths: -------------- tags/05pre3/jsxe/INSTALL Modified: tags/05pre3/jsxe/INSTALL =================================================================== --- tags/05pre3/jsxe/INSTALL 2006-10-20 10:10:52 UTC (rev 1257) +++ tags/05pre3/jsxe/INSTALL 2006-10-20 10:21:42 UTC (rev 1258) @@ -55,11 +55,11 @@ JVM. These jar files will be included with jsXe distributions for convenience. In order to build jsXe's installer or a windows distribution of jsXe you will -need to install launch4j (http://launch4j.sourceforge.net/). You can install it -in the buildlib directory or change the launch4j.dir property in the build.xml -file. You will also need to put the js.jar and bsf.jar in your classpath. These -files are found in the 'buildlib' directory. They are used in scripts for -calculating file sizes. +need to install launch4j 3.0.0pre1 (http://launch4j.sourceforge.net/). You can +install it in the buildlib directory or change the launch4j.dir property in the +build.xml file. You will also need to put the js.jar and bsf.jar in your +classpath. These files are found in the 'buildlib' directory. They are used in +scripts for calculating file sizes. ** Building ** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:10:57
|
Revision: 1257 http://svn.sourceforge.net/jsxe/?rev=1257&view=rev Author: ian_lewis Date: 2006-10-20 03:10:52 -0700 (Fri, 20 Oct 2006) Log Message: ----------- Added info about the minimum version of launch4j you need to build the windows distribution Modified Paths: -------------- trunk/jsxe/INSTALL Modified: trunk/jsxe/INSTALL =================================================================== --- trunk/jsxe/INSTALL 2006-10-20 10:06:14 UTC (rev 1256) +++ trunk/jsxe/INSTALL 2006-10-20 10:10:52 UTC (rev 1257) @@ -59,11 +59,11 @@ download it from http://xml.apache.org/ In order to build jsXe's installer or a windows distribution of jsXe you will -need to install launch4j (http://launch4j.sourceforge.net/). You can install it -in the buildlib directory or change the launch4j.dir property in the build.xml -file. You will also need to put the js.jar and bsf.jar in your classpath. These -files are found in the 'buildlib' directory. They are used in scripts for -calculating file sizes. +need to install launch4j 3.0.0pre1 or better (http://launch4j.sourceforge.net/). +You can install it in the buildlib directory or change the launch4j.dir property +in the build.xml file. You will also need to put the js.jar and bsf.jar in your +classpath. These files are found in the 'buildlib' directory. They are used in +scripts for calculating file sizes. ** Building ** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 10:06:22
|
Revision: 1256 http://svn.sourceforge.net/jsxe/?rev=1256&view=rev Author: ian_lewis Date: 2006-10-20 03:06:14 -0700 (Fri, 20 Oct 2006) Log Message: ----------- commented out jEditLauncher task Modified Paths: -------------- trunk/jsxe/installer/src/installer/OperatingSystem.java Modified: trunk/jsxe/installer/src/installer/OperatingSystem.java =================================================================== --- trunk/jsxe/installer/src/installer/OperatingSystem.java 2006-10-20 06:48:27 UTC (rev 1255) +++ trunk/jsxe/installer/src/installer/OperatingSystem.java 2006-10-20 10:06:14 UTC (rev 1256) @@ -327,7 +327,7 @@ return "C:\\Program Files\\" + name + " " + version; } - public class JEditLauncherOSTask extends OSTask + /*public class JEditLauncherOSTask extends OSTask { public JEditLauncherOSTask(Install installer) { @@ -367,7 +367,7 @@ { } } - } + }*/ public OSTask[] getOSTasks(Install installer) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 06:48:32
|
Revision: 1255 http://svn.sourceforge.net/jsxe/?rev=1255&view=rev Author: ian_lewis Date: 2006-10-19 23:48:27 -0700 (Thu, 19 Oct 2006) Log Message: ----------- Updated the development version since it's wrong Modified Paths: -------------- trunk/web/htdocs/functions.php Modified: trunk/web/htdocs/functions.php =================================================================== --- trunk/web/htdocs/functions.php 2006-10-20 05:08:16 UTC (rev 1254) +++ trunk/web/htdocs/functions.php 2006-10-20 06:48:27 UTC (rev 1255) @@ -351,7 +351,7 @@ //{{{ get_devel_version() function get_devel_version() { - return "0.4 beta"; + return "0.5 pre2"; }//}}} //{{{ get_stable_version() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-10-20 05:08:30
|
Revision: 1254 http://svn.sourceforge.net/jsxe/?rev=1254&view=rev Author: ian_lewis Date: 2006-10-19 22:08:16 -0700 (Thu, 19 Oct 2006) Log Message: ----------- added russian translation of jsxe's webpage Modified Paths: -------------- trunk/web/htdocs/sidebar.php Added Paths: ----------- trunk/web/htdocs/content/ru/ trunk/web/htdocs/content/ru/_global.php trunk/web/htdocs/content/ru/downloads.php trunk/web/htdocs/content/ru/features.php trunk/web/htdocs/content/ru/get-involved.php trunk/web/htdocs/content/ru/overview.php Added: trunk/web/htdocs/content/ru/_global.php =================================================================== --- trunk/web/htdocs/content/ru/_global.php (rev 0) +++ trunk/web/htdocs/content/ru/_global.php 2006-10-20 05:08:16 UTC (rev 1254) @@ -0,0 +1,19 @@ +<?php +$trans['ru'] = array( + 'Overview' => 'Обзор', + 'News' => 'Новости', + 'Features' => 'Возможности', + 'Screenshot' => 'Скриншот', + 'Screenshots' => 'Скриншоты', + 'Download' => 'Скачать', + 'Downloads' => 'Скачивание', + 'Get Involved' => 'Помочь проекту', + 'SourceForge Project' => 'Страница на SourceForge', + 'jsXe with Japanese locale.' => 'jsXe с Японской локалью', + 'A screenshot showing the context dialog including cut/paste.' => 'Этот скриншот демонстрирует диалог включающий вырезание и вставку.', + 'A screenshot showing validation features. jsXe allows you to add nodes defined by DTD/Schema' => 'Этот скриншот демонстрирует функции проверки. jsXe позволяет вам добавлять узлы, определенные в DTD/Schema', + 'A screenshot showing the syntax highlighted source view.' => 'Этот скриншот демонстрирует подсветку синтаксиса в отображении исходником.', + 'A screenshot of jsXe's options panel.' => 'Это скриншот панели настроек jsXe.', + 'A screenshot of the edit node dialog. This dialog can be used to edit nodes defined in DTD/Schema.' => 'Скриншот диалога редактора узла. Этот диалог может быть использован для редактирования узлов, определенных в DTD/Schema.' +); +?> Property changes on: trunk/web/htdocs/content/ru/_global.php ___________________________________________________________________ Name: svn:executable + * Added: trunk/web/htdocs/content/ru/downloads.php =================================================================== --- trunk/web/htdocs/content/ru/downloads.php (rev 0) +++ trunk/web/htdocs/content/ru/downloads.php 2006-10-20 05:08:16 UTC (rev 1254) @@ -0,0 +1,76 @@ +<h3>Требования</h3> + +<ul> +<li>jsXe требует Java 2 версии 1.4.2</li> +<li>jsXe в настоящее время требуется особая версия Xerces-J для + запуска. Xerces-J 2.8.0 необходим с тех пор, как некоторые + возможности были реализованы с применением DOM level 3 + interfaces которые были в версии 2.6.0, но затем были изменены + в более поздних версиях. Xerces-J 2.8.0 входит в состав + обычных релизов jsXe (и бинарники и исходники) для удобства. + Вы также можете найти Xerces-J 2.8.0 + <a href="http://archive.apache.org/dist/xml/xerces-j/">здесь</a>.</li> +</ul> + +<h3>Скачать</h3> + +<ul> + <li>Последняя стабильная версия jsXe <?php echo get_stable_download_link(); ?></li> + <li>Последняя версия jsXe "в разработке" <?php echo get_devel_download_link(); ?></li> +</ul> + +<h3>Установка</h3> + +<ul> + <li><b>0.4 beta</b> + <ul> + <li><p>Чтобы установить и запустить jsXe просто распакуйте jsXe в + директорию (папку) по вашему выбору и запустите находящийся там + bat-файл или sh-скрипт. Вам придется самим убедиться что java + runtime прописана в ваш path. Находясь в корне директории, куда + вы установили jsXe введите в консоли следующие команды.</p> + <p>./bin/jsXe.sh</p> + <p>или</p> + <p>./bin/jsXe.bat</p> + <p>При запуске bat-файла его рабочей директорией должна быть + корневая директория с jsXe. Таким образом вы можете сделать + ярлык для запуска jsXe, установив bat-файл как программу для + запуска и корневую директорию с jsXe как рабочую директорию.</p> + + <p>Например.<br/> + Цель: "C:\Program Files\jsXe\bin\jsXe.bat"<br/> + Запускать в: "C:\Program Files\jsXe\"</p> + + <p>Вы также можете отредактировать переменную JSXEDIR в batch-программе, + прописав там директорию, в которую вы установили jsXe, + после чего вы можете запускать jsXe откуда угодно.</p> + </li> + </ul> + </li> + <li><b>0.5 pre2</b> + <ul> + <li><b>Windows</b> + + <p>Просто запустите jsXe с помощью файла jsXe.exe в директории, куда + вы установили программу. Ваша версия Java будет обнаружена + автоматически, после чего jsXe будет запущена с помощью + этой версии.</p> + </li> + + <li><b>Unix/Linux</b> + + <p>Чтобы запустить jsXe вы должны запустить интерпретатор java + с файлом jsXe.jar. В дереве исходного кода существует sh-скрипт + для этой цели.</p> + + <p>./bin/jsXe.sh</p> + + <p>sh-скрипт должен быть запущен из корневой директории (эта директория + должна быть рабочей). Вы также можете отредактировать переменную + JSXEDIR в sh-скрипте, прописав в нее ту директорию, куда вы + установили jsXe. + </p> + </li> + </ul> + </li> +</ul> Property changes on: trunk/web/htdocs/content/ru/downloads.php ___________________________________________________________________ Name: svn:executable + * Added: trunk/web/htdocs/content/ru/features.php =================================================================== --- trunk/web/htdocs/content/ru/features.php (rev 0) +++ trunk/web/htdocs/content/ru/features.php 2006-10-20 05:08:16 UTC (rev 1254) @@ -0,0 +1,61 @@ +<p>Следующие возможности реализованы в текущей стабильной версии jsXe</p> + +<h3>Основное</h3> + +<ul> + <li>Написано на Java, поэтому запускается на Mac OS X, OS/2, Unix, VMS и Windows.</li> + <li>XML-документы редактируются с помощью "отображений". jsXe позволяет + использовать несколько разных отображений.</li> + <li>Подсветка синтаксиса в режиме исходника (с версии 0.4 beta).</li> + <li>Интерфейс плагинов, который позволяет добавлять режимы + без перекомпиляции.</li> + <li>Относительно хорошая сериализация XML-документов. + Поддерживает опциональность форматирования или + не-форматирования сериализованных документов. Позволяет + избегать пустот в тексте.</li> + <li>Позволяет открывать и редактировать несколько XML-документов + в одном открытом окне (вкладочный интерфейс - табы).</li> + <li>Возрастающий парсинг. Парсинг и проверка документа будет + выполнена автоматически без нажатия соответствующей кнопки.</li> + <li>Поддержка проверки XML-документа с использованием DTD и + других форм Schema.</li> + <li>Самопроверка DTD/Schema. Информация в DTD/Schema используется для + допуска пользователей к возможности добавлять и редактировать + узлы на основе объявленных в DTD/Schema.</li> + <li>Интернационализация. jsXe позволяет легко создавать переводы для + интерфейса программы на ваш родной язык.</li> + <li>Встроенная подержка дополнения для XML Schema, XHTML, XSLT, и + XSL:FO.</li> +</ul> + +<h3>Отображение деревом</h3> + +<ul> + <li>Добавление, удаление и редактирование узлов в XML-документе с использованием + контекстных меню.</li> + <li>Добавление, удаление и редактирование аттрибутов узла.</li> + <li>Возможность перетаскивания XML-узлов внутри дерева и в текстовые редакторы.</li> +</ul> + +<h3>Отображение исходником</h3> + +<ul> + <li>Редактирование текста полного исходника любого XML-документа.</li> + <li>Вырезание, копирование, вставка и другие ограниченные возможности.</li> +</ul> + + +<h2>Запланированные возможности</h2> + +<p>Эти возможности были добавлены в версию jsXe "в разработке" или были запланированы для будующей реализации</p> + +<ul> + <li>Отображение "schema designer", которое использует <a href="http://www.jgraph.com/">JGraph</a>.</li> + <li>Отображение "docbook", которое использует <a href="http://vex.sourceforge.net/">Vex</a>.</li> + <li>Рендерер XHTML, который использует <a href="https://xhtmlrenderer.dev.java.net/">Flying Saucer</a>.</li> + <li>Поддержка трансформации XML-документов с использованием таблиц стилей XSLT.</li> + <li>Возможность бесконечного списка действий для отмены (с версии 0.5 beta).</li> + <li>Дополнение тегов с применением самопроверки DTD/Schema (с версии 0.5 beta).</li> + <li>Автоматическая вставка закрывающих тегов ( с версии 0.5 beta).</li> + <li>Справочная система с использованием <a href="http://aurigadoc.sourceforge.net/">AurigaDoc</a> или <a href="http://docbook.sourceforge.net/">Docbook</a> (с версии 0.6 beta)</li> +</ul> Property changes on: trunk/web/htdocs/content/ru/features.php ___________________________________________________________________ Name: svn:executable + * Added: trunk/web/htdocs/content/ru/get-involved.php =================================================================== (Binary files differ) Property changes on: trunk/web/htdocs/content/ru/get-involved.php ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Added: trunk/web/htdocs/content/ru/overview.php =================================================================== --- trunk/web/htdocs/content/ru/overview.php (rev 0) +++ trunk/web/htdocs/content/ru/overview.php 2006-10-20 05:08:16 UTC (rev 1254) @@ -0,0 +1,15 @@ +<p>jsXe расшифровывается как <b>J</b>ava <b>S</b>imple <b>X</b>ML <b>E</b>ditor. Примерный перевод - простой редактор XML на Java.</p> +<p>jsXe - быстрый, интуитивный, расширяемый, платформо-независимый редактор XML. + Он написан на <a href="http://java.sun.com">Java</a> с использованием the Swing + toolkit, и <a href="http://xml.apache.org/xerces2-j/">Xerces-J</a> + и распространяется на условиях + <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a>. + Его цель - предоставить пользователям и разработчикам интуитивный способ + создания XML-документов, который достаточно прост для того чтобы иметь дело + с любым XML-документом, но в тоже время достаточно гибкий для того чтобы + позволить добавлять подержку форматов XML-документов с помощью плагинов.</p> +<p>jsXe сейчас в стадии beta-версии и множество запланированных возможностей + еще не реализованы. Если вы интересуетесь возможностью помочь jsXe стать + отличным редактором внося свои предложения, или же если вы разработчик и + хотите отдать проекту свое время и код - смотрите сюда: + <?php echo create_link('get-involved.php', 'how to get involved'); ?>.</p> Property changes on: trunk/web/htdocs/content/ru/overview.php ___________________________________________________________________ Name: svn:executable + * Modified: trunk/web/htdocs/sidebar.php =================================================================== --- trunk/web/htdocs/sidebar.php 2006-09-18 09:21:33 UTC (rev 1253) +++ trunk/web/htdocs/sidebar.php 2006-10-20 05:08:16 UTC (rev 1254) @@ -20,5 +20,6 @@ <ul> <li><?php echo get_image('us.png');?> <?php echo create_language_link('en-us', 'English'); ?></li> <li><?php echo get_image('jp.png');?> <?php echo create_language_link('ja-jp', '日本語'); ?></li> + <li><?php echo get_image('ru.png');?> <?php echo create_language_link('ru-ru', 'Русский Язык'); ?></li> </ul> </div> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2006-09-18 09:21:45
|
Revision: 1253 http://svn.sourceforge.net/jsxe/?rev=1253&view=rev Author: alexandr_gr Date: 2006-09-18 02:21:33 -0700 (Mon, 18 Sep 2006) Log Message: ----------- fixed misprint Modified Paths: -------------- trunk/jsxe/messages/messages_ru.properties Modified: trunk/jsxe/messages/messages_ru.properties =================================================================== --- trunk/jsxe/messages/messages_ru.properties 2006-09-17 17:09:06 UTC (rev 1252) +++ trunk/jsxe/messages/messages_ru.properties 2006-09-18 09:21:33 UTC (rev 1253) @@ -288,8 +288,8 @@ Переводчики:\n\ \ \ \ \ German (de) - Bianca Sh\u00f6en\n\ \ \ \ \ German (de) - Dieter Steiner <spo...@gm...>\n\ - \ \ \ \ Swedish (sv) - Patrik Johansson <pa...@it...>\n\n\ - \ \ \ \ Russian (ru) - Alexandr Gridnev <ale...@ya...>\n\n\ + \ \ \ \ Swedish (sv) - Patrik Johansson <pa...@it...>\n\ + \ \ \ \ Russian (ru) - Александр Гриднев <ale...@ya...>\n\n\ В прошлом учавствовали в разработке:\n\ \ \ \ \ Aaron Flatten <afl...@us...>\n\ \ \ \ \ Bilel Remmache <rb...@us...>\n\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2006-09-17 17:10:15
|
Revision: 1252 http://svn.sourceforge.net/jsxe/?rev=1252&view=rev Author: alexandr_gr Date: 2006-09-17 10:09:06 -0700 (Sun, 17 Sep 2006) Log Message: ----------- Updated russian translation again Modified Paths: -------------- trunk/jsxe/messages/messages_ru.properties trunk/sourceview/messages/messages_ru.properties trunk/treeview/messages/messages_ru.properties Modified: trunk/jsxe/messages/messages_ru.properties =================================================================== --- trunk/jsxe/messages/messages_ru.properties 2006-09-17 16:42:15 UTC (rev 1251) +++ trunk/jsxe/messages/messages_ru.properties 2006-09-17 17:09:06 UTC (rev 1252) @@ -117,7 +117,7 @@ Document.Options.Format.XML=Форматировать выводимый XML Document.Options.Format.XML.ToolTip=Если это выбрано, XML будет форматироваться автоматически. Document.Options.Validate=Подтв. если доступны DTD или Схема -Document.Options.Validate.ToolTip=Если это выбрано, jsXe будет подтверждать (проверять?) документ XML. +Document.Options.Validate.ToolTip=Если это выбрано, jsXe будет проверять документ XML. Document.Options.Soft.Tabs=Мягкие табуляции (эмуляция пробелами) Document.Options.Soft.Tabs.ToolTip=Если это выбрано, символы табуляции будут заменены пробелами. #}}} @@ -167,7 +167,7 @@ general-options.label=Глобальные опции... document-options.label=Опции документа... plugin-manager.label=Менеджер плагинов... -validation-errors.label=Ошибки подтверждения... +validation-errors.label=Ошибки проверки... about-jsxe.label=О программе jsXe... #}}} @@ -297,8 +297,8 @@ #}}} #{{{ Validation Errors Dialog -ValidationErrors.title=Ошибки подтверждения -ValidationErrors.message=Ошибки подтверждения +ValidationErrors.title=Ошибки проверки +ValidationErrors.message=Ошибки проверки #}}} #}}} Modified: trunk/sourceview/messages/messages_ru.properties =================================================================== --- trunk/sourceview/messages/messages_ru.properties 2006-09-17 16:42:15 UTC (rev 1251) +++ trunk/sourceview/messages/messages_ru.properties 2006-09-17 17:09:06 UTC (rev 1252) @@ -1,5 +1,5 @@ # JSXE source view English properties file -# $Id: messages 1068 2006-07-26 16:57:45Z ian_lewis $ +# $Id: messages.properties 1184 2006-08-28 15:50:38Z ian_lewis $ # Maintained by Alexandr Gridnev (ale...@ya...) #:mode=properties: #:tabSize=4:indentSize=4:noTabs=true: Modified: trunk/treeview/messages/messages_ru.properties =================================================================== --- trunk/treeview/messages/messages_ru.properties 2006-09-17 16:42:15 UTC (rev 1251) +++ trunk/treeview/messages/messages_ru.properties 2006-09-17 17:09:06 UTC (rev 1252) @@ -1,5 +1,5 @@ # JSXE tree view English properties file -# $Id: messages 1101 2006-08-03 15:40:34Z ian_lewis $ +# $Id: messages.properties 1183 2006-08-28 15:49:53Z ian_lewis $ # Maintained by Alexandr Gridnev (ale...@ya...) #:mode=properties: #:tabSize=4:indentSize=4:noTabs=true: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2006-09-17 16:42:34
|
Revision: 1251 http://svn.sourceforge.net/jsxe/?rev=1251&view=rev Author: alexandr_gr Date: 2006-09-17 09:42:15 -0700 (Sun, 17 Sep 2006) Log Message: ----------- Updated main russian translation file Modified Paths: -------------- trunk/jsxe/messages/messages_ru.properties Modified: trunk/jsxe/messages/messages_ru.properties =================================================================== --- trunk/jsxe/messages/messages_ru.properties 2006-09-07 02:33:14 UTC (rev 1250) +++ trunk/jsxe/messages/messages_ru.properties 2006-09-17 16:42:15 UTC (rev 1251) @@ -1,5 +1,5 @@ -# JSXE English properties file -# $Id: messages 1158 2006-08-18 18:42:18Z ian_lewis $ +# JSXE Russian properties file +# $Id: messages.properties 1214 2006-08-31 20:41:10Z ian_lewis $ # Maintained by Alexandr Gridnev (ale...@ya...) #:mode=properties: #:tabSize=4:indentSize=4:noTabs=true: @@ -64,6 +64,8 @@ Global.Options.Title=Главное Global.Options.Max.Recent.Files=Помнить ранее открытых файлов: Global.Options.Max.Recent.Files.ToolTip=Максимальное количество ранее открытых файлов, про которые jsXe помнит и отображает в меню Файл->Ранее открытые файлы +Global.Options.Recent.Files.Show.Full.Path=Показывать полный путь в списке ранее открытых файлов +Global.Options.Recent.Files.Show.Full.Path.ToolTip=Если это включено, то в меню со списком ранее открытых файлов будет отображаться полный путь к ним (файлам). Global.Options.network-off=Кешировать всегда, без спросу Global.Options.network-cache=Кешировать удаленные файлы только спросив разрешения Global.Options.network-always=Скачивать всегда, без спросу @@ -233,7 +235,11 @@ No.Xerces.Error.message={0} не обнаружен. jsXe требует Apache {0}. No.Xerces.Error.title={0} не обнаружен. IO.Error.title=ошибка ввода/вывода (I/O Error) -IO.Error.message=Произошла ошибка ввода/вывода +IO.Error.message=Произошла ошибка ввода/вывода + +#generic error message +XML.Error.title=Ошибка XML +XML.Error.message={0} #}}} #}}} @@ -282,11 +288,11 @@ Переводчики:\n\ \ \ \ \ German (de) - Bianca Sh\u00f6en\n\ \ \ \ \ German (de) - Dieter Steiner <spo...@gm...>\n\ - \ \ \ \ Swedish (sv) - Patrik Johansson <pa...@it...>\n\n\ + \ \ \ \ Swedish (sv) - Patrik Johansson <pa...@it...>\n\n\ + \ \ \ \ Russian (ru) - Alexandr Gridnev <ale...@ya...>\n\n\ В прошлом учавствовали в разработке:\n\ \ \ \ \ Aaron Flatten <afl...@us...>\n\ \ \ \ \ Bilel Remmache <rb...@us...>\n\ - \ \ \ \ SVM <svm...@us...>\n\n\ Страница проекта: http://jsxe.sourceforge.net/ #}}} @@ -296,3 +302,27 @@ #}}} #}}} + +#{{{ Help viewer +helpviewer.title=Справка jsXe +helpviewer.loading=Загрузка... +helpviewer.back.label=Назад +helpviewer.forward.label=Вперед + +helpviewer.toc.loading=Загрузка... +helpviewer.toc.label=Содержание +helpviewer.toc.welcome=Добро пожаловать в jsXe +helpviewer.toc.readme=Главная информация +helpviewer.toc.changes=Подробный список изменений +helpviewer.toc.todo=TODO и известные баги +helpviewer.toc.copying=GNU General Public License +helpviewer.toc.copying-doc=GNU Free Documentation License +helpviewer.toc.copying-apache=Apache License +helpviewer.toc.copying-plugins=Поправка к лицензированию плагинов +helpviewer.toc.plugins=Плагины + +helpviewer.search.label=Искать +helpviewer.search.caption=Искать: +helpviewer.searching=Ищу я, ищу, подождите... +helpviewer.no-results=Нема такого, ничего не найдено +#}}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-09-07 02:33:22
|
Revision: 1250 http://svn.sourceforge.net/jsxe/?rev=1250&view=rev Author: ian_lewis Date: 2006-09-06 19:33:14 -0700 (Wed, 06 Sep 2006) Log Message: ----------- Added more synchronization support to AdapterNode Modified Paths: -------------- branches/jsxe2/Changelog branches/jsxe2/src/net/sourceforge/jsxe/dom/AdapterNode.java branches/jsxe2/src/net/sourceforge/jsxe/dom/XMLDocument.java Modified: branches/jsxe2/Changelog =================================================================== --- branches/jsxe2/Changelog 2006-09-07 00:14:29 UTC (rev 1249) +++ branches/jsxe2/Changelog 2006-09-07 02:33:14 UTC (rev 1250) @@ -5,6 +5,7 @@ * AdapterNode now uses the DOM3 renameNode() method to rename element nodes. * Made property methods on AdapterNodes thread safe. * Updated property methods on XMLDocuments + * Made AdapterNode thread safe 08/31/2006 Ian Lewis <Ian...@me...> Modified: branches/jsxe2/src/net/sourceforge/jsxe/dom/AdapterNode.java =================================================================== --- branches/jsxe2/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-09-07 00:14:29 UTC (rev 1249) +++ branches/jsxe2/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-09-07 02:33:14 UTC (rev 1250) @@ -225,7 +225,7 @@ //{{{ child() /** - * <p>Gets the child node at the given index.</p> + * <p>Gets the child node at the given index. This method is thread safe.</p> * @param index the index of the requested node * @return an AdapterNode representing the node at the given index, * null if the index is out of bounds @@ -238,40 +238,54 @@ */ XMLDocument rootDocument = getOwnerDocument(); AdapterNode child = null; - if (index < m_domNode.getChildNodes().getLength()) { - if (index < m_children.size()) { - try { - child = (AdapterNode)m_children.get(index); - if (child == null) { - //the size was ok but no AdapterNode was at this index - child = rootDocument.newAdapterNode(this, m_domNode.getChildNodes().item(index)); - m_children.set(index, child); - } - } catch (IndexOutOfBoundsException ioobe) {} - } else { - /* - Populate the other elements with null until we - have the correct size. - */ - ensureChildrenSize(index+1); - child = rootDocument.newAdapterNode(this, m_domNode.getChildNodes().item(index)); - m_children.set(index, child); + + synchronized(childrenLock) { + + + if (index < childCount()) { + if (index < m_children.size()) { + try { + child = (AdapterNode)m_children.get(index); + if (child == null) { + //the size was ok but no AdapterNode was at this index + child = rootDocument.newAdapterNode(this, m_domNode.getChildNodes().item(index)); + m_children.set(index, child); + } + } catch (IndexOutOfBoundsException ioobe) {} + } else { + /* + Populate the other elements with null until we + have the correct size. + */ + ensureChildrenSize(index+1); + child = rootDocument.newAdapterNode(this, m_domNode.getChildNodes().item(index)); + m_children.set(index, child); + } } + return child; } - return child; }//}}} //{{{ childCount() /** - * <p>Gets the number of children that this node has.</p> + * <p>Gets the number of children that this node has. This method is thread + * safe.</p> * @return the number of children of this node */ public int childCount() { - NodeList childNodes = m_domNode.getChildNodes(); - if (childNodes != null) { - return childNodes.getLength(); - } else { - return 0; + Object lock = getLock(); + + /* + Accesses to the underlying DOM should be synchronized on + the root XMLDocument + */ + synchronized (lock) { + NodeList childNodes = m_domNode.getChildNodes(); + if (childNodes != null) { + return childNodes.getLength(); + } else { + return 0; + } } }//}}} @@ -282,7 +296,14 @@ * @return the namespace prefix for this node. null if no namespace */ public String getNSPrefix() { - return m_domNode.getPrefix(); + Object lock = getLock(); + /* + Accesses to the underlying DOM should be synchronized on + the root XMLDocument + */ + synchronized (lock) { + return m_domNode.getPrefix(); + } }//}}} //{{{ setNSPrefix() @@ -296,23 +317,25 @@ * NAMESPACE_ERR: Raised if the specified prefix is malformed per the Namespaces in XML specification, if the namespaceURI of this node is null, if the specified prefix is "xml" and the namespaceURI of this node is different from "http://www.w3.org/XML/1998/namespace", if this node is an attribute and the specified prefix is "xmlns" and the namespaceURI of this node is different from " http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName of this node is "xmlns" . */ public void setNSPrefix(String prefix) throws DOMException { - XMLDocument doc = getOwnerDocument(); - try { - doc.beginCompoundEdit(); - String oldPrefix = getNSPrefix(); - /* - for whatever reason if I set a prefix on an node with no prefix - you get DOMException.NAMESPACE_ERRs. If we are adding a NS then - just rename the node. - */ - if (oldPrefix != null && !oldPrefix.equals("")) { - m_domNode.setPrefix(prefix); - } else { - renameElementNode(prefix, getLocalName()); + Object lock = getLock(); + synchronized(lock) { + try { + beginCompoundEdit(); + String oldPrefix = getNSPrefix(); + /* + for whatever reason if I set a prefix on an node with no prefix + you get DOMException.NAMESPACE_ERRs. If we are adding a NS then + just rename the node. + */ + if (oldPrefix != null && !oldPrefix.equals("")) { + m_domNode.setPrefix(prefix); + } else { + renameElementNode(prefix, getLocalName()); + } + fireNamespaceChanged(this, oldPrefix, prefix); + } finally { + endCompoundEdit(); } - fireNamespaceChanged(this, oldPrefix, prefix); - } finally { - doc.endCompoundEdit(); } }//}}} @@ -323,7 +346,10 @@ * @return the full qualified name of this node */ public String getNodeName() { - return m_domNode.getNodeName(); + Object lock = getLock(); + synchronized(lock) { + return m_domNode.getNodeName(); + } }//}}} //{{{ setNodeName() @@ -332,29 +358,37 @@ * @param qualifiedName the new qualified name */ public void setNodeName(String qualifiedName) throws DOMException { - String oldPrefix = getNSPrefix(); - String oldLocalName = getLocalName(); + Object lock = getLock(); - String prefix = MiscUtilities.getNSPrefixFromQualifiedName(qualifiedName); - String localName = MiscUtilities.getLocalNameFromQualifiedName(qualifiedName); - if (getNodeType() == ELEMENT_NODE) { - renameElementNode(prefix, localName); - } else { - if (getNodeType() == PROCESSING_INSTRUCTION_NODE) { - renamePINode(localName); + synchronized(lock) { + + String oldPrefix = getNSPrefix(); + String oldLocalName = getLocalName(); + + String prefix = MiscUtilities.getNSPrefixFromQualifiedName(qualifiedName); + String localName = MiscUtilities.getLocalNameFromQualifiedName(qualifiedName); + + beginCompoundEdit(); + + if (getNodeType() == ELEMENT_NODE) { + renameElementNode(prefix, localName); } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "An attempt was made to rename a node that is not supported."); + if (getNodeType() == PROCESSING_INSTRUCTION_NODE) { + renamePINode(localName); + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "An attempt was made to rename a node that is not supported."); + } } + + if (!MiscUtilities.equals(oldPrefix, prefix)) { + fireNamespaceChanged(this, oldPrefix, prefix); + } + if (!MiscUtilities.equals(oldLocalName, localName)) { + fireLocalNameChanged(this, oldLocalName, localName); + } + + endCompoundEdit(); } - XMLDocument doc = getOwnerDocument(); - doc.beginCompoundEdit(); - if (!MiscUtilities.equals(oldPrefix, prefix)) { - fireNamespaceChanged(this, oldPrefix, prefix); - } - if (!MiscUtilities.equals(oldLocalName, localName)) { - fireLocalNameChanged(this, oldLocalName, localName); - } - doc.endCompoundEdit(); }//}}} //{{{ getLocalName() @@ -363,7 +397,10 @@ * @return the local name of the node */ public String getLocalName() { - return m_domNode.getLocalName(); + Object lock = getLock(); + synchronized(lock) { + return m_domNode.getLocalName(); + } }//}}} //{{{ setLocalName() @@ -374,36 +411,41 @@ * contains an illegal character. */ public void setLocalName(String localName) throws DOMException { + Object lock = getLock(); - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - //Verify that this really is a change - String oldLocalName = m_domNode.getLocalName(); - if (!oldLocalName.equals(localName)) { - - renameElementNode(getNSPrefix(), localName); - - fireLocalNameChanged(this, oldLocalName, localName); - } - } else { - if (m_domNode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { - if (m_domNode.getNodeName() != localName) { - Node newNode = m_domNode.getOwnerDocument().createProcessingInstruction(localName, m_domNode.getNodeValue()); - m_domNode.getParentNode().replaceChild(newNode, m_domNode); - m_domNode = newNode; + synchronized(lock) { + + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + //Verify that this really is a change + String oldLocalName = m_domNode.getLocalName(); + if (!oldLocalName.equals(localName)) { + + renameElementNode(getNSPrefix(), localName); + + fireLocalNameChanged(this, oldLocalName, localName); } } else { - if (m_domNode.getNodeType() == Node.ENTITY_REFERENCE_NODE) { + if (m_domNode.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { if (m_domNode.getNodeName() != localName) { - if (getOwnerDocument().entityDeclared(localName)) { - Node newNode = m_domNode.getOwnerDocument().createEntityReference(localName); - m_domNode.getParentNode().replaceChild(newNode, m_domNode); - m_domNode = newNode; - } else { - throw new DOMException(DOMException.SYNTAX_ERR, "Entity "+"\""+localName+"\""+" is not declared in the Schema"); + Node newNode = m_domNode.getOwnerDocument().createProcessingInstruction(localName, m_domNode.getNodeValue()); + m_domNode.getParentNode().replaceChild(newNode, m_domNode); + m_domNode = newNode; + } + } else { + if (m_domNode.getNodeType() == Node.ENTITY_REFERENCE_NODE) { + if (m_domNode.getNodeName() != localName) { + XMLDocument doc = getOwnerDocument(); + if (doc != null && doc.entityDeclared(localName)) { + Node newNode = m_domNode.getOwnerDocument().createEntityReference(localName); + m_domNode.getParentNode().replaceChild(newNode, m_domNode); + m_domNode = newNode; + } else { + throw new DOMException(DOMException.SYNTAX_ERR, "Entity "+"\""+localName+"\""+" is not declared in the Schema"); + } } + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Renaming this node type is not supported."); } - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Renaming this node type is not supported."); } } } @@ -415,7 +457,10 @@ * @return the current value associated with this node */ public String getNodeValue() { - return m_domNode.getNodeValue(); + Object lock = getLock(); + synchronized(lock) { + return m_domNode.getNodeValue(); + } }//}}} //{{{ setNodeValue() @@ -429,11 +474,15 @@ * the implementation platform. */ public void setNodeValue(String str) throws DOMException { - // Make sure there is a change. - if (!MiscUtilities.equals(str, m_domNode.getNodeValue())) { - String oldValue = getNodeValue(); - m_domNode.setNodeValue(str); - fireNodeValueChanged(this, oldValue, str); + Object lock = getLock(); + + synchronized(lock) { + // Make sure there is a change. + if (!MiscUtilities.equals(str, m_domNode.getNodeValue())) { + String oldValue = getNodeValue(); + m_domNode.setNodeValue(str); + fireNodeValueChanged(this, oldValue, str); + } } }//}}} @@ -443,7 +492,11 @@ * @return the node type */ public short getNodeType() { - return m_domNode.getNodeType(); + Object lock = getLock(); + + synchronized(lock) { + return m_domNode.getNodeType(); + } }//}}} //{{{ getParentNode() @@ -462,7 +515,11 @@ * <code>null</code> if this is not an element node */ public NamedNodeMap getAttributes() { - return m_domNode.getAttributes(); + Object lock = getLock(); + + synchronized(lock) { + return m_domNode.getAttributes(); + } }//}}} //{{{ addAdapterNode() @@ -529,63 +586,68 @@ * location is invalid. */ public AdapterNode addAdapterNodeAt(AdapterNode node, int location) throws DOMException { - if (node != null) { - if (location >= 0 && location <= childCount()) { - if (m_children.indexOf(node) == location) { - //node is already in the location specified - return node; - } - - XMLDocument doc = getOwnerDocument(); - try { + + synchronized(childrenLock) { + if (node != null) { + if (location >= 0 && location <= childCount()) { + if (m_children.indexOf(node) == location) { + //node is already in the location specified + return node; + } - doc.beginCompoundEdit(); - //add to this AdapterNode and the DOM. - if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { - //Add all children of the document fragment - for (int i=0; i<node.childCount(); i++) { - addAdapterNodeAt(node.child(i), location+i); - } - } else { + Object lock = getLock(); + synchronized(lock) { - /* - if the node is already contained in this node - then we are effectively moving the node. - */ - if (m_children.contains(node)) { - if (location > m_children.indexOf(node)) { - location -= 1; - } - int index = index(node); - m_children.remove(node); - addUndoableEdit(new RemoveNodeChange(this, node, index)); - } else { - //Remove from previous parent - AdapterNode previousParent = node.getParentNode(); - if (previousParent != this) { - if (previousParent != null) { - previousParent.removeChild(node); + try { + beginCompoundEdit(); + //add to this AdapterNode and the DOM. + if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) { + //Add all children of the document fragment + for (int i=0; i<node.childCount(); i++) { + addAdapterNodeAt(node.child(i), location+i); } + } else { + + /* + if the node is already contained in this node + then we are effectively moving the node. + */ + if (m_children.contains(node)) { + if (location > m_children.indexOf(node)) { + location -= 1; + } + int index = index(node); + m_children.remove(node); + addUndoableEdit(new RemoveNodeChange(this, node, index)); + } else { + //Remove from previous parent + AdapterNode previousParent = node.getParentNode(); + if (previousParent != this) { + if (previousParent != null) { + previousParent.removeChild(node); + } + } + } + if (location >= m_children.size()) { + m_domNode.appendChild(node.getNode()); + ensureChildrenSize(location); + m_children.add(node); + } else { + m_domNode.insertBefore(node.getNode(), child(location).getNode()); + m_children.add(location, node); + } + + node.setParent(this); + fireNodeAdded(this, node, location); } + } finally { + endCompoundEdit(); } - if (location >= m_children.size()) { - m_domNode.appendChild(node.getNode()); - ensureChildrenSize(location); - m_children.add(node); - } else { - m_domNode.insertBefore(node.getNode(), child(location).getNode()); - m_children.add(location, node); - } - - node.setParent(this); - fireNodeAdded(this, node, location); } - } finally { - doc.endCompoundEdit(); + } else { + throw new DOMException(DOMException.INDEX_SIZE_ERR, "The location to insert this node is invalid."); } - } else { - throw new DOMException(DOMException.INDEX_SIZE_ERR, "The location to insert this node is invalid."); } } return node; @@ -601,19 +663,26 @@ * a child of this node. */ public void remove(AdapterNode child) throws DOMException { - if (child != null) { - if (getNodeType() == Node.DOCUMENT_NODE && child.getNodeType() == Node.ELEMENT_NODE) { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "You cannot remove the root element node."); + + synchronized(childrenLock) { + Object lock = getLock(); + synchronized(lock) { + + if (child != null) { + if (getNodeType() == Node.DOCUMENT_NODE && child.getNodeType() == Node.ELEMENT_NODE) { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "You cannot remove the root element node."); + } + if (child.getNodeType() != Node.DOCUMENT_TYPE_NODE) { + int index = index(child); + m_domNode.removeChild(child.getNode()); + m_children.remove(child); + child.setParent(null); + fireNodeRemoved(this, child, index); + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Cannot remove Document Type Nodes"); + } + } } - if (child.getNodeType() != Node.DOCUMENT_TYPE_NODE) { - int index = index(child); - m_domNode.removeChild(child.getNode()); - m_children.remove(child); - child.setParent(null); - fireNodeRemoved(this, child, index); - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Cannot remove Document Type Nodes"); - } } }//}}} @@ -631,43 +700,48 @@ * readonly */ public void setAttribute(String name, String value) throws DOMException { - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - - Element element = (Element)m_domNode; - String prefix = MiscUtilities.getNSPrefixFromQualifiedName(name); - - String oldValue = getAttribute(name); - - if (!MiscUtilities.equals(oldValue, value)) { - //check if we are setting a namespace declaration - if ("xmlns".equals(prefix)) { - //if so then make sure the value is valid - if (value != null && value.equals("")) { - throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to create an empty namespace declaration"); + Object lock = getLock(); + + synchronized(lock) { + + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + + Element element = (Element)m_domNode; + String prefix = MiscUtilities.getNSPrefixFromQualifiedName(name); + + String oldValue = getAttribute(name); + + if (!MiscUtilities.equals(oldValue, value)) { + //check if we are setting a namespace declaration + if ("xmlns".equals(prefix)) { + //if so then make sure the value is valid + if (value != null && value.equals("")) { + throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to create an empty namespace declaration"); + } } - } - - /* - If the attribute did not have a prefix to begin with then - using setAttributeNS may add a new attribute node to the element - even though the attribute already exists. - */ - if (prefix != null && !prefix.equals("")) { - element.setAttributeNS(lookupNamespaceURI(prefix),name,value); - } else { + /* - setAttribute doesn't throw an error if the first character - is a ":" + If the attribute did not have a prefix to begin with then + using setAttributeNS may add a new attribute node to the element + even though the attribute already exists. */ - if (name != null && !name.equals("") && name.charAt(0)==':') { - throw new DOMException(DOMException.NAMESPACE_ERR, "An attribute name cannot have a ':' as the first character"); + if (prefix != null && !prefix.equals("")) { + element.setAttributeNS(lookupNamespaceURI(prefix),name,value); + } else { + /* + setAttribute doesn't throw an error if the first character + is a ":" + */ + if (name != null && !name.equals("") && name.charAt(0)==':') { + throw new DOMException(DOMException.NAMESPACE_ERR, "An attribute name cannot have a ':' as the first character"); + } + element.setAttribute(name, value); } - element.setAttribute(name, value); + fireAttributeChanged(this, name, oldValue, value); } - fireAttributeChanged(this, name, oldValue, value); + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } }//}}} @@ -678,28 +752,33 @@ * @throws DOMException NOT_SUPPORTED_ERR: if this is not an element node */ public String getAttribute(String name) throws DOMException { - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - String localName = MiscUtilities.getLocalNameFromQualifiedName(name); - String prefix = MiscUtilities.getNSPrefixFromQualifiedName(name); - - Element element = (Element)m_domNode; - if (prefix != null && !prefix.equals("")) { - //getAttributeNS returns "" even if the attribute isn't in the - //element. - if (element.getAttributeNodeNS(lookupNamespaceURI(prefix),localName) == null) { - return null; + + Object lock = getLock(); + + synchronized(lock) { + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + String localName = MiscUtilities.getLocalNameFromQualifiedName(name); + String prefix = MiscUtilities.getNSPrefixFromQualifiedName(name); + + Element element = (Element)m_domNode; + if (prefix != null && !prefix.equals("")) { + //getAttributeNS returns "" even if the attribute isn't in the + //element. + if (element.getAttributeNodeNS(lookupNamespaceURI(prefix),localName) == null) { + return null; + } + return element.getAttributeNS(lookupNamespaceURI(prefix),localName); + } else { + //getAttribute returns "" even if the attribute isn't in the + //element. + if (element.getAttributeNode(name) == null) { + return null; + } + return element.getAttribute(name); } - return element.getAttributeNS(lookupNamespaceURI(prefix),localName); } else { - //getAttribute returns "" even if the attribute isn't in the - //element. - if (element.getAttributeNode(name) == null) { - return null; - } - return element.getAttribute(name); + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } }//}}} @@ -713,14 +792,19 @@ * readonly */ public void removeAttributeAt(int index) throws DOMException { - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - Element element = (Element)m_domNode; - NamedNodeMap attrs = element.getAttributes(); - if (attrs != null) { - removeAttribute(attrs.item(index).getNodeName()); + Object lock = getLock(); + + synchronized(lock) { + + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + Element element = (Element)m_domNode; + NamedNodeMap attrs = element.getAttributes(); + if (attrs != null) { + removeAttribute(attrs.item(index).getNodeName()); + } + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } }//}}} @@ -733,52 +817,57 @@ * readonly */ public void removeAttribute(String attr) throws DOMException { - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - Element element = (Element)m_domNode; - String prefix = MiscUtilities.getNSPrefixFromQualifiedName(attr); - String localName = MiscUtilities.getLocalNameFromQualifiedName(attr); - String oldValue = getAttribute(attr); - - //make sure we are actually removing an attribute. - if (oldValue != null) { - //Check if we are removing a namespace declaration - //This is a somewhat expensive operation, may need to - //optimize in the future - if ("xmlns".equals(prefix)) { - //check if there are nodes using the namespace - String uri = lookupNamespaceURI(localName); - //check this element's namespace - if (!uri.equals(element.getNamespaceURI())) { - //check for decendent elements with this namespace - NodeList list = element.getElementsByTagName("*"); - //check if an attribute with this NS is used - for (int i=0; i<list.getLength(); i++) { - Node ele = list.item(i); - if (uri.equals(ele.getNamespaceURI())) { - throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to remove a namespace declaration when nodes exist that use it"); - } - //now check the attributes - NamedNodeMap attrs = ele.getAttributes(); - for (int j=0; j<attrs.getLength(); j++) { - Node foundAttr = attrs.item(i); - if (uri.equals(foundAttr.getNamespaceURI())) { + Object lock = getLock(); + + synchronized(lock) { + + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + Element element = (Element)m_domNode; + String prefix = MiscUtilities.getNSPrefixFromQualifiedName(attr); + String localName = MiscUtilities.getLocalNameFromQualifiedName(attr); + String oldValue = getAttribute(attr); + + //make sure we are actually removing an attribute. + if (oldValue != null) { + //Check if we are removing a namespace declaration + //This is a somewhat expensive operation, may need to + //optimize in the future + if ("xmlns".equals(prefix)) { + //check if there are nodes using the namespace + String uri = lookupNamespaceURI(localName); + //check this element's namespace + if (!uri.equals(element.getNamespaceURI())) { + //check for decendent elements with this namespace + NodeList list = element.getElementsByTagName("*"); + //check if an attribute with this NS is used + for (int i=0; i<list.getLength(); i++) { + Node ele = list.item(i); + if (uri.equals(ele.getNamespaceURI())) { throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to remove a namespace declaration when nodes exist that use it"); } + //now check the attributes + NamedNodeMap attrs = ele.getAttributes(); + for (int j=0; j<attrs.getLength(); j++) { + Node foundAttr = attrs.item(i); + if (uri.equals(foundAttr.getNamespaceURI())) { + throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to remove a namespace declaration when nodes exist that use it"); + } + } } + } else { + throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to remove a namespace declaration when nodes exist that use it"); } + } + if (prefix != null && !prefix.equals("")) { + element.removeAttributeNS(lookupNamespaceURI(prefix),localName); } else { - throw new DOMException(DOMException.NAMESPACE_ERR, "An attempt was made to remove a namespace declaration when nodes exist that use it"); + element.removeAttribute(localName); } + fireAttributeChanged(this, attr, oldValue, null); } - if (prefix != null && !prefix.equals("")) { - element.removeAttributeNS(lookupNamespaceURI(prefix),localName); - } else { - element.removeAttribute(localName); - } - fireAttributeChanged(this, attr, oldValue, null); + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); } }//}}} @@ -791,13 +880,18 @@ * @throws DOMException NOT_SUPPORTED_ERR: if this is not an element node */ public String getAttributeNameAt(int index) throws DOMException { - if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { - Element element = (Element)m_domNode; - NamedNodeMap attrs = element.getAttributes(); - Node attr = attrs.item(index); - return attr.getNodeName(); - } else { - throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); + Object lock = getLock(); + + synchronized(lock) { + + if (m_domNode.getNodeType() == Node.ELEMENT_NODE) { + Element element = (Element)m_domNode; + NamedNodeMap attrs = element.getAttributes(); + Node attr = attrs.item(index); + return attr.getNodeName(); + } else { + throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Only Element Nodes can have attributes"); + } } }//}}} @@ -810,7 +904,11 @@ * @throws DOMException NOT_SUPPORTED_ERR: if this is not an element node */ public String getAttributeAt(int index) throws DOMException { - return getAttribute(getAttributeNameAt(index)); + Object lock = getLock(); + + synchronized(lock) { + return getAttribute(getAttributeNameAt(index)); + } }//}}} //{{{ getAllowedElements() @@ -823,31 +921,38 @@ public List getAllowedElements() { XMLDocument rootDocument = getOwnerDocument(); - HashMap mappings = rootDocument.getCompletionInfoMappings(); - ElementDecl thisDecl = rootDocument.getElementDecl(getNodeName()); - - ArrayList allowedElements = new ArrayList(); - - if (thisDecl != null) { - allowedElements.addAll(thisDecl.getChildElements(getNSPrefix())); - } - - // add everything but the parent's prefix now - Iterator iter = mappings.entrySet().iterator(); - while(iter.hasNext()) { - Map.Entry entry = (Map.Entry)iter.next(); - String prefix = entry.getKey().toString(); - String myprefix = getNSPrefix(); - if (myprefix == null) { - myprefix = ""; + if (rootDocument != null) { + Object lock = getLock(); + synchronized(lock) { + HashMap mappings = rootDocument.getCompletionInfoMappings(); + ElementDecl thisDecl = rootDocument.getElementDecl(getNodeName()); + + ArrayList allowedElements = new ArrayList(); + + if (thisDecl != null) { + allowedElements.addAll(thisDecl.getChildElements(getNSPrefix())); + } + + // add everything but the parent's prefix now + Iterator iter = mappings.entrySet().iterator(); + while(iter.hasNext()) { + Map.Entry entry = (Map.Entry)iter.next(); + String prefix = entry.getKey().toString(); + String myprefix = getNSPrefix(); + if (myprefix == null) { + myprefix = ""; + } + if (!prefix.equals(myprefix)) { + CompletionInfo info = (CompletionInfo)entry.getValue(); + info.getAllElements(prefix, allowedElements); + } + } + MiscUtilities.quicksort(allowedElements, new ElementDecl.Compare()); + return allowedElements; } - if (!prefix.equals(myprefix)) { - CompletionInfo info = (CompletionInfo)entry.getValue(); - info.getAllElements(prefix, allowedElements); - } + } else { + return new ArrayList(); } - MiscUtilities.quicksort(allowedElements, new ElementDecl.Compare()); - return allowedElements; }//}}} //{{{ getElementDecl() @@ -855,10 +960,15 @@ * Gets the Element declaration that defines this element */ public ElementDecl getElementDecl() { - if (getOwnerDocument() != null) { - return getOwnerDocument().getElementDecl(getNodeName()); - } else { - return null; + Object lock = getLock(); + + synchronized(lock) { + XMLDocument doc = getOwnerDocument(); + if (doc != null) { + return doc.getElementDecl(getNodeName()); + } else { + return null; + } } }//}}} @@ -879,7 +989,9 @@ * @param listener the listener to add */ public void addAdapterNodeListener(AdapterNodeListener listener) { - m_listeners.add(listener); + if (listener != null) { + m_listeners.add(listener); + } }//}}} //{{{ removeAdapterNodeListener() @@ -898,23 +1010,28 @@ * @return the string representation of this node. */ public String serializeToString() { - XMLDocument owner = getOwnerDocument(); - if (owner != null) { - return owner.serializeNodeToString(this); - } else { - if (m_lastRootDocument != null) { - return m_lastRootDocument.serializeNodeToString(this); + + Object lock = getLock(); + + synchronized(lock) { + XMLDocument owner = getOwnerDocument(); + if (owner != null) { + return owner.serializeNodeToString(this); } else { - //node was never owned? write it out using the default config - String value = null; - try { - DOMSerializer serializer = new DOMSerializer(); - serializer.setNewLine("\n"); - value = serializer.writeToString(m_domNode); - } catch (DOMException e) { - Log.log(Log.WARNING, this, "Could not write node to string"); + if (m_lastRootDocument != null) { + return m_lastRootDocument.serializeNodeToString(this); + } else { + //node was never owned? write it out using the default config + String value = null; + try { + DOMSerializer serializer = new DOMSerializer(); + serializer.setNewLine("\n"); + value = serializer.writeToString(m_domNode); + } catch (DOMException e) { + Log.log(Log.WARNING, this, "Could not write node to string"); + } + return value; } - return value; } } }//}}} @@ -957,11 +1074,17 @@ This is required to help maintain sync between the AdapterNode tree */ void removeChild(AdapterNode node) { - if (node != null) { - int index = index(node); - m_children.remove(node); - if (index != -1) { - addUndoableEdit(new RemoveNodeChange(this, node, index)); + synchronized(childrenLock) { + Object lock = getLock(); + synchronized(lock) { + + if (node != null) { + int index = index(node); + m_children.remove(node); + if (index != -1) { + addUndoableEdit(new RemoveNodeChange(this, node, index)); + } + } } } }//}}} @@ -972,40 +1095,20 @@ * @param parent the new parent for this AdapterNode */ void setParent(AdapterNode parent) { - m_parentNode = parent; - if (parent != null) { - m_lastRootDocument = m_rootDocument; - m_rootDocument = m_parentNode.getOwnerDocument(); - } else { - m_lastRootDocument = m_rootDocument; - m_rootDocument = null; + Object lock = getLock(); + + synchronized(lock) { + m_parentNode = parent; + if (parent != null) { + m_lastRootDocument = m_rootDocument; + m_rootDocument = m_parentNode.getOwnerDocument(); + } else { + m_lastRootDocument = m_rootDocument; + m_rootDocument = null; + } } }//}}} - // //{{{ updateNode() - // /** - // * Sets the node that this AdapterNode wraps. And - // * updates the AdapterNode children. This should only - // * be used when no change in document structure has - // * been made. Only a change that requires reparsing. - // */ - // protected void updateNode(Node node) { - // Iterator itr = m_children.iterator(); - // int index = 0; - // while (itr.hasNext()) { - // AdapterNode child = (AdapterNode)itr.next(); - // //node could be null if we haven't needed it yet. - // //It's ok to do nothing in this case since the - // //AdapterNode object will be created when it is - // //needed. - // if (child != null) { - // child.updateNode(node.getChildNodes().item(index)); - // } - // ++index; - // } - // m_domNode = node; - // }//}}} - //}}} //{{{ Private members @@ -1157,6 +1260,35 @@ } }//}}} + //{{{ getLock() + + private synchronized Object getLock() { + XMLDocument doc = getOwnerDocument(); + if (doc != null) { + return doc; + } else { + return this; + } + }//}}} + + //{{{ beginCompoundEdit() + + private void beginCompoundEdit() { + XMLDocument doc = getOwnerDocument(); + if (doc != null) { + doc.beginCompoundEdit(); + } + }//}}} + + //{{{ endCompoundEdit() + + private void endCompoundEdit() { + XMLDocument doc = getOwnerDocument(); + if (doc != null) { + doc.endCompoundEdit(); + } + }//}}} + private AdapterNode m_parentNode; private XMLDocument m_rootDocument; private XMLDocument m_lastRootDocument; @@ -1168,5 +1300,9 @@ private Properties m_props = new Properties(); private Object propertyLock = new Object(); + /** + * Children lock for when adding AdapterNodes to the children. + */ + private Object childrenLock = new Object(); //}}} } Modified: branches/jsxe2/src/net/sourceforge/jsxe/dom/XMLDocument.java =================================================================== --- branches/jsxe2/src/net/sourceforge/jsxe/dom/XMLDocument.java 2006-09-07 00:14:29 UTC (rev 1249) +++ branches/jsxe2/src/net/sourceforge/jsxe/dom/XMLDocument.java 2006-09-07 02:33:14 UTC (rev 1250) @@ -1276,7 +1276,12 @@ * Gets the namespace uri to CompletionInfo Mappings for this document. */ protected HashMap getCompletionInfoMappings() { - return m_mappings; + try { + readLock(); + return (HashMap)m_mappings.clone(); + } finally { + readUnlock(); + } }//}}} //}}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-09-07 00:14:33
|
Revision: 1249 http://svn.sourceforge.net/jsxe/?rev=1249&view=rev Author: ian_lewis Date: 2006-09-06 17:14:29 -0700 (Wed, 06 Sep 2006) Log Message: ----------- Updated to use new XMLDocument property methods Modified Paths: -------------- branches/sourceview2/Changelog branches/sourceview2/src/sourceview/SourceView.java Modified: branches/sourceview2/Changelog =================================================================== --- branches/sourceview2/Changelog 2006-09-07 00:12:34 UTC (rev 1248) +++ branches/sourceview2/Changelog 2006-09-07 00:14:29 UTC (rev 1249) @@ -1,6 +1,7 @@ 09/06/2006 Ian Lewis <Ian...@me...> * Updated to not use show() method since it's deprecated. + * Updated to use new XMLDocument property methods. 08/31/2006 Ian Lewis <Ian...@me...> Modified: branches/sourceview2/src/sourceview/SourceView.java =================================================================== --- branches/sourceview2/src/sourceview/SourceView.java 2006-09-07 00:12:34 UTC (rev 1248) +++ branches/sourceview2/src/sourceview/SourceView.java 2006-09-07 00:14:29 UTC (rev 1249) @@ -289,7 +289,7 @@ m_textarea.setDocument(new SourceViewDocument(m_document)); m_textarea.setTokenMarker(new XMLTokenMarker()); try { - m_textarea.getDocument().putProperty(PlainDocument.tabSizeAttribute, Integer.valueOf(document.getProperty(XMLDocument.INDENT, "4"))); + m_textarea.getDocument().putProperty(PlainDocument.tabSizeAttribute, new Integer(document.getIntegerProperty(XMLDocument.INDENT, 4))); } catch (NumberFormatException e) { Log.log(Log.WARNING, this, e.getMessage()); } @@ -314,7 +314,7 @@ public void propertyChanged(XMLDocument source, String key, String oldValue) { if (key.equals(XMLDocument.INDENT)) { try { - m_textarea.getDocument().putProperty(PlainDocument.tabSizeAttribute, Integer.valueOf(source.getProperty(XMLDocument.INDENT, "4"))); + m_textarea.getDocument().putProperty(PlainDocument.tabSizeAttribute, new Integer(source.getIntegerProperty(XMLDocument.INDENT, 4))); m_textarea.updateUI(); } catch (NumberFormatException e) { Log.log(Log.WARNING, this, e.getMessage()); @@ -355,7 +355,7 @@ //{{{ getLastIndent() private String getLastIndent() { - boolean softTabs = Boolean.valueOf(m_document.getProperty(XMLDocument.IS_USING_SOFT_TABS, "false")).booleanValue(); + boolean softTabs = m_document.getBooleanProperty(XMLDocument.IS_USING_SOFT_TABS); int tabWidth = Integer.parseInt(m_document.getProperty(XMLDocument.INDENT)); int line = m_textarea.getCaretLine(); @@ -393,7 +393,7 @@ } - boolean softTabs = Boolean.valueOf(m_document.getProperty(XMLDocument.IS_USING_SOFT_TABS, "false")).booleanValue(); + boolean softTabs = m_document.getBooleanProperty(XMLDocument.IS_USING_SOFT_TABS); if (softTabs) { try { int indent = Integer.parseInt(m_document.getProperty(XMLDocument.INDENT)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2006-09-07 00:12:41
|
Revision: 1248 http://svn.sourceforge.net/jsxe/?rev=1248&view=rev Author: ian_lewis Date: 2006-09-06 17:12:34 -0700 (Wed, 06 Sep 2006) Log Message: ----------- Updated Changelog Modified Paths: -------------- branches/jsxe2/Changelog Modified: branches/jsxe2/Changelog =================================================================== --- branches/jsxe2/Changelog 2006-09-07 00:11:17 UTC (rev 1247) +++ branches/jsxe2/Changelog 2006-09-07 00:12:34 UTC (rev 1248) @@ -3,6 +3,8 @@ * Added threading support to XMLDocument. Multi-threaded support is not complete yet however. Currently jsXe only runs in the AWT thread. * AdapterNode now uses the DOM3 renameNode() method to rename element nodes. + * Made property methods on AdapterNodes thread safe. + * Updated property methods on XMLDocuments 08/31/2006 Ian Lewis <Ian...@me...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |