You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(24) |
Feb
(13) |
Mar
(15) |
Apr
|
May
(70) |
Jun
(32) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(132) |
Dec
(79) |
2009 |
Jan
|
Feb
(209) |
Mar
(22) |
Apr
(65) |
May
(100) |
Jun
(7) |
Jul
(65) |
Aug
|
Sep
(42) |
Oct
(39) |
Nov
|
Dec
(88) |
2010 |
Jan
(48) |
Feb
(99) |
Mar
(146) |
Apr
|
May
(120) |
Jun
|
Jul
(109) |
Aug
(137) |
Sep
(53) |
Oct
(61) |
Nov
(205) |
Dec
(24) |
2011 |
Jan
(36) |
Feb
|
Mar
(9) |
Apr
(36) |
May
(12) |
Jun
|
Jul
|
Aug
(19) |
Sep
(34) |
Oct
|
Nov
(32) |
Dec
|
2012 |
Jan
(24) |
Feb
|
Mar
(17) |
Apr
(12) |
May
|
Jun
(18) |
Jul
|
Aug
(9) |
Sep
(24) |
Oct
(27) |
Nov
|
Dec
|
2013 |
Jan
(24) |
Feb
(17) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(38) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(62) |
Feb
(12) |
Mar
|
Apr
|
May
(20) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(37) |
Dec
|
2015 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Mike C. <com...@us...> - 2014-05-01 20:48:18
|
Update of /cvsroot/openjean/ojcommon/uk/co/mullsoft/ojcommon/options In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv528/uk/co/mullsoft/ojcommon/options Modified Files: OJOptionSet.java Log Message: update 01 may 2014 Index: OJOptionSet.java =================================================================== RCS file: /cvsroot/openjean/ojcommon/uk/co/mullsoft/ojcommon/options/OJOptionSet.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** OJOptionSet.java 19 Nov 2010 14:34:58 -0000 1.5 --- OJOptionSet.java 1 May 2014 20:48:16 -0000 1.6 *************** *** 52,60 **** OJOptionPath op = OJOptionPath.valueOf(pathName); String bgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "background"); ! Color bg = colourConverter.fromString(bgString); String fgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "foreground"); ! Color fg = colourConverter.fromString(fgString); String fontString = XMLUtilities.getXMLAttribute(schemeNodes[m], "font"); ! Font font = fontConverter.fromString(fontString); table.put(op, new Scheme(bg, fg, font)); --- 52,60 ---- OJOptionPath op = OJOptionPath.valueOf(pathName); String bgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "background"); ! Color bg = colourConverter.fromString(bgString, null, null); String fgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "foreground"); ! Color fg = colourConverter.fromString(fgString, null, null); String fontString = XMLUtilities.getXMLAttribute(schemeNodes[m], "font"); ! Font font = fontConverter.fromString(fontString, null, null); table.put(op, new Scheme(bg, fg, font)); *************** *** 107,115 **** OJOptionPath op = OJOptionPath.valueOf(pathName); String bgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "background"); ! Color bg = colourConverter.fromString(bgString); String fgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "foreground"); ! Color fg = colourConverter.fromString(fgString); String fontString = XMLUtilities.getXMLAttribute(schemeNodes[m], "font"); ! Font font = fontConverter.fromString(fontString); table.put(op, new Scheme(bg, fg, font)); --- 107,115 ---- OJOptionPath op = OJOptionPath.valueOf(pathName); String bgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "background"); ! Color bg = colourConverter.fromString(bgString, null, null); String fgString = XMLUtilities.getXMLAttribute(schemeNodes[m], "foreground"); ! Color fg = colourConverter.fromString(fgString, null, null); String fontString = XMLUtilities.getXMLAttribute(schemeNodes[m], "font"); ! Font font = fontConverter.fromString(fontString, null, null); table.put(op, new Scheme(bg, fg, font)); |
From: Mike C. <com...@us...> - 2014-05-01 20:48:15
|
Update of /cvsroot/openjean/ojrss/uk/co/mullsoft/RSS In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv519/uk/co/mullsoft/RSS Modified Files: OJRSSUtilities.java Log Message: update 01 may 2014 Index: OJRSSUtilities.java =================================================================== RCS file: /cvsroot/openjean/ojrss/uk/co/mullsoft/RSS/OJRSSUtilities.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** OJRSSUtilities.java 19 Feb 2014 15:21:13 -0000 1.26 --- OJRSSUtilities.java 1 May 2014 20:48:13 -0000 1.27 *************** *** 27,31 **** --- 27,34 ---- package uk.co.mullsoft.RSS; + import java.awt.AWTException; import java.awt.Color; + import java.awt.Robot; + import java.awt.event.KeyEvent; import java.net.MalformedURLException; *************** *** 818,821 **** --- 821,833 ---- lc.add(children); api.setAttributeValue(entities[n].id, new ObjectWithNameAndValueAndTags(GROUPSTATUSATTRIBUTE, Constants.STATUSALLREAD)); + try + { + Robot robot = new Robot(); + robot.keyRelease(KeyEvent.VK_F5); + } + catch (Exception e) + { + Logger.getLogger().log(e); + } } else |
From: Mike C. <com...@us...> - 2014-05-01 20:48:12
|
Update of /cvsroot/openjean/ojwebservice/WebContent/css In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv453/WebContent/css Modified Files: oj.css Log Message: update 01 may 2014 Index: oj.css =================================================================== RCS file: /cvsroot/openjean/ojwebservice/WebContent/css/oj.css,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** oj.css 19 Feb 2014 15:21:10 -0000 1.3 --- oj.css 1 May 2014 20:48:10 -0000 1.4 *************** *** 636,645 **** } ! .oj-audio-controls { width:50%; } ! .gain-controls { width:100%; --- 636,645 ---- } ! .oj-audio-controls-class { width:50%; } ! .gain-controls-class { width:100%; *************** *** 647,651 **** } ! .gain-controls-door { width:100%; --- 647,651 ---- } ! .gain-controls-door-class { width:100%; *************** *** 654,663 **** #oj-volume-control-div { ! width:100%; } #oj-volume-control { ! width:80%; } --- 654,674 ---- #oj-volume-control-div { ! width:90%; } #oj-volume-control { ! width:20em; ! } ! ! .oj-playing-panel-class ! { ! width:95%; ! margin-top:5px; ! } ! ! .oj-audio-player-class ! { ! padding-left:5px; } *************** *** 705,706 **** --- 716,892 ---- display:inline-block; } + + .oj-catalog-editor-text-class + { + font-size:2.5em; + font-weight:bold; + text-align:center; + min-height:3.5em; + } + + body + { + width:95%; + height:95%; + } + + .oj-left-class + { + width:50px; + height:700px; + } + + .oj-right-class + { + width:50px; + height:700px; + } + + .oj-center-class + { + width:50px; + height:700px; + } + + .oj-catalog-editor-class + { + min-height:500px; + min-width:800px; + height:700px; + } + + .oj-catalog-div-class + { + height:650px; + overflow:auto; + } + + #oj-open-gain-button + { + } + + .oj-editor-controls-class + { + height:0px; + } + + .oj-editor-controls-class-closed + { + height:0px; + } + + .oj-editor-controls-class-closed-1 + { + display:block; + max-height:30px; + min-height:0px; + height:0px; + } + + .oj-editor-controls-class-open + { + display:block; + max-height:30px; + min-height:0px; + height:30px; + } + + .oj-audio-playlist-div-class + { + width:65%; + border:2px solid; + border-radius:5px; + padding-left:2px; + padding-bottom:3px; + margin-left:2px; + margin-right:2px; + vertical-align: top; + } + + .oj-audio-div-class + { + width:30%; + border:2px solid; + border-radius:5px; + padding-left:2px; + padding-right:5px; + margin-left:2px; + margin-right:2px; + vertical-align: top; + } + + .oj-playlist-audio-playlist-div-class + { + padding-left:20px; + } + + .oj-playlist-buttons-class + { + margin-left:10px; + } + + .oj-playlist-ol-div-class + { + height:12em; + } + + .oj-playlist-item-div-class + { + width:auto; + } + + .oj-overflow-auto + { + overflow:auto; + } + + .oj-playing-panel-div-class + { + width:100%; + margin-top:20px; + } + + .oj-playing-class + { + text-align:left; + width:15em; + } + + .oj-normal + { + font-style:normal; + font-weight:normal; + } + + .oj-emphasized + { + font-style:italic; + font-weight:bold; + } + + .oj-finished + { + font-style:normal; + font-weight:lighter; + } + + + .oj-image-div-class + { + width: 100%; + } + + .oj-multimedia-download-div-class + { + border:1px solid; + border-radius:5px; + padding-top:2px; + padding-left:2px; + padding-right:2px; + padding-bottom:2px; + margin-left:2px; + margin-right:2px; + margin-bottom:2px; + margin-top:2px; + vertical-align: top; + } |
From: Mike C. <com...@us...> - 2014-05-01 20:48:11
|
Update of /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/components In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv453/src/uk/co/mullsoft/ojweb/components Modified Files: CategoryEditor.java CatalogDiv.java Added Files: Audio.java Playlist.java AudioSource.java AudioDiv.java AudioPlayer.java Log Message: update 01 may 2014 --- NEW FILE: AudioDiv.java --- package uk.co.mullsoft.ojweb.components; import uk.co.mullsoft.components.base.Orientation; import uk.co.mullsoft.components.html.Button; import uk.co.mullsoft.components.html.ButtonPanelDiv; import uk.co.mullsoft.components.html.ControlDescriptor; import uk.co.mullsoft.components.html.Div; import uk.co.mullsoft.components.html.Input; import uk.co.mullsoft.components.html.InputDescriptor; import uk.co.mullsoft.components.html.Span; import uk.co.mullsoft.components.html.Table; import uk.co.mullsoft.components.html.TagDescriptor; import uk.co.mullsoft.components.html.Td; import uk.co.mullsoft.components.html.Tr; public class AudioDiv extends Div { private static String getContents(String idPrefix, String url, String mimetype) { StringBuilder buff = new StringBuilder(); // ArrayList<Tag> contentTags = new ArrayList<Tag>(); // long id = 0; // if (tracklist != null) // { // int comma1 = tracklist.indexOf(','); // int plus1 = tracklist.indexOf('+'); // int which1 = tracklist.length(); // if (comma1 > 0) // { // if (plus1 > 0) // { // which1 = Math.min(comma1, plus1); // } // else // { // which1 = comma1; // } // } // else if (plus1 > 0) // { // which1 = plus1; // } // try // { // id = Long.parseLong(tracklist.substring(0, which1)); // } // catch (Exception ignored) // { // // ignored for now // } // } Audio audio = new Audio(idPrefix, url, mimetype); buff.append(audio); // contentTags.add(audio); // String id, String classname, String contents, String tooltip TagDescriptor spantag1 = new TagDescriptor("oj-progress-text", "oj-progress-text-class", "0:00:00", null); Span span1 = new Span(spantag1); TagDescriptor progresspctag = new TagDescriptor("progress-bar-percentage", "all-rounded ui-widget-header", span1.toString(), null); Div progresspc = new Div(progresspctag, " style=\"width: 0%\""); TagDescriptor progresstag = new TagDescriptor("progress-bar", "all-rounded", progresspc.toString(), null); Div progress = new Div(progresstag, " onclick=\"oj_ClickProgress(event);\""); buff.append(progress); // buff.append("<div id=\"progress-bar\" class=\"all-rounded\">"); // buff.append("<div id=\"progress-bar-percentage\" class=\"all-rounded ui-widget-header\" style=\"width: 0%\"><span>0:00:00</span></div>"); // buff.append("</div>"); TagDescriptor spantag2 = new TagDescriptor("oj-volume-text", "oj-volume-text-class", "85", null); Span span2 = new Span(spantag2); InputDescriptor vctag = new InputDescriptor("oj-volume-control", "oj-volume-control-class", null, "Adjust Volume", "range", "85", null); Input vc = new Input(vctag, " name=\"oj-volume-control\" min=\"1\" max=\"100\" onchange=\"oj_UpdateVolume();\""); TagDescriptor vcdivtag = new TagDescriptor("oj-volume-control-div", "oj-volume-control-div-class", "Volume: " + span2.toString() + vc.toString(), null); Div vcdiv = new Div(vcdivtag); buff.append(vcdiv); // buff.append("<div id=\"oj-volume-control-div\">Volume: <span id=\"oj-volume-text\">85</span>% "); // buff.append("<input type=\"range\" id=\"oj-volume-control\" name=\"oj-volume-control\" min=\"1\" max=\"100\" value=\"85\" onchange=\"oj_UpdateVolume();\"/>"); // buff.append("</div>"); ControlDescriptor pbtag = new ControlDescriptor ("oj-audio-playpause-button", "oj-button-play", null, "Play", "thePlaylist.playPause();"); Button playButton = new Button(pbtag); ControlDescriptor sbtag = new ControlDescriptor ("oj-audio-stop-button", "oj-button-stop", null, "Stop", "thePlaylist.stop();"); Button stopButton = new Button(sbtag); ControlDescriptor rbtag = new ControlDescriptor ("oj-audio-back-button", "oj-button-back", null, "Restart track", "thePlaylist.back();"); Button restartButton = new Button(rbtag); ControlDescriptor ptbtag = new ControlDescriptor ("oj-audio-prev-button", "oj-button-prev", null, "Previous track", "thePlaylist.previous();"); Button previousButton = new Button(ptbtag); ControlDescriptor ntbtag = new ControlDescriptor ("oj-audio-next-button", "oj-button-next", null, "Next track", "thePlaylist.next();"); Button nextButton = new Button(ntbtag); // ControlDescriptor lbtag = new ControlDescriptor ("oj-audio-lock-button", "oj-button-unlocked", null, "Play", "oj_LockUnlock();"); // Button lockButton = new Button(lbtag); ButtonPanelDiv bp = new ButtonPanelDiv("oj-audio-controls", Orientation.HORIZONTAL, "oj-audio-controls-class", new Button[] {playButton, stopButton, restartButton, previousButton, nextButton/*, lockButton*/}); buff.append(bp); Tr[] playingRows = new Tr[3]; InputDescriptor playingtag = new InputDescriptor("oj-playing-track", "oj-playing-class", null, "Track now playing", "text", null, null); Input playing = new Input(playingtag); Td[] playingTds = new Td[2]; playingTds[0] = Td.makeTdFrom("oj-playing-text-class", "track:"); playingTds[1] = Td.makeTdFrom("oj-playing-input-class", playing); playingRows[0] = Tr.makeRowFrom(null, "oj-playing-row-class", playingTds, null); InputDescriptor albumtag = new InputDescriptor("oj-playing-album", "oj-playing-class", null, "Album now playing", "text", null, null); Input album = new Input(albumtag); Td[] albumTds = new Td[2]; albumTds[0] = Td.makeTdFrom("oj-playing-text-class", "album:"); albumTds[1] = Td.makeTdFrom("oj-playing-input-class", album); playingRows[1] = Tr.makeRowFrom(null, "oj-playing-row-class", albumTds, null); InputDescriptor durationtag = new InputDescriptor("oj-playing-duration", "oj-playing-class", null, "Track length", "text", null, null); Input duration = new Input(durationtag); Td[] durationTds = new Td[2]; durationTds[0] = Td.makeTdFrom("oj-playing-text-class", "duration:"); durationTds[1] = Td.makeTdFrom("oj-playing-input-class", duration); playingRows[2] = Tr.makeRowFrom(null, "oj-playing-row-class", durationTds, null); // TagDescriptor playingdivtag = new TagDescriptor("oj-playing-div", "oj-playing-div-class", "playing: " + playing.toString(), null); // TagDescriptor albumdivtag = new TagDescriptor("oj-playing-album-div", "oj-playing-album-div-class", "album: " + album.toString(), null); // Div playingdiv = new Div(playingdivtag); // Div albumdiv = new Div(albumdivtag); // DivPanel playingPanel = new DivPanel("oj-playing-panel", Orientation.VERTICAL, "oj-playing-panel-class", new Div[] {playingdiv, albumdiv}); Table playingPanel = Table.makeTableFrom("oj-playing-panel", "oj-playing-panel-class", playingRows, null); TagDescriptor playingPanelTd = new TagDescriptor("oj-playing-panel-div", "oj-playing-panel-div-class oj-display-inline-block", playingPanel.toString(), null); Div playingPanelDiv = new Div(playingPanelTd); buff.append(playingPanelDiv); // buff.append("<button title=\"Play\" id=\"oj-audio-playpause-button\" type=\"button\" class=\"oj-button-play\" onclick=\"oj_PlayPause();\"/>"); // buff.append("<button title=\"Stop\" id=\"oj-audio-stop-button\" type=\"button\" class=\"oj-button-stop\" onclick=\"oj_Stop(false, 0);\"/>\n"); // buff.append("<button title=\"Restart track\" id=\"oj-audio-back-button\" type=\"button\" class=\"oj-button-back\" onclick=\"oj_Back();\"/>\n"); // buff.append("<button title=\"Previous track\" id=\"oj-audio-prev-button\" type=\"button\" class=\"oj-button-prev\" onclick=\"oj_Prev();\"/>\n"); // buff.append("<button title=\"Next track\" id=\"oj-audio-next-button\" type=\"button\" class=\"oj-button-next\" onclick=\"oj_Next();\"/>\n"); // buff.append("<button title=\"Lock\" id=\"oj-audio-lock-button\" type=\"button\" class=\"oj-button-unlocked\" onclick=\"oj_LockUnlock();\"/>\n"); TagDescriptor td = new TagDescriptor(idPrefix + "audio-container-div", idPrefix + "audio-container-div-class", buff.toString(), null); Div div = new Div(td); return div.toString(); // return toString(contentTags); } private static TagDescriptor getTagDescriptor(String idPrefix, String url, String mimetype) { TagDescriptor ret = new TagDescriptor(idPrefix + "audio-div", idPrefix + "audio-div-class", getContents(idPrefix, url, mimetype), "OPENJean audio player"); return ret; } private static String getAttributes() { StringBuilder buff = new StringBuilder(); // appendAttribute(buff, "src", url); // appendAttribute(buff, "type", mimetype == null?"audio/wav":mimetype); return buff.toString(); } public AudioDiv(String idPrefix, String url, String mimetype) { super(getTagDescriptor(idPrefix, url, mimetype == null?"audio/wav":mimetype), getAttributes()); } } --- NEW FILE: AudioPlayer.java --- package uk.co.mullsoft.ojweb.components; import java.util.ArrayList; import java.util.SortedSet; import uk.co.mullsoft.components.OJSystemInformation; import uk.co.mullsoft.components.base.Orientation; import uk.co.mullsoft.components.html.Div; import uk.co.mullsoft.components.html.DivPanel; import uk.co.mullsoft.components.html.Input; import uk.co.mullsoft.components.html.Tag; import uk.co.mullsoft.components.html.TagDescriptor; import uk.co.mullsoft.components.xml.catalog.CatalogEntity; public class AudioPlayer extends Div { private static String getContents(String idPrefix, String baseURL) { StringBuilder buff = new StringBuilder(); buff.append(baseURL); buff.append("?user="); buff.append(OJSystemInformation.getUsername()); buff.append("&catalog=multimedia&ojid=0&activity=stream"); AudioDiv ap = new AudioDiv(idPrefix, buff.toString(), "audio/wav"); // ap.prependClass("ui-layout-center"); Playlist pl = new Playlist(idPrefix, new ArrayList<CatalogEntity>()); // pl.prependClass("ui-layout-east"); ArrayList<Tag> inputs = new ArrayList<Tag>(); inputs.add(Input.getHiddenInput("oj-player-id", "oj-audio")); inputs.add(Input.getHiddenInput("oj-player-default-volume", "0.85")); inputs.add(Input.getHiddenInput("oj-player-started", "0")); inputs.add(Input.getHiddenInput("oj-player-locked", "0")); inputs.add(Input.getHiddenInput("oj-player-volume-change", "0")); inputs.add(Input.getHiddenInput("oj-gain-attribute", "detail::gain")); inputs.add(Input.getHiddenInput("oj-gain-modifiers-attribute", "detail::contentGain")); inputs.add(Input.getHiddenInput("oj-player-trackstring", "0")); inputs.add(Input.getHiddenInput("oj-player-trackno", "0")); inputs.add(Input.getHiddenInput("oj-player-notoplay", "0")); inputs.add(Input.getHiddenInput("oj-player-startp", "0")); inputs.add(Input.getHiddenInput("oj-player-show-gain", "1")); DivPanel dp = new DivPanel(idPrefix + "audio-player", Orientation.HORIZONTAL, "oj-audio-player-class", new Div[] {ap, pl}, null); dp.prependClass("oj-layout"); return Tag.toString(inputs) + dp.toString(); } private static TagDescriptor getTagDescriptor(String idPrefix, String baseURL) { TagDescriptor ret = new TagDescriptor(idPrefix + "audio-div", idPrefix + "audio-div-class", getContents(idPrefix, baseURL), "OPENJean audio player"); return ret; } private static String getAttributes() { StringBuilder buff = new StringBuilder(); // appendAttribute(buff, "src", url); // appendAttribute(buff, "type", mimetype == null?"audio/wav":mimetype); return buff.toString(); } // public static String getTracklist(SortedSet<CatalogEntity> tracks) // { // StringBuilder ret = new StringBuilder(); // if (tracks != null) // { // boolean first1 = true; // for (CatalogEntity track : tracks) // { // if (first1) // { // first1 = false; // } // else // { // ret.append(','); // } // } // } // return ret.toString(); // } public AudioPlayer(String idPrefix, SortedSet<CatalogEntity> tracks, String baseURL) { super(getTagDescriptor(idPrefix, baseURL), getAttributes()); } } --- NEW FILE: AudioSource.java --- package uk.co.mullsoft.ojweb.components; import uk.co.mullsoft.components.html.Tag; import uk.co.mullsoft.components.html.TagDescriptor; public class AudioSource extends Tag { private static TagDescriptor getTagDescriptor(String id) { TagDescriptor ret = new TagDescriptor(id, null, (String)null, null); return ret; } private static String getAttributes(String url, String mimetype) { StringBuilder buff = new StringBuilder(); appendAttribute(buff, "src", url); appendAttribute(buff, "type", mimetype == null?"audio/wav":mimetype); return buff.toString(); } public AudioSource(String id, String url, String mimetype) { super("source", getTagDescriptor(id), getAttributes(url, mimetype)); } } Index: CatalogDiv.java =================================================================== RCS file: /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/components/CatalogDiv.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CatalogDiv.java 19 Feb 2014 15:21:09 -0000 1.1 --- CatalogDiv.java 1 May 2014 20:48:09 -0000 1.2 *************** *** 13,17 **** { Filter<CatalogEntity> filter = catalog.getFilter(); ! String id = "oj-" + catalog.getCatalog() + catalog.getIndex() + (filter == null?"":filter.getName()); TagDescriptor ret = new TagDescriptor(id, "oj-catalog-div-class", catalog.getRootPath().toHTMLList(draggable, selectable), null); return ret; --- 13,17 ---- { Filter<CatalogEntity> filter = catalog.getFilter(); ! String id = "oj-" + catalog.getCatalog() + '-' + catalog.getIndex() + (filter == null?"":('-' + filter.getName())) + "-catalog-div"; TagDescriptor ret = new TagDescriptor(id, "oj-catalog-div-class", catalog.getRootPath().toHTMLList(draggable, selectable), null); return ret; --- NEW FILE: Audio.java --- package uk.co.mullsoft.ojweb.components; import uk.co.mullsoft.components.html.Tag; import uk.co.mullsoft.components.html.TagDescriptor; public class Audio extends Tag { private static TagDescriptor getTagDescriptor(String idPrefix, String url, String mimetype) { // AudioSource as = new AudioSource(idPrefix + "audio-source", url, mimetype); // TagDescriptor ret = new TagDescriptor(idPrefix + "audio", idPrefix + "audio-class", as.toString(), null); TagDescriptor ret = new TagDescriptor(idPrefix + "audio", idPrefix + "audio-class", (String)null, null); return ret; } private static String getAttributes(String url) { StringBuilder buff = new StringBuilder(); appendAttribute(buff, "preload", "none"); appendAttribute(buff, "tabindex", "0"); appendAttribute(buff, "src", url); return buff.toString(); } public Audio(String idPrefix, String url, String mimetype) { super("audio", getTagDescriptor(idPrefix, url, mimetype), getAttributes(url)); } } Index: CategoryEditor.java =================================================================== RCS file: /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/components/CategoryEditor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CategoryEditor.java 19 Feb 2014 15:21:09 -0000 1.1 --- CategoryEditor.java 1 May 2014 20:48:09 -0000 1.2 *************** *** 8,11 **** --- 8,12 ---- import uk.co.mullsoft.components.html.DivPanel; import uk.co.mullsoft.components.html.OKCancelDiv; + import uk.co.mullsoft.components.html.Tag; import uk.co.mullsoft.components.html.TagDescriptor; import uk.co.mullsoft.components.xml.catalog.CatalogEntity; *************** *** 18,36 **** { String name = catalog.getCatalog() + '-' + catalog.getIndex(); ! String id = "oj-editor-" + name + "-div"; ! String classname = "oj-editor-catalog-div-class"; ! CatalogDiv catdiv = new CatalogDiv(catalog.copy(CatalogEntity.getTypeFilter(EntityType.CATEGORY)), false, true); ! NamedString[] ns = new NamedString[4]; ! ns[0] = new NamedString("new", "oj_NewCategory()"); ns[0].setProperty("tooltip", "Create a new category"); ! ns[1] = new NamedString("del", "oj_DeleteCategory()"); ns[1].setProperty("tooltip", "Delete a category"); ! ns[2] = new NamedString("ren", "oj_RenameCategory()"); ns[2].setProperty("tooltip", "Rename a category"); ! ButtonPanelDiv bpd = new ButtonPanelDiv(name, Orientation.VERTICAL, "oj-button-panel-class", ns); ! DivPanel dp = new DivPanel(name, Orientation.HORIZONTAL, "oj-div-panel-class", new Div[] {catdiv, bpd}); ! OKCancelDiv okcd = new OKCancelDiv(name, Orientation.HORIZONTAL, "oj_SaveCategoryChanges()", "oj_CancelCategoryEdit()"); ! DivPanel dp1 = new DivPanel(name, Orientation.VERTICAL, "oj-div-panel-class", new Div[] {dp, okcd}); ! TagDescriptor ret = new TagDescriptor(id, classname, dp1.toString(), null); return ret; } --- 19,51 ---- { String name = catalog.getCatalog() + '-' + catalog.getIndex(); ! String id = "oj-catalog-editor"; ! String classname = "oj-catalog-editor-class"; ! TagDescriptor ret = new TagDescriptor(id, classname, Tag.toString(getDivs(catalog)), null); ! return ret; ! } ! ! protected static Div[] getDivs(CatalogIndex catalog) ! { ! Div[] ret = new Div[4]; ! TagDescriptor td0 = new TagDescriptor("oj-catalog-editor-text", "oj-catalog-editor-text-class", "OJ Catalog Editor", null); ! ret[0] = new Div(td0); ! ret[0].prependClass("ui-layout-north"); ! ret[0].appendClass("ui-widget-header"); ! ret[1] = new CatalogDiv(catalog.copy(CatalogEntity.getTypeFilter(EntityType.CATEGORY)), false, true); ! ret[1].prependClass("ui-layout-center"); ! ret[1].appendClass("ui-widget-content"); ! NamedString[] ns = new NamedString[3]; ! ns[0] = new NamedString("create", "oj_NewCategory()"); ns[0].setProperty("tooltip", "Create a new category"); ! ns[1] = new NamedString("delete", "oj_DeleteCategory()"); ns[1].setProperty("tooltip", "Delete a category"); ! ns[2] = new NamedString("rename", "oj_RenameCategory()"); ns[2].setProperty("tooltip", "Rename a category"); ! ret[2] = new ButtonPanelDiv("oj-catalog-editor-buttons", Orientation.VERTICAL, "oj-button-panel-class", ns); ! ret[2].prependClass("ui-layout-east"); ! ret[2].appendClass("ui-widget-content"); ! ret[3] = new OKCancelDiv("oj-catalog-editor-ok", Orientation.HORIZONTAL, "oj_SaveCategoryChanges()", "oj_CancelCategoryEdit()"); ! ret[3].prependClass("ui-layout-south"); ! ret[3].appendClass("ui-widget-content"); return ret; } *************** *** 39,42 **** --- 54,58 ---- { super(getDescriptor(catalog)); + appendClass("ui-widget"); } --- NEW FILE: Playlist.java --- package uk.co.mullsoft.ojweb.components; import java.util.ArrayList; import java.util.List; import uk.co.mullsoft.components.base.Listable; import uk.co.mullsoft.components.base.NamedString; import uk.co.mullsoft.components.base.Orientation; import uk.co.mullsoft.components.html.Button; import uk.co.mullsoft.components.html.ButtonPanelDiv; import uk.co.mullsoft.components.html.Div; import uk.co.mullsoft.components.html.OrderedList; import uk.co.mullsoft.components.html.Tag; import uk.co.mullsoft.components.html.TagDescriptor; import uk.co.mullsoft.components.xml.catalog.CatalogEntity; public class Playlist extends Div { private static TagDescriptor getTagDescriptor(String idPrefix, List<CatalogEntity> tracks) { TagDescriptor ret = new TagDescriptor(idPrefix + "audio-playlist-div", idPrefix + "audio-playlist-div-class", getContents(idPrefix + "playlist-", tracks), "OPENJean audio playlist"); return ret; } private static String getContents(final String idPrefix, List<CatalogEntity> tracks) { ArrayList<Listable> items = new ArrayList<Listable>(); if (tracks != null) { for (final CatalogEntity ent : tracks) { items.add(new PlaylistItem(ent)); } } OrderedList ol = OrderedList.getList(idPrefix, items, true, false); // TagDescriptor oldivd = new TagDescriptor(ol.getId() + "-div", "oj-overflow-auto", ol.toString(), null); TagDescriptor oldivd = new TagDescriptor(ol.getId() + "-div", null, ol.toString(), null); Div oldiv = new Div(oldivd); NamedString ns1 = new NamedString("Play", "thePlaylist.start()"); Button playButton = new Button(ns1, Tag.getAttribute("disabled", "disabled")); NamedString ns2 = new NamedString("Save", "thePlaylist.save()"); Button saveButton = new Button(ns2, Tag.getAttribute("disabled", "disabled")); NamedString ns3 = new NamedString("Clear", "thePlaylist.clear()"); Button clearButton = new Button(ns3, Tag.getAttribute("disabled", "disabled")); NamedString ns4 = new NamedString("Download", "thePlaylist.openDownload()"); Button downloadButton = new Button(ns4, Tag.getAttribute("disabled", "disabled")); ButtonPanelDiv buttons = new ButtonPanelDiv("oj-playlist-buttons", Orientation.HORIZONTAL, "oj-playlist-buttons-class", new Button[] {playButton, saveButton, clearButton, downloadButton}, null); return Tag.toString(new Tag[] {oldiv, buttons}); } private static String getAttributes() { StringBuilder buff = new StringBuilder(); // appendAttribute(buff, "src", url); // appendAttribute(buff, "type", mimetype == null?"audio/wav":mimetype); return buff.toString(); } private static class PlaylistItem implements Listable { private CatalogEntity ent = null; public PlaylistItem(CatalogEntity ent) { this.ent = ent; } @Override public String getName() { return ent.getPathname(); } @Override public String getValue() { return ent.getName(); } @Override public String getId(String prefix) { return prefix + ent.getId("playlist-item-"); } } public Playlist(String idPrefix, List<CatalogEntity> tracks) { super(getTagDescriptor(idPrefix, tracks), getAttributes()); } } |
From: Mike C. <com...@us...> - 2014-05-01 20:48:10
|
Update of /cvsroot/openjean/ojwebservice/WebContent/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv453/WebContent/scripts Modified Files: openjean.js Added Files: ojaudio.js jquery.colorbox.js ojbase.js ojadmin.js Removed Files: ojcatedit.js Log Message: update 01 may 2014 --- ojcatedit.js DELETED --- --- NEW FILE: jquery.colorbox.js --- /*! Colorbox v1.5.8 - 2014-04-15 jQuery lightbox and modal window plugin (c) 2014 Jack Moore - http://www.jacklmoore.com/colorbox license: http://www.opensource.org/licenses/mit-license.php */ (function ($, document, window) { var // Default settings object. // See http://jacklmoore.com/colorbox for details. defaults = { // data sources html: false, photo: false, iframe: false, inline: false, // behavior and appearance transition: "elastic", [...1050 lines suppressed...] $box.stop().remove(); $overlay.remove(); closing = false; $box = null; $('.' + boxElement) .removeData(colorbox) .removeClass(boxElement); $(document).unbind('click.'+prefix); }; // A method for fetching the current element Colorbox is referencing. // returns a jQuery object. publicMethod.element = function () { return $(settings.el); }; publicMethod.settings = defaults; }(jQuery, document, window)); --- NEW FILE: ojbase.js --- function oj_ElementWithId(id) { return id.charAt(0) == '#'?$(id):$('#' + id); } function oj_ElementsWithClass(cl) { return cl.charAt(0) == '.'?$(cl):$('.' + cl); } function oj_ElementExists(element) { var el = element; if (typeof element == 'string') { el = oj_ElementWithId(element); } return (el != null) && (el.length > 0) && (el[0] != null); } function oj_DOMElementWithId(id) { return oj_ElementWithId(id)[0]; } function oj_GetValue(element) { var el = element; if (typeof element == 'string') { el = oj_ElementWithId(element); } return el.val(); } function oj_GetNumericValue(element, def) { var el = element; if (typeof element == 'string') { el = oj_ElementWithId(element); } var v = el.val(); var ret = def; if ((v != null) && !isNaN(v)) { ret = Number(v); } return ret; } function oj_SetValue(element, val) { var el = element; if (typeof element == 'string') { el = oj_ElementWithId(element); } el.attr('value', val); } function oj_GetId(element) { return element.attr('id'); } function oj_ChangeClass(element, from, to) { var el = element; if (typeof element == 'string') { el = oj_ElementWithId(element); } el.removeClass(from).addClass(to); } function oj_ParentElement(el) { var parent = null; if ((el != null) && (el.length > 0)) { var pid = el[0].parentNode.getAttribute('id'); if (pid != null) { parent = oj_ElementWithId(pid); } } return parent; } function oj_ParentId(id) { var el = oj_ElementWithId(id); var pid = ""; if ((el != null) && (el.length > 0)) { pid = el[0].parentNode.getAttribute('id'); } return pid; } Index: openjean.js =================================================================== RCS file: /cvsroot/openjean/ojwebservice/WebContent/scripts/openjean.js,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** openjean.js 19 Feb 2014 15:21:10 -0000 1.3 --- openjean.js 1 May 2014 20:48:08 -0000 1.4 *************** *** 1,269 **** ! var current_duration = 0; ! var current_playerid = ''; ! var current_track = 0; ! var current_trackString = ''; ! function oj_playTracks() { ! var playerid = $('#oj-player-id').val(); ! var trackString = $('#oj-player-trackstring').val(); ! var startAt = parseInt($('#oj-player-trackno').val()); [...1280 lines suppressed...] + var current = el.css("height"); + var h = innerLayout.readState().north.size; + // alert(h); + if (current != null && current == '0px') + { + // el.css("height", "30px"); + el.animate({height:30},200);//.attr('class', 'oj-editor-controls-class-open'); + button.text('Hide Edit Controls'); + innerLayout.sizePane('north', h + 40); + } + else + { + // el.css("height", "0px"); + el.animate({height:0},200);//.attr('class', 'oj-editor-controls-class-closed'); + button.text('Show Edit Controls'); + innerLayout.sizePane('north', h - 40); + } + } + } \ No newline at end of file --- NEW FILE: ojaudio.js --- var current_duration = 0; //var current_playerid = ''; var current_track = 0; var current_trackString = ''; var currentTrack = {}; var thePlaylist = new OJ_Playlist(); initFunctions['multimedia'] = function () { $('#oj-multimedia-download-dialog').dialog({ autoOpen: false, minWidth: 400 }); }; checkboxFunctions['multimedia'] = function (el, id, path, param) { if (path == 'download-folder') { oj_ElementWithId('oj-multimedia-download-dialog-foldername').prop('disabled', !el.is(':checked')); } else { if (el.is(':checked')) { var pl = oj_ElementWithId('oj-playlist-ol'); var plid = id + '-pl'; if (oj_ElementWithId(plid).length == 0) { var divid = plid + "-div"; var div = '<div class="oj-playlist-item-div-class" id="' + divid + '">\n' + oj_GetPathnameFromPath(path); if (param.length > 0) { var params = param.split(';'); for (var i = 0; i < params.length; i++) { var p = params[i].split('='); div = div + '\n<input type="hidden" id="' + plid + '-' + p[0] + '" value="' + p[1] + '"/>'; } } div = div + '\n<input type="hidden" id="' + plid + '-path" value="' + path + '"/>'; div = div + '\n</div>\n'; pl.append('<li id="' + plid + '"' + oj_GetListDraggableAttributes() + '>' + div + '</li>'); } } else { oj_ElementWithId(id + '-pl').remove(); } thePlaylist.check(); } // innerLayout.resizeContent('south'); }; function oj_PlayPlaylist1() { oj_ElementWithId('#oj-player-trackstring').attr('value', '0'); oj_ElementWithId('#oj-player-trackno').attr('value', '0'); var ol = oj_GetPlaylistElement(); var ch = ol.children('li'); var len = ch.length.toString(); oj_ElementWithId('#oj-player-notoplay').attr('value', len); ch.each(function(){ var id = $(this).attr('id'); var st = oj_ElementWithId('#oj-player-trackstring').val(); if ((st == null) || (st == '0')) { st = ''; } if (st.length > 0) { st = st + ','; } var path = oj_ElementWithId(id + '-path').val(); var comma = path.indexOf(','); var ojid = comma < 0?path:path.substring(0, comma); st = st + ojid + '+' + oj_ElementWithId(id + '-duration').val() + '+' + oj_ElementWithId(id + '-volume').val(); oj_ElementWithId('#oj-player-trackstring').attr('value', st); }); oj_playTracks(); } function oj_playTracks() { // var playerid = $('#oj-audio').val(); var trackString = oj_ElementWithId('#oj-player-trackstring').val(); var startAt = parseInt(oj_ElementWithId('#oj-player-trackno').val()); // window.console && console.log("oj_playTracks id " + playerid + " tracks " + trackString + " start at " + startAt); // current_playerid = playerid; current_trackString = trackString; var player = oj_GetPlayer(); if (player != null) { // window.console && console.log("oj_playTracks got player"); var tracks = trackString.split(','); var len = parseInt($('#oj-player-notoplay').val()); if ((len > 0) && (startAt >= 0) && (startAt < len)) { var button = oj_ElementWithId('#oj-audio-playpause-button'); button.attr('class', 'oj-button-pause'); button.attr('title', 'Pause'); // window.console && console.log("oj_playTracks about to start"); oj_ElementWithId('#oj-player-started').attr('value', '1'); var trackdetails = tracks[startAt].split('+'); var ojid = trackdetails[0]; var duration = trackdetails[1]; var trackv = trackdetails.length > 2?trackdetails[2]:null; // $('#oj-volume-control').val(vol * 100.0); // alert(ojid + " " + duration); current_duration = parseInt(duration) / 1000; var mins2 = Math.floor(current_duration/60,10); var secs2 = Math.round(current_duration - mins2*60); var txt2 = (mins2 < 10?"0":"") + mins2.toString() + ":" + (secs2 < 10?"0":"") + secs2.toString(); // oj_ElementWithId('#oj-playing-duration > span').text(txt2); oj_ElementWithId('#oj-playing-duration').attr('value', txt2); // alert(ojid + " " + current_duration); var url = oj_GetBaseURL() + '&ojid=' + ojid +'&activity=stream'; // if (tracks.length > 1) // { // url = url + '&preload=' + tracks[1]; // } current_track = startAt; oj_GetPlayerSourceElement().attr('src', url); var trackname = $('#oj-a-' + ojid).text().trim(); oj_ElementWithId('#oj-playing-track').attr('value', trackname); var path = oj_ElementWithId('oj-catalog-' + ojid + '-checkbox-pl-path').val(); var ids = path.split(','); if (ids.length > 1) { var album = $('#oj-a-' + ids[1]).text().trim(); oj_ElementWithId('#oj-playing-album').attr('value', album); } player.addEventListener('timeupdate', function(e) { // window.console && console.log("current_duration " + current_duration); if (current_duration > 0) { var player = oj_GetPlayer(); if ((player != null) && !player.ended) { // window.console && console.log("player.ended " + player.ended); var togo = parseInt(player.currentTime, 10); var pos = (player.currentTime / current_duration) * 100; var mins = Math.floor(togo/60,10); if (mins > 1000) { oj_NextTrack('time'); } else { var secs = Math.round(togo - mins*60); var txt = (mins < 10?"0":"") + mins.toString() + ":" + (secs < 10?"0":"") + secs.toString(); // window.console && console.log("txt " + txt); oj_ElementWithId('#progress-bar-percentage').css("width",pos.toString() + "%"); oj_ElementWithId('#progress-bar-percentage > span').text(txt); } } } }); // window.console && console.log("calling load " + url); player.load(); oj_SetVolume(trackv); // window.console && console.log("calling play " + url); // player.volume = vol; // alert('calling play'); player.play(); // window.console && console.log("playing " + player.currentTime); // window.console && console.log("ended " + player.ended); if (tracks.length > 1) { player.addEventListener('ended', function(e) { oj_NextTrack('at end'); }); } } } return false; } function oj_NextTrack(f) { // alert('ended ' + f); var clog = oj_GetCatalog(); var uname = $('#username').val(); // var playerid = $('#oj-audio').val(); var trackString = $('#oj-player-trackstring').val(); var tracks = trackString.split(','); var next1 = current_track + 1; var len = parseInt($('#oj-player-notoplay').val()); var player = oj_GetPlayer(); if (tracks[next1] != null) { var trackdetails1 = tracks[next1].split('+'); var track1 = trackdetails1[0]; var duration1 = trackdetails1[1]; var trackv1 = trackdetails1.length > 2?trackdetails1[2]:null; oj_SetVolume(trackv1); current_duration = parseInt(duration1) / 1000; var url1 = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + track1 +'&activity=stream'; var trackname1 = $('#oj-a-' + track1).text().trim(); current_track = next1; next1++; if (next1 < len) { url1 = url1 + '&preloadojid=' + tracks[next1]; } if (next1 <= len) { oj_GetPlayerSourceElement().attr('src', url1); oj_ElementWithId('#oj-playing-track').attr('value', trackname1); var mins1 = Math.floor(current_duration/60,10); var secs1 = Math.round(current_duration - mins1*60); var txt1 = (mins1 < 10?"0":"") + mins1.toString() + ":" + (secs1 < 10?"0":"") + secs1.toString(); oj_ElementWithId('#oj-playing-duration').attr('value', txt1); var path = oj_ElementWithId('oj-catalog-' + track1 + '-checkbox-pl-path').val(); var ids = path.split(','); if (ids.length > 1) { var album = $('#oj-a-' + ids[1]).text().trim(); oj_ElementWithId('#oj-playing-album').attr('value', album); } // window.console && console.log("calling load " + url1); player.load(); // player.volume = vol1; player.play(); } else { oj_Stop(); } } } function oj_DoStart() { oj_PlayPlaylist(); // oj_playTracks(); // var button = $('#oj-audio-playpause-button'); // button.attr('class', 'oj-button-pause'); // button.attr('title', 'Pause'); } function oj_StartPlay() { // var playerid = $('#oj-audio').val(); var player = oj_GetPlayer(); player.currentTime = 0; player.play(); // window.console && console.log("player.currentTime " + player.currentTime); } function oj_IsLocked() { var l = $('#oj-player-locked'); return l != null && l.val() == '1'; } function oj_IsUnlocked() { // alert('1a'); var l = $('#oj-player-locked'); // alert(l); // if (l != null) alert(l.val()); return l == null || l.val() == null || l.val() == '0'; } function oj_LockUnlock() { var locked = $('#oj-player-locked').val(); var button = $('#oj-audio-lock-button'); if (locked == '0') { $('#oj-player-locked').attr('value', '1'); var last = $('#lastSelection').val(); $('#lockedSelection').attr('value', last); button.attr('class', 'oj-button-locked'); } else { $('#oj-player-locked').attr('value', '0'); button.attr('class', 'oj-button-unlocked'); var lockedSel = $('#lockedSelection').val(); var lastSel = $('#lastSelection').val(); if (lastSel != lockedSel) { var lasthd = $('#lastHasData').val(); if (lasthd == '1') { var newSelection = new OJ_Path(lastSel); oj_LoadNext("multimedia", newSelection); } } } } function oj_SetGainButtonVisibility(vis) { if (vis) { $('#oj-open-gain-button').removeAttr('disabled'); } else { $('#oj-open-gain-button').attr('disabled', 'disabled'); } } function oj_ToggleGainVisibility() { var txt = $('#oj-open-gain-text').text(); if ('Show' == txt) { $('#gain-controls').css('display', 'block'); $('#oj-open-gain-text').text('Hide'); } else { $('#gain-controls').css('display', 'none'); $('#oj-open-gain-text').text('Show'); } } function oj_GetPlayer() { var player = oj_ElementWithId('oj-audio'); return player[0]; } function oj_GetPlayerSourceElement() { var src = oj_ElementWithId("oj-audio-source"); return src; } function oj_UpdateVolume() { var volpc = oj_ElementWithId('oj-volume-control').val(); var vol = volpc / 100.0; var player = oj_GetPlayer(); player.volume = vol; oj_ElementWithId('oj-volume-text').text(volpc); } function oj_UpdateGain() { // var gn = $('#oj-player-gain').val() / 100.0; // $('#oj-hidden-gain-1').text(gn.toString()); } function oj_UpdateGainModifiers() { // var gm = $('#oj-player-gain-modifier').val(); // var hg = $('#oj-hidden-gain-2').text(); // $('#oj-hidden-gain-2').text(gm.toString()); } function oj_SetGain() { var lastpath = $('#lastSelection').val(); // var gnatt = $('#oj-gain-attribute').val(); var gnval = $('#oj-player-gain').val(); // var gmatt = $('#oj-gain-modifiers-attribute').val(); var gmval = $('#oj-player-gain-modifier').val(); var url = oj_GetBaseURL() + '&selected=' + lastpath + '&activity=setgain' + '&gain=' + gnval + '&mod=' + gmval; $('#oj-result').load(url, function() { }); } function oj_SetVolume(trackv) { // alert(trackv); // var playerid = $('#oj-audio').val(); var player = oj_GetPlayer(); var vol_from_volume_control = oj_GetValue('#oj-volume-control'); var vol_default = Number(oj_GetValue('#oj-player-default-volume').val()); var trackpc = 1.0; if (trackv != null) { trackpc = Number(trackv) / vol_default; } var newvol = Math.floor(vol_from_volume_control * trackpc); var vol = newvol / 100.0; player.volume = vol; oj_ElementWithId('#oj-volume-control').val(newvol); // alert(vol + " " + newvol); } function oj_GetPlaylistElement() { return oj_ElementWithId('oj-playlist-ol'); } function oj_GetPlaylistListItemWithOjid(ojid) { return oj_ElementWithId('oj-catalog-' + ojid + '-checkbox-pl'); } function oj_GetPlaylistListItemDivWithOjid(ojid) { return oj_ElementWithId('oj-catalog-' + ojid + '-checkbox-pl-div'); } function oj_GetPlaylistTrackDuration(ojid) { return oj_GetValue('oj-catalog-' + ojid + '-checkbox-pl-duration'); } function oj_GetPlaylistTrackVolume(ojid) { return oj_GetValue('oj-catalog-' + ojid + '-checkbox-pl-volume'); } function oj_GetPlaylistTrackPath(ojid) { return oj_GetValue('oj-catalog-' + ojid + '-checkbox-pl-path'); } function oj_GetPlaylistNextTrackElement(ojid) { var li = oj_GetPlaylistListItemWithOjid(ojid); var ret = oj_ElementExists(li)?$(li.next()):null; return ret; } function oj_GetOjidFromPlaylistTrackElement(li) { var ret = null; // window.console && console.log("oj_GetOjidFromPlaylistTrackElement " + li + ", " + li[0]); // if (li != null) if (oj_ElementExists(li)) { var id = oj_GetId(li); window.console && console.log("oj_GetOjidFromPlaylistTrackElement id " + id); var ids = id.split('-'); if (ids.length > 2) { ret = ids[2]; } } return ret; } function oj_GetPlaylistNextOjid(ojid) { return oj_GetOjidFromPlaylistTrackElement(oj_GetPlaylistNextTrackElement(ojid)); } function oj_GetPlaylistPreviousTrackElement(ojid) { var li = oj_GetPlaylistListItemWithOjid(ojid); var ret = oj_ElementExists(li)?$(li.prev()):null; return ret; } function oj_GetPlaylistPreviousOjid(ojid) { return oj_GetOjidFromPlaylistTrackElement(oj_GetPlaylistPreviousTrackElement(ojid)); } function oj_GetPlaylistFirstTrackElement() { var ol = oj_GetPlaylistElement().children('li'); // window.console && console.log("oj_GetPlaylistFirstTrackElement " + ol.length); return $(ol[0]); } function oj_GetPlaylistLastTrackElement() { var ol = oj_GetPlaylistElement().children('li'); return $(ol[ol.length - 1]); } function oj_GetPlaylistFirstTrackOjid() { return oj_GetOjidFromPlaylistTrackElement(oj_GetPlaylistFirstTrackElement()); } function oj_GetPlaylistLastTrackOjid() { return oj_GetOjidFromPlaylistTrackElement(oj_GetPlaylistLastTrackElement()); } function oj_GetFirstTrack() { var ojid1 = oj_GetPlaylistFirstTrackOjid(); // window.console && console.log("first track id " + ojid1); return ojid1 == null?null:(new OJ_Track(ojid1)); } function oj_GetLastTrack() { var ojid1 = oj_GetPlaylistLastTrackOjid(); return ojid1 == null?null:(new OJ_Track(ojid1)); } function oj_ClickProgress(e) { // var pb = oj_ElementWithId('#progress-bar'); // var offset = pb.offset(); // var w = pb.width(); // var pos1 = e.clientX - offset.left; // var togo = thePlaylist.currentTrack.duration / 1000; // var secs1 = Math.floor(pos1*togo/w); // var pos = (secs1 / togo) * 100; // var mins1 = Math.floor(secs1/60); // var hrs = Math.floor(mins1/60); // var mins = mins1 - hrs * 60; // var secs = Math.round(secs1 - mins1 * 60); // var txt = (hrs > 0?(hrs.toString() + ':'):"") + (mins < 10?"0":"") + mins.toString() + ":" + (secs < 10?"0":"") + secs.toString(); // window.console && console.log(txt + ' ' + secs1); // oj_ElementWithId('#progress-bar-percentage').css("width",pos.toString() + "%"); // oj_ElementWithId('#progress-bar-percentage > span').text(txt); //// oj_GetPlayer().pause(); // window.console && console.log('paused'); // oj_GetPlayer().currentTime = secs1; // window.console && console.log('starting'); //// oj_GetPlayer().play(); // window.console && console.log('started'); } function OJ_Track(trackojid) { this.ojid = trackojid; this.duration = oj_GetPlaylistTrackDuration(trackojid); this.volume = oj_GetPlaylistTrackVolume(trackojid); this.path = oj_GetPlaylistTrackPath(trackojid); this.pathname = oj_GetPathnameFromPath(this.path); this.pathelements = this.pathname.split('/'); // window.console && console.log("contructed track id " + this.ojid + " from " + trackojid); this.url = oj_GetBaseURL() + '&ojid=' + this.ojid +'&activity=stream'; this.trackname = this.pathelements[this.pathelements.length - 1]; this.album = this.pathelements.length <= 1?'':this.pathelements[this.pathelements.length - 2]; this.div = oj_ElementWithId('oj-catalog-' + this.ojid + '-checkbox-pl-div'); this.exists = function() { var el = oj_GetPlaylistListItemWithOjid(this.ojid); return oj_ElementExists(el); }; this.isFirst = function() { return !oj_ElementExists(oj_GetPlaylistPreviousTrackElement(this.ojid)); }; this.isLast = function() { return !oj_ElementExists(oj_GetPlaylistNextTrackElement(this.ojid)); }; this.next1 = function() { var ntr = oj_GetPlaylistNextOjid(this.ojid); return ntr == null?null:(new OJ_Track(ntr)); }; this.previous1 = function() { var ptr = oj_GetPlaylistPreviousOjid(this.ojid); return ptr == null?null:(new OJ_Track(ptr)); }; this.display = function() { var secs = this.duration / 1000; oj_SetValue('oj-playing-track', this.trackname); var mins1 = Math.floor(secs/60,10); var secs1 = Math.round(secs - mins1*60); var txt1 = (mins1 < 10?"0":"") + mins1.toString() + ":" + (secs1 < 10?"0":"") + secs1.toString(); oj_SetValue('oj-playing-duration', txt1); oj_SetValue('oj-playing-album', this.album); }; this.clearDisplay = function() { oj_SetValue('oj-playing-duration', ''); oj_SetValue('oj-playing-album', ''); }; this.isempty = function() { return this.ojid == null; }; this.playing = function() { if (oj_ElementExists(this.div)) { this.div.css("font-style", "italic"); this.div.css("font-weight", "bold"); } }; this.normal = function() { if (oj_ElementExists(this.div)) { this.div.css("font-style", "normal"); this.div.css("font-weight", "normal"); } }; this.played = function() { if (oj_ElementExists(this.div)) { this.div.css("font-style", "normal"); this.div.css("font-weight", "lighter"); } }; } function OJ_Playlist() { this.source = null; this.currentTrack = null; this.playagain = false; this.player = null; this.getSource = function() { if (this.source == null) { this.source = oj_GetPlayerSourceElement(); } return this.source; }; this.size = function() { return oj_GetPlaylistElement().children('li').length; }; this.setSource = function(val) { $(this.getPlayer()).attr('src', val); }; this.getPlayer = function() { if (this.player == null) { this.player = oj_GetPlayer(); if (this.player != null) { this.player.addEventListener('timeupdate', function(e) { if (thePlaylist.currentTrack.duration > 0) { if (thePlaylist.getPlayer().ended) { oj_SetValue('oj-player-started', '0'); oj_ElementWithId('#progress-bar-percentage').css("width","0%"); oj_ElementWithId('#progress-bar-percentage > span').text("0:00:00"); thePlaylist.currentTrack.played(); var islast = thePlaylist.currentTrack.isLast(); // window.console && console.log("player ended"); if (thePlaylist.next1()) { if (!islast) { thePlaylist.play(); } } } else { // window.console && console.log("player.ended " + player.ended); var secs1 = parseInt(thePlaylist.getPlayer().currentTime, 10); var togo = thePlaylist.currentTrack.duration / 1000; var pos = (secs1 / togo) * 100; var mins1 = Math.floor(secs1/60); var hrs = Math.floor(mins1/60); var mins = mins1 - hrs * 60; var secs = Math.round(secs1 - mins1 * 60); // window.console && console.log("mins " + mins); if (mins1 > 1000) { oj_SetValue('oj-player-started', '0'); oj_ElementWithId('#progress-bar-percentage').css("width","0%"); oj_ElementWithId('#progress-bar-percentage > span').text("0:00:00"); thePlaylist.currentTrack.played(); var islast = thePlaylist.currentTrack.isLast(); // window.console && console.log("player ended"); if (thePlaylist.next1()) { if (!islast) { thePlaylist.play(); } } } else { var txt = (hrs > 0?(hrs.toString() + ':'):"") + (mins < 10?"0":"") + mins.toString() + ":" + (secs < 10?"0":"") + secs.toString(); // window.console && console.log("txt " + txt); oj_ElementWithId('#progress-bar-percentage').css("width",pos.toString() + "%"); oj_ElementWithId('#progress-bar-percentage > span').text(txt); } } } }); } } return this.player; }; this.restart = function() { this.currentTrack = oj_GetFirstTrack(); }; this.next1 = function() { this.currentTrack = ((this.currentTrack == null) || !this.currentTrack.exists())?oj_GetFirstTrack():this.currentTrack.next1(); return currentTrack != null; }; this.previous1 = function() { this.currentTrack = ((this.currentTrack == null) || !this.currentTrack.exists())?oj_GetLastTrack():this.currentTrack.previous1(); return currentTrack != null; }; this.isEmpty = function() { return currentTrack == null; }; this.isFirstTrack = function() { return currentTrack != null && currentTrack.previous1() == null; }; this.isLastTrack = function() { return currentTrack != null && currentTrack.next1() == null; }; this.play = function() { if (this.currentTrack == null) { this.restart(); } if ((this.currentTrack != null) && !this.currentTrack.isempty()) { oj_ChangeClass('oj-audio-playpause-button', 'oj-button-play', 'oj-button-pause'); oj_SetValue('oj-player-started', '1'); var vol_from_volume_control = oj_GetValue('#oj-volume-control'); var vol_default = Number(oj_GetValue('#oj-player-default-volume')); var trackpc = 1.0; if (this.currentTrack.volume != null) { trackpc = Number(this.currentTrack.volume) / vol_default; } var newvol = Math.floor(vol_from_volume_control * trackpc); var vol = newvol / 100.0; this.getPlayer().volume = vol; oj_SetValue('oj-volume-control',newvol); this.currentTrack.display(); this.currentTrack.playing(); this.setSource(this.currentTrack.url); // this.getSource().attr('src', this.currentTrack.url); // window.console && console.log("set src " + this.getSource() + " to " + this.getSource().attr('src') + ' from ' + this.currentTrack.url); // this.getPlayer().currentTime = 0; this.getPlayer().load(); this.getPlayer().play(); } }; this.stop = function() { var url = oj_GetBaseURL() + '&activity=clearaudio'; oj_RunOnServer(url, function() { oj_ChangeClass('oj-audio-playpause-button', 'oj-button-pause', 'oj-button-play'); thePlaylist.getPlayer().pause(); thePlaylist.getPlayer().currentTime = 0; // thePlaylist.getPlayer().currentTime = thePlaylist.currentTrack.duration.toString(); // thePlaylist.getPlayer().src = ''; oj_SetValue('oj-player-started', '0'); oj_ElementWithId('#progress-bar-percentage').css("width","0%"); oj_ElementWithId('#progress-bar-percentage > span').text("0:00:00"); // thePlaylist.source.attr('src', ''); if (thePlaylist.playagain) { thePlaylist.playagain = false; thePlaylist.play(); } else { thePlaylist.restart(); thePlaylist.setSource(thePlaylist.currentTrack.url); } }); }; this.playPause = function() { var started = oj_GetValue('oj-player-started'); if (started == '0') { oj_SetValue('oj-player-started', '1'); this.restart(); this.play(); } else { var button = oj_ElementWithId('#oj-audio-playpause-button'); var cname = button.attr('class'); if (cname == 'oj-button-pause') { this.getPlayer().pause(); button.attr('class', 'oj-button-play'); button.attr('title', 'Play'); } else { this.getPlayer().play(); button.attr('class', 'oj-button-pause'); button.attr('title', 'Pause'); } } return false; }; this.back = function() { // this.getPlayer().pause(); // this.getPlayer().currentTime = 0; // this.getPlayer().play(); this.playagain = true; this.stop(); }; this.next = function() { if (this.next1()) { this.currentTrack.played(); this.playagain = true; this.stop(); } }; this.previous = function() { this.currentTrack.played(); if (this.previous1()) { this.playagain = true; this.stop(); } }; this.clear = function() { oj_GetPlaylistElement().empty(); // innerLayout.resizeContent('south'); var ul = oj_ElementWithId('catalogDiv'); ul.find('input:checked').each(function() { this.checked = false; // window.console && console.log(this.checked + ' ' + $(this).attr('id')); }); this.check(); }; this.start = function() { this.restart(); this.play(); }; this.save = function() { }; this.download = function() { oj_ElementWithId('oj-multimedia-download-dialog').dialog('close'); var zipname = encodeURIComponent(oj_GetValue('oj-multimedia-download-dialog-zipname')); var formatid = oj_GetIdOfCheckedRadioCheckboxGroup('download-format'); var format = oj_GetValue(formatid); var m3u = oj_ElementWithId('oj-multimedia-download-dialog-options-checkbox-0').prop('checked'); var img = oj_ElementWithId('oj-multimedia-download-dialog-options-checkbox-1').prop('checked'); var ren = oj_ElementWithId('oj-multimedia-download-dialog-options-checkbox-2').prop('checked'); var url = oj_GetBaseURL() + "&selected=" + this.getIds() + "&activity=zip&zipname=" + zipname + "&format=" + format + "&m3u=" + m3u + "&img=" + img + "&ren=" + ren; if (oj_ElementWithId('oj-multimedia-download-dialog-folder-checkbox').prop('checked')) { var folder = encodeURIComponent(oj_GetValue('oj-multimedia-download-dialog-foldername')); if ((folder != null) && (folder.length > 0)) { url = url + "&folder=" + folder; } } // window.console && console.log(url); window.location = url; }; this.openDownload = function() { oj_ElementWithId('oj-multimedia-download-dialog').dialog('open'); }; this.closeDownload = function() { oj_ElementWithId('oj-multimedia-download-dialog').dialog('close'); }; this.check = function() { // window.console && console.log('check ' + this.size()); if (this.size() == 0) { oj_ElementWithId('oj-button-Play').attr("disabled", "disabled"); oj_ElementWithId('oj-button-Save').attr("disabled", "disabled"); oj_ElementWithId('oj-button-Clear').attr("disabled", "disabled"); oj_ElementWithId('oj-button-Download').attr("disabled", "disabled"); } else { oj_ElementWithId('oj-button-Play').removeAttr("disabled"); oj_ElementWithId('oj-button-Save').removeAttr("disabled"); oj_ElementWithId('oj-button-Clear').removeAttr("disabled"); oj_ElementWithId('oj-button-Download').removeAttr("disabled"); } }; this.getIds = function() { var ret = oj_GetPlaylistFirstTrackOjid(); var nxt1 = oj_GetPlaylistNextOjid(ret); while (nxt1 != null) { ret = ret + ',' + nxt1; nxt1 = oj_GetPlaylistNextOjid(nxt1); } return ret; }; } --- NEW FILE: ojadmin.js --- function oj_ModifyCatalog(catalogContainerId, activity, name, type) { var uname = $('#username').val(); var clog = oj_GetCatalog(); var index = oj_GetIndex(); var csel = oj_ElementWithId("current-selection-ids").val(); var cpsel = oj_ElementWithId("current-selection-parent-ids").val(); var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&activity=' + activity + '&index=' + index + '&selected=' + csel + '&parents=' + cpsel; if (name != null) { url += 'name=' + name; } if (type != null) { url += 'type=' + type; } oj_ElementWithId(catalogContainerId).load(url, function() { }); } // category editor function oj_NewCategory() { } function oj_DeleteCategory() { } function oj_RenameCategory() { } function oj_SaveCategoryChanges() { } function oj_CancelCategoryEdit() { } |
From: Mike C. <com...@us...> - 2014-05-01 20:48:06
|
Update of /cvsroot/openjean/ojmail/uk/co/mullsoft/mail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv443/uk/co/mullsoft/mail Modified Files: OJmailUtilities.java Log Message: update 01 may 2014 Index: OJmailUtilities.java =================================================================== RCS file: /cvsroot/openjean/ojmail/uk/co/mullsoft/mail/OJmailUtilities.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** OJmailUtilities.java 27 Jan 2014 18:09:06 -0000 1.30 --- OJmailUtilities.java 1 May 2014 20:48:03 -0000 1.31 *************** *** 59,62 **** --- 59,63 ---- import uk.co.mullsoft.components.StringUtilities; import uk.co.mullsoft.components.ThreadManager; + import uk.co.mullsoft.components.User; import uk.co.mullsoft.components.Utilities; *************** *** 1981,1985 **** if (ptype != null) { ! attributes.put(attname, new ObjectWithNameAndValueAndTags(attname, ParameterType.getValueFromString(ptype, hdr))); } } --- 1982,1986 ---- if (ptype != null) { ! attributes.put(attname, new ObjectWithNameAndValueAndTags(attname, ParameterType.getValueFromString(User.getCurrentUser(), ptype, hdr))); } } |
From: Mike C. <com...@us...> - 2014-05-01 20:48:02
|
Update of /cvsroot/openjean/ojclient/uk/co/mullsoft/ojclient/swing/input In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv406/uk/co/mullsoft/ojclient/swing/input Modified Files: IndexWizard.java Log Message: update 01 may 2014 Index: IndexWizard.java =================================================================== RCS file: /cvsroot/openjean/ojclient/uk/co/mullsoft/ojclient/swing/input/IndexWizard.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** IndexWizard.java 2 Jan 2014 13:24:50 -0000 1.13 --- IndexWizard.java 1 May 2014 20:48:00 -0000 1.14 *************** *** 38,41 **** --- 38,42 ---- import uk.co.mullsoft.components.EntityType; import uk.co.mullsoft.components.StringUtilities; + import uk.co.mullsoft.components.User; import uk.co.mullsoft.components.attributes.ParameterType; *************** *** 433,438 **** { Object[] obj = new Object[2]; ! obj[0] = ParameterType.getValueFromString(indexParameterType, (String) tmp[1]); ! obj[1] = ParameterType.getValueFromString(indexParameterType, (String) tmp[2]); rangePoints[n] = new ObjectWithNameAndValueAndTags((String) tmp[0], obj); } --- 434,439 ---- { Object[] obj = new Object[2]; ! obj[0] = ParameterType.getValueFromString(User.getCurrentUser(), indexParameterType, (String) tmp[1]); ! obj[1] = ParameterType.getValueFromString(User.getCurrentUser(), indexParameterType, (String) tmp[2]); rangePoints[n] = new ObjectWithNameAndValueAndTags((String) tmp[0], obj); } |
From: Mike C. <com...@us...> - 2014-05-01 20:47:58
|
Update of /cvsroot/openjean/tools/uk/co/mullsoft/tools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv395/uk/co/mullsoft/tools Modified Files: FilenameChange.java Log Message: update 01 may 2014 Index: FilenameChange.java =================================================================== RCS file: /cvsroot/openjean/tools/uk/co/mullsoft/tools/FilenameChange.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FilenameChange.java 19 Feb 2014 15:20:58 -0000 1.9 --- FilenameChange.java 1 May 2014 20:47:56 -0000 1.10 *************** *** 12,15 **** --- 12,16 ---- import uk.co.mullsoft.components.sound.CueSheet; import uk.co.mullsoft.components.sound.NameFileSorter; + import uk.co.mullsoft.components.swing.LogicalFileFilter; public class FilenameChange *************** *** 192,195 **** --- 193,197 ---- unwantedExtensions.add(".txt"); unwantedExtensions.add(".log"); + unwantedExtensions.add(".Log"); unwantedExtensions.add(".accurip"); unwantedExtensions.add(".sfv"); *************** *** 199,202 **** --- 201,206 ---- unwantedExtensions.add(".iso"); unwantedExtensions.add(".ini"); + unwantedExtensions.add(".srr"); + unwantedExtensions.add(".db"); LogicalFile cueSheetFile = null; // delete log, txt, accurip, sfv files *************** *** 222,274 **** CueSheet cueSheet = null; NameFileSorter nfs = null; ! if (cueSheetFile != null) { ! // System.out.println("found cuesheet"); ! cueSheet = new CueSheet(dir); ! nfs = new NameFileSorter(dir); ! if (nfs.succeeded()) { ! Cue[] tracks = nfs.getTracks(); ! for (int n = 0; n < tracks.length; n++) { ! LogicalFile lf = tracks[n].getFile(); ! String pth = lf.getAbsolutePath(); ! String nm = lf.getName(); ! // System.out.println("check track " + pth); ! File f = new File(pth); ! String ext = null; ! int dot = pth.lastIndexOf('.'); ! if (dot >= 0) ! { ! ext = pth.substring(dot); ! } ! try ! { ! String name = cueSheet.getFilename(n, ext); ! File newf = new File(f.getParentFile(), name); ! String newpth = newf.getAbsolutePath(); ! // System.out.println("newpth " + newpth); ! if (!nm.equals(name)) { ! System.out.println("rename " + pth + " to " + newpth); ! f.renameTo(newf); ! } } ! catch (Exception e) { ! System.out.println("unable to rename " + pth + "(" + n + " of " + tracks.length + ")"); ! e.printStackTrace(); } } } } - else - { - System.out.println("no cuesheet in " + dir.getAbsolutePath()); - } - // clean - // change any "nn-xxx-" to "nn." - // replace '_' by ' ' - files = dir.listLogicalFiles(); for (int n = 0; n < files.length; n++) { --- 226,323 ---- CueSheet cueSheet = null; NameFileSorter nfs = null; ! // if (cueSheetFile != null) ! // { ! //// System.out.println("found cuesheet"); ! // cueSheet = new CueSheet(dir); ! // nfs = new NameFileSorter(dir); ! // if (nfs.succeeded()) ! // { ! // Cue[] tracks = nfs.getTracks(); ! // for (int n = 0; n < tracks.length; n++) ! // { ! // LogicalFile lf = tracks[n].getFile(); ! // String pth = lf.getAbsolutePath(); ! // String nm = lf.getName(); ! //// System.out.println("check track " + pth); ! // File f = new File(pth); ! // String ext = null; ! // int dot = pth.lastIndexOf('.'); ! // if (dot >= 0) ! // { ! // ext = pth.substring(dot); ! // } ! // try ! // { ! // String name = cueSheet.getFilename(n, ext); ! // File newf = new File(f.getParentFile(), name); ! // String newpth = newf.getAbsolutePath(); ! //// System.out.println("newpth " + newpth); ! // if (!nm.equals(name)) ! // { ! // System.out.println("rename " + pth + " to " + newpth); ! // f.renameTo(newf); ! // } ! // } ! // catch (Exception e) ! // { ! // System.out.println("unable to rename " + pth + "(" + n + " of " + tracks.length + ")"); ! // e.printStackTrace(); ! // } ! // } ! // } ! // } ! // else ! // { ! // System.out.println("no cuesheet in " + dir.getAbsolutePath()); ! // } ! // clean ! // change any "nn-xxx-" to "nn." ! // replace '_' by ' ' ! files = dir.listLogicalFiles(); ! String toRemove = null; ! boolean carryon = true; ! for (int n = 0; (n < files.length) && carryon; n++) { ! String nm = files[n].getName(); ! if (LogicalFileFilter.isAudio(System.getProperty("user.name"), files[n])); { ! String nnm = clean(nm); ! Integer i = StringUtilities.startsWithInt(nnm); ! if (i != null) { ! String nnm1 = StringUtilities.removeInitialInt(nnm); ! if (nnm1.startsWith("-")) { ! int nextdash = nnm1.substring(1).indexOf('-'); ! if (nextdash > 0) ! { ! String tr = nnm1.substring(1, nextdash); ! if (toRemove == null) ! { ! toRemove = tr; ! } ! else ! { ! carryon = toRemove.equals(tr); ! } ! char ch = nnm1.substring(1).charAt(nextdash + 1); ! if (ch != ' ') ! { ! int lengthofnum = nnm.length() - nnm1.length(); ! nnm = nnm.substring(0, lengthofnum) + ". " + nnm1.substring(nextdash + 2); ! } ! } ! else ! { ! carryon = false; ! } } ! else { ! carryon = false; } } } } for (int n = 0; n < files.length; n++) { *************** *** 279,289 **** { String nnm1 = StringUtilities.removeInitialInt(nnm); ! if (nnm1.startsWith("-")) { int nextdash = nnm1.substring(1).indexOf('-'); if (nextdash > 0) { ! int lengthofnum = nnm.length() - nnm1.length(); ! nnm = nnm.substring(0, lengthofnum) + ". " + nnm1.substring(nextdash + 2); } } --- 328,342 ---- { String nnm1 = StringUtilities.removeInitialInt(nnm); ! if (carryon && nnm1.startsWith("-")) { int nextdash = nnm1.substring(1).indexOf('-'); if (nextdash > 0) { ! char ch = nnm1.substring(1).charAt(nextdash + 1); ! if (ch != ' ') ! { ! int lengthofnum = nnm.length() - nnm1.length(); ! nnm = nnm.substring(0, lengthofnum) + ". " + nnm1.substring(nextdash + 2); ! } } } *************** *** 303,306 **** --- 356,379 ---- for (LogicalFile d : dirs) { + String nm = d.getName(); + String nm1 = clean(nm); + if (!nm.equals(nm1)) + { + File f = new File(d.getAbsolutePath()); + File newf = new File(f.getParentFile(), nm1); + System.out.println("rename directory " + f.getAbsolutePath() + " to " + newf.getAbsolutePath()); + f.renameTo(newf); + } + else + { + System.out.println("no need to rename directory " + d.getAbsolutePath()); + } + } + } + dirs = dir.listLogicalDirectories(); + if((dirs != null) && (dirs.length > 0)) + { + for (LogicalFile d : dirs) + { audioclean(d); } |
From: Mike C. <com...@us...> - 2014-05-01 20:47:56
|
Update of /cvsroot/openjean/ojcalendar/uk/co/mullsoft/calendar In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv386/uk/co/mullsoft/calendar Modified Files: OJcalendarUtilities.java Log Message: update 01 may 2014 Index: OJcalendarUtilities.java =================================================================== RCS file: /cvsroot/openjean/ojcalendar/uk/co/mullsoft/calendar/OJcalendarUtilities.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** OJcalendarUtilities.java 2 Jan 2014 13:23:23 -0000 1.20 --- OJcalendarUtilities.java 1 May 2014 20:47:53 -0000 1.21 *************** *** 29,32 **** --- 29,33 ---- import uk.co.mullsoft.components.SwingUtilities; import uk.co.mullsoft.components.ThreadManager; + import uk.co.mullsoft.components.User; import uk.co.mullsoft.components.Utilities; *************** *** 1337,1341 **** int max = XMLUtilities.getIntegerXMLAttribute(child, "max", 0); int dec = XMLUtilities.getIntegerXMLAttribute(child, "dec", 0); ! Color color = (Color) ParameterType.getValueFromString(ParameterType.COLOUR, XMLUtilities .getXMLAttribute(child, "colour")); measurementTypes.put(name, new MeasurementType(name, color, dec, min, max)); --- 1338,1342 ---- int max = XMLUtilities.getIntegerXMLAttribute(child, "max", 0); int dec = XMLUtilities.getIntegerXMLAttribute(child, "dec", 0); ! Color color = (Color) ParameterType.getValueFromString(User.getCurrentUser(), ParameterType.COLOUR, XMLUtilities .getXMLAttribute(child, "colour")); measurementTypes.put(name, new MeasurementType(name, color, dec, min, max)); |
From: Mike C. <com...@us...> - 2014-05-01 20:47:50
|
Update of /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/multimedia In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv376/src/uk/co/mullsoft/ojweb/multimedia Log Message: Directory /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/multimedia added to the repository |
From: Mike C. <com...@us...> - 2014-02-19 15:21:15
|
Update of /cvsroot/openjean/ojrss/uk/co/mullsoft/RSS In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23568/uk/co/mullsoft/RSS Modified Files: OJRSSUtilities.java Log Message: update feb 19 2014 Index: OJRSSUtilities.java =================================================================== RCS file: /cvsroot/openjean/ojrss/uk/co/mullsoft/RSS/OJRSSUtilities.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** OJRSSUtilities.java 2 Jan 2014 13:22:44 -0000 1.25 --- OJRSSUtilities.java 19 Feb 2014 15:21:13 -0000 1.26 *************** *** 331,359 **** // System.out.println("checkChannelStatus " + channel); long[] items = api.getChildren(channel, EntityType.ITEM); ! String status = items.length == 0 ? Constants.STATUSEMPTY : Constants.STATUSALLREAD; ! for (int n = 0; n < items.length; n++) { ! if (items[n] == exceptItem) ! { ! status = Constants.STATUSALLREAD; ! } ! else { ! String itemStatusString = api.getAttributeValueAsString(items[n], ITEMSTATUSATTRIBUTE); ! if (Constants.STATUSUNREAD.equals(itemStatusString)) ! { ! status = Constants.STATUSHASUNREAD; ! break; ! } ! else if (Constants.STATUSREAD.equals(itemStatusString)) ! { ! status = Constants.STATUSALLREAD; ! } ! else { ! api.setAttributeValueFromString(items[n], ITEMSTATUSATTRIBUTE, Constants.STATUSUNREAD); ! status = Constants.STATUSHASUNREAD; ! break; } } } --- 331,383 ---- // System.out.println("checkChannelStatus " + channel); long[] items = api.getChildren(channel, EntityType.ITEM); ! String status = Constants.STATUSALLREAD; ! if (items.length == 0) { ! status = Constants.STATUSEMPTY; ! } ! else ! { ! for (int n = 0; (n < items.length) && (status == Constants.STATUSALLREAD); n++) { ! if (items[n] != exceptItem) { ! String itemStatusString = api.getAttributeValueAsString(items[n], ITEMSTATUSATTRIBUTE); ! if (itemStatusString != null) ! { ! int i = itemStatusString.indexOf('('); ! if (i > 0) ! { ! itemStatusString = itemStatusString.substring(0, i); ! } ! Logger.getLogger().log(Logger.DEBUG, "channel", channel, "item", items[n], "status", itemStatusString); ! if (!Constants.STATUSREAD.equals(itemStatusString)) ! { ! status = Constants.STATUSHASUNREAD; ! } ! } } + // if (items[n] == exceptItem) + // { + // status = Constants.STATUSALLREAD; + // } + // else + // { + // String itemStatusString = api.getAttributeValueAsString(items[n], ITEMSTATUSATTRIBUTE); + // if (Constants.STATUSUNREAD.equals(itemStatusString)) + // { + // status = Constants.STATUSHASUNREAD; + // break; + // } + // else if (Constants.STATUSREAD.equals(itemStatusString)) + // { + // status = Constants.STATUSALLREAD; + // } + // else + // { + // api.setAttributeValueFromString(items[n], ITEMSTATUSATTRIBUTE, Constants.STATUSUNREAD); + // status = Constants.STATUSHASUNREAD; + // break; + // } + // } } } *************** *** 396,401 **** // obsolete, check if read long id = oldItems[o].getID(); ! String status = api.getAttributeValueAsString(id, ITEMSTATUSATTRIBUTE); ! if (STATUSUNREAD.equals(status)) { // delete if older than obsolete delay --- 420,433 ---- // obsolete, check if read long id = oldItems[o].getID(); ! String itemStatusString = api.getAttributeValueAsString(id, ITEMSTATUSATTRIBUTE); ! if (itemStatusString != null) ! { ! int lp = itemStatusString.indexOf('('); ! if (lp > 0) ! { ! itemStatusString = itemStatusString.substring(0, lp); ! } ! } ! if (STATUSUNREAD.equals(itemStatusString)) { // delete if older than obsolete delay *************** *** 484,493 **** userNotification(); } if (collector.size() > 0) { ! ThreadManager.invokeLater(collector); } - Logger.getLogger().log(Logger.DEBUG, "RSS channel", channel.getTitle(), "setting", ret.size(), "items"); - channel.setItems(ret.toArray(new Item[ret.size()])); } --- 516,526 ---- userNotification(); } + Logger.getLogger().log(Logger.DEBUG, "RSS channel", channel.getTitle(), "setting", ret.size(), "items"); + channel.setItems(ret.toArray(new Item[ret.size()])); if (collector.size() > 0) { ! collector.run(); ! // ThreadManager.invokeLater(collector); } } *************** *** 721,724 **** --- 754,765 ---- } String itemStatusString = api.getAttributeValueAsString(itemNodes[n], ITEMSTATUSATTRIBUTE); + if (itemStatusString != null) + { + int lp = itemStatusString.indexOf('('); + if (lp > 0) + { + itemStatusString = itemStatusString.substring(0, lp); + } + } if (STATUSUNREAD.equals(itemStatusString)) { *************** *** 757,764 **** --- 798,807 ---- { EntityDescriptor[] entities = SelectionPath.getEntities(currentPaths); + EntityDescriptor[] parents = SelectionPath.getParentEntities(currentPaths); if (entities != null) { Logger.getLogger().log("rss", Logger.DEBUG, "items read", entities); LongCollector lc = new LongCollector(); + HashSet<Long> plc = new HashSet<Long>(); for (int n = 0; n < entities.length; n++) { *************** *** 766,769 **** --- 809,813 ---- { lc.add(entities[n].id); + plc.add(parents[n].id); } else if (entities[n].type == EntityType.GROUP) *************** *** 782,785 **** --- 826,836 ---- } api.setAttributeValue(lc.toArray(), new ObjectWithNameAndValueAndTags(ITEMSTATUSATTRIBUTE, Constants.STATUSREAD)); + if (plc.size() > 0) + { + for (Long l : plc) + { + checkChannelStatus(l); + } + } } } |
From: Mike C. <com...@us...> - 2014-02-19 15:21:12
|
Update of /cvsroot/openjean/ojwebservice/WebContent/jsp In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23529/WebContent/jsp Modified Files: ojclient.jsp Added Files: ojCategoryEditor.jsp Log Message: update feb 19 2014 --- NEW FILE: ojCategoryEditor.jsp --- <?xml version="1.0" encoding="UTF-8" ?> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="uk.co.mullsoft.ojweb.util.CatalogUtilities"%> <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilities"%> <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilitiesFactory"%> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>openJean Client</title> <% String username = request.getParameter("user"); String url = request.getRequestURL().toString(); WebUtilitiesFactory factory = WebUtilitiesFactory.instance(username, url); String catalog = request.getParameter("catalog"); String index = request.getParameter("index"); if ((index == null) || (index.length() == 0)) { index = "default"; } WebUtilities util = factory.getWebUtilities(catalog); CatalogUtilities catutil = util.getCatalogUtilities(index); String uitheme = util.getUitheme(); String lastSelectedList = catutil.getLastSelectedString(); %> <script type="text/javascript" src="scripts/jquery-1.10.2.js"></script> <script type="text/javascript" src="scripts/jquery-ui-1.10.3.custom.js"></script> <script type="text/javascript" src="scripts/jquery.layout-latest.js"></script> <script type="text/javascript" src="scripts/ojcatedit.js"></script> <script type="text/javascript"> $(document).ready(function () { $( "#tabs" ).tabs(); $("body").layout({ useStateCookie: true , cookie: { // State Management options name: "ojck" // If not specified, will use Layout.name , autoSave: true // Save cookie when page exits? , autoLoad: true // Load cookie when Layout inits? // Cookie Options , domain: "" , path: "" , expires: "30" // 'days' -- blank = session cookie , secure: false // State to save in the cookie - must be pane-specific , keys: "north.size,south.size,east.size,west.size,"+ "north.isClosed,south.isClosed,east.isClosed,west.isClosed,"+ "north.isHidden,south.isHidden,east.isHidden,west.isHidden" } }); $("body").css("overflow", "auto"); }); </script> <link rel="StyleSheet" type="text/css" href="css/themes/default/style.css"/> <link rel="StyleSheet" type="text/css" href="css/uithemes/<%=uitheme %>/jquery-ui.css"/> <link rel="StyleSheet" type="text/css" href="css/uithemes/<%=uitheme %>/jquery.ui.theme.css"/> <link rel="StyleSheet" type="text/css" href="css/oj.css"/> </head> <body> <%=catutil.getCategoryEditor().toString() %> </body> </html> Index: ojclient.jsp =================================================================== RCS file: /cvsroot/openjean/ojwebservice/WebContent/jsp/ojclient.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ojclient.jsp 27 Jan 2014 18:09:22 -0000 1.2 --- ojclient.jsp 19 Feb 2014 15:21:10 -0000 1.3 *************** *** 5,9 **** <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilities"%> <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilitiesFactory"%> ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> --- 5,9 ---- <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilities"%> <%@ page import="uk.co.mullsoft.ojweb.util.WebUtilitiesFactory"%> ! <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> *************** *** 15,18 **** --- 15,23 ---- WebUtilitiesFactory factory = WebUtilitiesFactory.instance(username, url); String catalog = request.getParameter("catalog"); + String index = request.getParameter("index"); + if ((index == null) || (index.length() == 0)) + { + index = "default"; + } String lasttype = request.getParameter("lastType"); if ((lasttype == null) || (lasttype.length() == 0)) *************** *** 21,29 **** } WebUtilities util = factory.getWebUtilities(catalog); ! CatalogUtilities catutil = util.getCatalogUtilities(); String catfname = util.getCategoryImageFilename(); String grpfname = util.getGroupImageFilename(); String itmfname = util.getItemImageFilename(); ! String selectedList = util.getSelectedList(); String uitheme = util.getUitheme(); String lastSelectedList = catutil.getLastSelectedString(); --- 26,34 ---- } WebUtilities util = factory.getWebUtilities(catalog); ! CatalogUtilities catutil = util.getCatalogUtilities(index); String catfname = util.getCategoryImageFilename(); String grpfname = util.getGroupImageFilename(); String itmfname = util.getItemImageFilename(); ! String selectedList = util.getSelectedList(index); String uitheme = util.getUitheme(); String lastSelectedList = catutil.getLastSelectedString(); *************** *** 72,84 **** <form id="catalogForm" name="catalogForm"> <input type="hidden" id="lastType" name="lastType" value="<%=lasttype %>"/> ! <input type="hidden" id="lastSelection" name="lastSelection" value="<%=lastSelectedList %>"/> <input type="hidden" id="lastHasData" name="lastHasData" value="0"/> <input type="hidden" id="lockedSelection" name="lockedSelection" value=""/> <input type="hidden" id="username" name="username" value="<%=username %>"/> <input type="hidden" id="catalog" name="catalog" value="<%=catalog %>"/> <input type="hidden" id="hname" name="hname" value="default"/> <input type="hidden" id="uitheme" name="uitheme" value="<%=uitheme %>"/> <p><b><%=username %>'s ! <select id="selectCatalog" onchange="oj_changeCatalog();"> <% String[] cats = WebUtilities.getCatalogNames(username); --- 77,97 ---- <form id="catalogForm" name="catalogForm"> <input type="hidden" id="lastType" name="lastType" value="<%=lasttype %>"/> ! <!-- <input type="hidden" id="lastSelection" name="lastSelection" value="<%=lastSelectedList %>"/> --> ! <input type="hidden" id="lastSelection" name="lastSelection" value=""/> <input type="hidden" id="lastHasData" name="lastHasData" value="0"/> <input type="hidden" id="lockedSelection" name="lockedSelection" value=""/> <input type="hidden" id="username" name="username" value="<%=username %>"/> <input type="hidden" id="catalog" name="catalog" value="<%=catalog %>"/> + <input type="hidden" id="index" name="catalog" value="<%=index %>"/> <input type="hidden" id="hname" name="hname" value="default"/> <input type="hidden" id="uitheme" name="uitheme" value="<%=uitheme %>"/> + <input type="hidden" id="last-selection-ids" name="last-selection-ids" value=""/> + <input type="hidden" id="last-selection-parent-ids" name="last-selection-parent-ids" value=""/> + <input type="hidden" id="current-selection-ids" name="current-selection-ids" value=""/> + <input type="hidden" id="current-selection-parent-ids" name="current-selection-parent-ids" value=""/> + <input type="hidden" id="current-checked" name="current-checked" value=""/> + <div id="oj-result" style="display:none"></div> <p><b><%=username %>'s ! <select id="selectCatalog" onchange="oj_ChangeCatalog();"> <% String[] cats = WebUtilities.getCatalogNames(username); *************** *** 101,105 **** for (int n = 0; n < indx.length; n++) { ! String sel = indx[n].equals("default")?" selected=\"selected\"":""; %> <option value="<%=indx[n] %>"<%=sel %>><%=indx[n] %></option> --- 114,118 ---- for (int n = 0; n < indx.length; n++) { ! String sel = indx[n].equals(index)?" selected=\"selected\"":""; %> <option value="<%=indx[n] %>"<%=sel %>><%=indx[n] %></option> *************** *** 131,135 **** --> ! <span id="themespan"><b> Theme <select id="selectTheme" onchange="oj_changeTheme();"> <% --- 144,151 ---- --> ! <%=util.getCatalogControls() %> ! <%=util.getEditorControls() %> ! ! <span id="themespan"><b> Theme <select id="selectTheme" onchange="oj_changeTheme();"> <% *************** *** 148,160 **** %> </select></b></span> - <%=util.getCatalogControls() %> </p> </form> </div> <div id="catalogDiv" class="ui-layout-west ui-widget-content" style="overflow:auto"> ! <%= util.getCatalogList() %> </div> <div id="attributeDiv" class="ui-layout-center ui-widget-content"> ! <%=util.getHTML(username, catalog) %> </div> </body> --- 164,175 ---- %> </select></b></span> </p> </form> </div> <div id="catalogDiv" class="ui-layout-west ui-widget-content" style="overflow:auto"> ! <%= util.getCatalogList(index) %> </div> <div id="attributeDiv" class="ui-layout-center ui-widget-content"> ! <%=util.getHTML(username, catalog, index) %> </div> </body> |
Update of /cvsroot/openjean/ojwebservice/WebContent/images In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23529/WebContent/images Added Files: Arrow-full-upperleft-32.png indexentry-closed.png Arrow-full-up-32.png Arrow-full-down-32.png Arrow-full-left-32.png index-open.png Arrow-full-lowerright-32.png Arrow-full-upperright-32.png crossred.png Arrow-full-lowerleft-32.png tickgreen.png indexentry-open.png Arrow-full-right-32.png index-closed.png Log Message: update feb 19 2014 --- NEW FILE: Arrow-full-left-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-upperright-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: tickgreen.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-up-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index-closed.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: indexentry-closed.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index-open.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: indexentry-open.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-down-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-upperleft-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-lowerright-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-lowerleft-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Arrow-full-right-32.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: crossred.png --- (This appears to be a binary file; contents omitted.) |
From: Mike C. <com...@us...> - 2014-02-19 15:21:05
|
Update of /cvsroot/openjean/ojmail/uk/co/mullsoft/mail In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23519/uk/co/mullsoft/mail Modified Files: MailboxComparator.java Log Message: update feb 19 2014 Index: MailboxComparator.java =================================================================== RCS file: /cvsroot/openjean/ojmail/uk/co/mullsoft/mail/MailboxComparator.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** MailboxComparator.java 2 Jan 2014 13:23:53 -0000 1.13 --- MailboxComparator.java 19 Feb 2014 15:21:03 -0000 1.14 *************** *** 101,105 **** else { ! ret = 1; } } --- 101,105 ---- else { ! ret = -1; } } *************** *** 108,112 **** if (name2.startsWith(MailConstants.ARRIVED)) { ! ret = -1; } else --- 108,112 ---- if (name2.startsWith(MailConstants.ARRIVED)) { ! ret = 1; } else |
From: Mike C. <com...@us...> - 2014-02-19 15:21:02
|
Update of /cvsroot/openjean/tools/uk/co/mullsoft/tools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23487/uk/co/mullsoft/tools Modified Files: FilenameChange.java Added Files: TestWebComponents.java Log Message: update feb 19 2014 Index: FilenameChange.java =================================================================== RCS file: /cvsroot/openjean/tools/uk/co/mullsoft/tools/FilenameChange.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** FilenameChange.java 27 Jan 2014 18:09:16 -0000 1.8 --- FilenameChange.java 19 Feb 2014 15:20:58 -0000 1.9 *************** *** 197,200 **** --- 197,202 ---- unwantedExtensions.add(".url"); unwantedExtensions.add(".md5"); + unwantedExtensions.add(".iso"); + unwantedExtensions.add(".ini"); LogicalFile cueSheetFile = null; // delete log, txt, accurip, sfv files *************** *** 241,244 **** --- 243,248 ---- ext = pth.substring(dot); } + try + { String name = cueSheet.getFilename(n, ext); File newf = new File(f.getParentFile(), name); *************** *** 250,253 **** --- 254,263 ---- f.renameTo(newf); } + } + catch (Exception e) + { + System.out.println("unable to rename " + pth + "(" + n + " of " + tracks.length + ")"); + e.printStackTrace(); + } } } --- NEW FILE: TestWebComponents.java --- package uk.co.mullsoft.tools; import java.util.ArrayList; import uk.co.mullsoft.components.base.Listable; import uk.co.mullsoft.components.base.Orientation; import uk.co.mullsoft.components.html.OKCancelDiv; import uk.co.mullsoft.components.html.SelectionList; import uk.co.mullsoft.components.html.SingleLineInputDiv; import uk.co.mullsoft.components.html.UnorderedList; public class TestWebComponents { private static class TestListable implements Listable { private String str = null; public TestListable(String idp, int n) { str = idp + "_element_" + n; } @Override public String getName() { // TODO Auto-generated method stub return str; } @Override public String getValue() { // TODO Auto-generated method stub return str; } @Override public String getId(String prefix) { // TODO Auto-generated method stub return str; } } public TestWebComponents() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) { SingleLineInputDiv slid = new SingleLineInputDiv("test1", "init", "alert('ok');", "alert('cancel');"); OKCancelDiv okc = new OKCancelDiv("test2", Orientation.HORIZONTAL, "alert('ok');", "alert('cancel');"); OKCancelDiv okcv = new OKCancelDiv("test2", Orientation.VERTICAL, "alert('okv');", "alert('cancelv');"); ArrayList<TestListable> list = new ArrayList<TestListable>(); for (int n = 0; n < 20; n++) { list.add(new TestListable("id", n)); } UnorderedList ul = UnorderedList.getList("id-", list, true); ArrayList<TestListable> list1 = new ArrayList<TestListable>(); for (int n = 0; n < 20; n++) { list1.add(new TestListable("slid", n)); } SelectionList sl = SelectionList.getList("slid-", list1, null, true); System.out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">"); System.out.println("<head>"); System.out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />"); System.out.println("<title>openJean Test</title>"); System.out.println("<script type=\"text/javascript\" src=\"scripts/jquery-1.10.2.js\"></script>"); System.out.println("<script type=\"text/javascript\" src=\"scripts/jquery-ui-1.10.3.custom.js\"></script>"); System.out.println("<script type=\"text/javascript\" src=\"scripts/jquery.layout-latest.js\"></script>"); System.out.println("<script type=\"text/javascript\" src=\"scripts/openjean.js\"></script>"); System.out.println("<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/themes/default/style.css\"/>"); System.out.println("<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/uithemes/redmond/jquery-ui.css\"/>"); System.out.println("<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/uithemes/redmond/jquery.ui.theme.css\"/>"); System.out.println("<link rel=\"StyleSheet\" type=\"text/css\" href=\"css/oj.css\"/>"); System.out.println("</head>"); System.out.println("<body>"); System.out.println("<form>"); System.out.println("<input type=\"hidden\" id=\"last-selection-ids\" name=\"last-selection-ids\" value=\"\"/>"); System.out.println("<input type=\"hidden\" id=\"last-selection-parent-ids\" name=\"last-selection-parent-ids\" value=\"\"/>"); System.out.println("<input type=\"hidden\" id=\"current-selection-ids\" name=\"current-selection-ids\" value=\"\"/>"); System.out.println("<input type=\"hidden\" id=\"current-selection-parent-ids\" name=\"current-selection-parent-ids\" value=\"\"/>"); System.out.println("<input type=\"hidden\" id=\"current-checked\" name=\"current-checked\" value=\"\"/>"); System.out.println(slid.toString()); System.out.println(okc.toString()); System.out.println(okcv.toString()); System.out.println(ul.toString()); System.out.println(sl.toString()); System.out.println("</form>"); System.out.println("</body>"); System.out.println("</html>"); } } |
From: Mike C. <com...@us...> - 2014-02-19 15:21:01
|
Update of /cvsroot/openjean/tools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23487 Modified Files: .classpath Log Message: update feb 19 2014 Index: .classpath =================================================================== RCS file: /cvsroot/openjean/tools/.classpath,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** .classpath 25 Sep 2011 16:51:41 -0000 1.6 --- .classpath 19 Feb 2014 15:20:58 -0000 1.7 *************** *** 6,9 **** --- 6,10 ---- <classpathentry kind="lib" path="/home/mike/openJEANSource/systemlib/xerces-2.6.0.jar"/> <classpathentry combineaccessrules="false" kind="src" path="/components"/> + <classpathentry combineaccessrules="false" kind="src" path="/ojweb"/> <classpathentry kind="output" path="build-tools/build-tools"/> </classpath> |
From: Mike C. <com...@us...> - 2014-02-19 15:20:58
|
Update of /cvsroot/openjean/components/uk/co/mullsoft/components/xml/database In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23441/uk/co/mullsoft/components/xml/database Modified Files: AbstractXMLDatabase.java Log Message: update feb 19 2014 Index: AbstractXMLDatabase.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/database/AbstractXMLDatabase.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** AbstractXMLDatabase.java 20 Nov 2011 16:55:31 -0000 1.10 --- AbstractXMLDatabase.java 19 Feb 2014 15:20:55 -0000 1.11 *************** *** 392,395 **** --- 392,404 ---- } } + if (ret != null) + { + Element top = ret.getDocumentElement(); + if ("openjean:redirect".equals(top.getTagName())) + { + XMLDatabaseKey newkey = new XMLDatabaseKey(top.getTextContent()); + ret = loadDocument(newkey); + } + } return ret; } |
Update of /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23441/uk/co/mullsoft/components/xml/catalog Modified Files: CatalogSubpath.java CatalogFilter.java CatalogEntity.java CatalogIndex.java CatalogInternalIndex.java Added Files: NodeTable.java Log Message: update feb 19 2014 --- NEW FILE: NodeTable.java --- package uk.co.mullsoft.components.xml.catalog; import java.util.ArrayList; import java.util.Hashtable; import uk.co.mullsoft.components.Logger; import uk.co.mullsoft.components.LongCollector; import uk.co.mullsoft.components.StringUtilities; import uk.co.mullsoft.components.xml.database.XMLDatabaseKey; import uk.co.mullsoft.components.xml.database.XMLDbUtilities; public class NodeTable extends Hashtable<Long, ArrayList<CatalogEntity>> { private static final long serialVersionUID = 1L; private Hashtable<Long, LongCollector> idParentTable = new Hashtable<Long, LongCollector>(); public NodeTable(XMLDbUtilities xmldbutil, String catalog, String index) { // XMLDatabaseKey key = new XMLDatabaseKey(new String[] {"index", index}); // XMLDatabaseKey[] indexKeys = XMLDbUtilities.subKeys(key, "xml"); String[] indexKeys = xmldbutil.listApplicationDocuments(catalog, new String[] {"index", index}); Logger.getLogger().log(Logger.DEBUG, "NodeTable indexKeys", indexKeys, "for index", index); if ((indexKeys != null) && (indexKeys.length > 0)) { for (String str : indexKeys) { // String str = indexKey.getName(); Logger.getLogger().log(Logger.DEBUG, "NodeTable found key", str); try { long[] ids = StringUtilities.toLongArray(str, "-"); if ((ids != null) && (ids.length == 2)) { LongCollector lc = idParentTable.get(ids[1]); if (lc == null) { lc = new LongCollector(); idParentTable.put(ids[1], lc); } lc.add(ids[0]); } } catch (Exception e) { Logger.getLogger().log(e); } } } } // private void load(long id) // { // Logger.getLogger().log(Logger.DEBUG, "NodeTable load", id); // LongCollector parents = idParentTable.get(id); // if (parents != null) // { // for (long parent : parents.toArray()) // { // if (containsKey(parent)) // { // ArrayList<CatalogEntity> parentEntities = super.get(parent); // for (CatalogEntity parentEntity : parentEntities) // { // Logger.getLogger().log(Logger.DEBUG, "NodeTable load entity", parentEntity.getEntity().id); // parentEntity.load(); // } // } // else // { // load(parent); // if (containsKey(parent)) // { // ArrayList<CatalogEntity> parentEntities = super.get(parent); // for (CatalogEntity parentEntity : parentEntities) // { // parentEntity.load(); // } // } // } // } // } // else // { // Logger.getLogger().log(Logger.DEBUG, "NodeTable no parents for", id); // } // } // // public ArrayList<CatalogEntity> superget(long l) // { // return super.get(l); // } // @Override public ArrayList<CatalogEntity> get(Object obj) { ArrayList<CatalogEntity> ret = null; if (obj instanceof Long) { Long ll = (Long) obj; // ret = super.get(ll); // if (ret == null) // { // put(ll, new ArrayList<CatalogEntity>()); // Logger.getLogger().log(Logger.DEBUG, ll.longValue(), "not in NodeTable loading"); // load(ll); ret = super.get(ll); // } } return ret; } } Index: CatalogInternalIndex.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog/CatalogInternalIndex.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CatalogInternalIndex.java 27 Jan 2014 18:09:01 -0000 1.1 --- CatalogInternalIndex.java 19 Feb 2014 15:20:55 -0000 1.2 *************** *** 35,39 **** public CatalogInternalIndex(String name, CatalogIndex clog, Indexer indexer) { ! super(clog.username, clog.catalog, clog.index, getIndex(name, clog.username, clog), new Hashtable<Long, ArrayList<CatalogEntity>>(), clog.avs); this.clog = clog; this.indexer = indexer; --- 35,39 ---- public CatalogInternalIndex(String name, CatalogIndex clog, Indexer indexer) { ! super(clog.username, clog.catalog, clog.index, getIndex(name, clog.username, clog), new NodeTable(clog.xmldbutil, clog.getCatalog(), clog.getIndex()), clog.avs); this.clog = clog; this.indexer = indexer; Index: CatalogSubpath.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog/CatalogSubpath.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CatalogSubpath.java 27 Jan 2014 18:09:01 -0000 1.2 --- CatalogSubpath.java 19 Feb 2014 15:20:55 -0000 1.3 *************** *** 5,9 **** --- 5,12 ---- import java.util.ArrayList; + import uk.co.mullsoft.components.EntityType; import uk.co.mullsoft.components.Logger; + import uk.co.mullsoft.components.html.HiddenInputDescriptor; + import uk.co.mullsoft.components.html.Input; /** *************** *** 125,128 **** --- 128,148 ---- } + public CatalogEntity getLastButOneEntity() + { + return this.size() <= 1?null:this.get(this.size() - 2); + } + + public CatalogEntity getLastEntity(EntityType ofType) + { + int n = this.size() - 1; + CatalogEntity ret = this.get(n); + while (n >= 0 && ret.getEntity().getType() != ofType) + { + n--; + ret = n < 0?null:this.get(n); + } + return ret; + } + public boolean add(CatalogEntity e) { *************** *** 209,213 **** for (int n = size() - 1; n >= 0; n--) { ! buff.append(get(n).getLinkName()); buff.append(seperator); } --- 229,233 ---- for (int n = size() - 1; n >= 0; n--) { ! buff.append(get(n).getName()); buff.append(seperator); } *************** *** 227,249 **** } ! private String toHTMLList(int index) { StringBuilder buff = new StringBuilder(); ! CatalogEntity cent = this.get(index); ! buff.append("<ul class=\"oj-ul\" id=\"ul_"); buff.append(cent.getEntity().id); buff.append("\">\n"); for (CatalogEntity child : cent.getChildren()) { ! if (index == 0) ! { ! buff.append(child.toHTMLListItem()); ! } ! else ! { ! buff.append(child.getHTMLListItemPrefix()); ! buff.append(toHTMLList(index - 1)); ! buff.append(child.getHTMLListItemSuffix()); ! } } buff.append("</ul>\n"); --- 247,290 ---- } ! // private String toHTMLList(int index, boolean draggable) ! // { ! // StringBuilder buff = new StringBuilder(); ! // CatalogEntity cent = this.get(index); ! // buff.append("<ul class=\"oj-catalog-ul\" id=\"oj-ul-"); ! // buff.append(cent.getEntity().id); ! // buff.append("\">\n"); ! // for (CatalogEntity child : cent.getChildren()) ! // { ! // if (index == 0) ! // { ! // buff.append(child.toHTMLListItem(draggable)); ! // } ! // else ! // { ! // buff.append(child.getHTMLListItemPrefix(draggable)); ! // buff.append(toHTMLList(index - 1, draggable)); ! // buff.append(child.getHTMLListItemSuffix()); ! // } ! // } ! // buff.append("</ul>\n"); ! // return buff.toString(); ! // } ! ! public String toHTMLList(boolean draggable) { + return toHTMLList(draggable, false); + } + + public String toHTMLList(boolean draggable, boolean selectable) + { + // return toHTMLList(0, draggable); StringBuilder buff = new StringBuilder(); ! CatalogEntity cent = this.get(0); ! buff.append("<ul class=\"oj-catalog-ul\" id=\"oj-ul-"); buff.append(cent.getEntity().id); buff.append("\">\n"); for (CatalogEntity child : cent.getChildren()) { ! buff.append(child.toHTMLListItem(draggable, selectable)); } buff.append("</ul>\n"); *************** *** 251,258 **** } - public String toHTMLList() - { - return toHTMLList(0); - } - } --- 292,294 ---- Index: CatalogIndex.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog/CatalogIndex.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CatalogIndex.java 27 Jan 2014 18:09:01 -0000 1.3 --- CatalogIndex.java 19 Feb 2014 15:20:55 -0000 1.4 *************** *** 45,48 **** --- 45,50 ---- public class CatalogIndex implements Iterable<CatalogEntity> { + + public static String DEFAULTSELECTIONFUNCTION = "oj_EntitySelected"; private static Hashtable<String, CatalogIndex> knownCatalogs = new Hashtable<String, CatalogIndex>(); *************** *** 125,129 **** public static CatalogIndex newCatalogIndex(String username, String catalog, String index, CatalogEntity root, ! Hashtable<Long, ArrayList<CatalogEntity>> nodeTable, AttributeValueSupplier avs) { return new CatalogIndex(username, catalog, index, root, nodeTable, avs); --- 127,131 ---- public static CatalogIndex newCatalogIndex(String username, String catalog, String index, CatalogEntity root, ! NodeTable nodeTable, AttributeValueSupplier avs) { return new CatalogIndex(username, catalog, index, root, nodeTable, avs); *************** *** 135,152 **** } ! protected static Hashtable<Long, ArrayList<CatalogEntity>> constructNodeTable(CatalogEntity startingAt) { ! Hashtable<Long, ArrayList<CatalogEntity>> newNodeTable = new Hashtable<Long, ArrayList<CatalogEntity>>(); Iterator<CatalogEntity> iterator = new DepthFirstIterator(startingAt); while (iterator.hasNext()) { CatalogEntity next1 = iterator.next(); ! ArrayList<CatalogEntity> entries = newNodeTable.get(next1.getEntity().id); ! if (entries == null) { ! entries = new ArrayList<CatalogEntity>(); ! newNodeTable.put(next1.getEntity().id, entries); } - entries.add(next1); } return newNodeTable; --- 137,157 ---- } ! protected static NodeTable constructNodeTable(CatalogEntity startingAt, Filter<CatalogEntity> filter) { ! NodeTable newNodeTable = new NodeTable(startingAt.getCatalog().xmldbutil, startingAt.getCatalog().getCatalog(), startingAt.getCatalog().index); Iterator<CatalogEntity> iterator = new DepthFirstIterator(startingAt); while (iterator.hasNext()) { CatalogEntity next1 = iterator.next(); ! if ((filter == null) || filter.accept(next1)) { ! ArrayList<CatalogEntity> entries = newNodeTable.get(next1.getEntity().id); ! if (entries == null) ! { ! entries = new ArrayList<CatalogEntity>(); ! newNodeTable.put(next1.getEntity().id, entries); ! } ! entries.add(next1); } } return newNodeTable; *************** *** 201,207 **** return new CatalogEntityComparator(getEntityComparatorForCatalog(username, catalog, avs)); } protected static CatalogEntity getCatalogEntityFromNode(CatalogIndex catalog, Element el, CatalogEntity parent, CatalogEntityComparator cec, ! Hashtable<Long, ArrayList<CatalogEntity>> nodeTable) { CatalogEntity ret = null; --- 206,228 ---- return new CatalogEntityComparator(getEntityComparatorForCatalog(username, catalog, avs)); } + + private static CatalogEntity fromNode(CatalogIndex catalog, Element el, CatalogEntity parent) + { + EntityDescriptor ed = EntityDescriptor.fromXML(el); + String linkname = XMLUtilities.getXMLAttribute(el, "linkname"); + CatalogEntity ret = new CatalogEntity(catalog, linkname, ed, parent, null); + ret.setPropertiesFrom(el); + String entityCatalogName = XMLUtilities.getXMLAttribute(el, "entity-catalog"); + if (entityCatalogName != null) + { + ret.setEntityCatalogName(entityCatalogName, false); + } + int numberOfChildren = XMLUtilities.getIntegerXMLAttribute(el, "number-of-children", 0); + ret.setNumberOfChildren(numberOfChildren); + return ret; + } protected static CatalogEntity getCatalogEntityFromNode(CatalogIndex catalog, Element el, CatalogEntity parent, CatalogEntityComparator cec, ! NodeTable nodeTable) { CatalogEntity ret = null; *************** *** 209,224 **** if (el != null) { SortedSet<CatalogEntity> children = Collections.synchronizedSortedSet(new TreeSet<CatalogEntity>(cec)); ! EntityDescriptor ed = EntityDescriptor.fromXML(el); ! String linkname = XMLUtilities.getXMLAttribute(el, "linkname"); ! ret = new CatalogEntity(catalog, linkname, ed, parent, children); ! ret.setPropertiesFrom(el); ! String entityCatalogName = XMLUtilities.getXMLAttribute(el, "entity-catalog"); ! if (entityCatalogName != null) ! { ! ret.setEntityCatalogName(entityCatalogName); ! } ! boolean subIndex = XMLUtilities.getBooleanXMLAttribute(el, "subIndex", false); ! ret.setSubIndex(subIndex); Node[] childNodes = XMLUtilities.getChildren(el, "openjean:catalogNode"); if ((childNodes != null) && (childNodes.length > 0)) --- 230,237 ---- if (el != null) { + ret = fromNode(catalog, el, parent); SortedSet<CatalogEntity> children = Collections.synchronizedSortedSet(new TreeSet<CatalogEntity>(cec)); ! // boolean subIndex = XMLUtilities.getBooleanXMLAttribute(el, "subIndex", false); ! // ret.setSubIndex(subIndex); Node[] childNodes = XMLUtilities.getChildren(el, "openjean:catalogNode"); if ((childNodes != null) && (childNodes.length > 0)) *************** *** 226,236 **** for (Node child : childNodes) { ! CatalogEntity ce = getCatalogEntityFromNode(catalog, (Element) child, ret, cec, nodeTable); if (ce != null) { children.add(ce); } } } addToNodeTable(nodeTable, ret); } --- 239,251 ---- for (Node child : childNodes) { ! CatalogEntity ce = fromNode(catalog, (Element) child, ret); if (ce != null) { children.add(ce); + addToNodeTable(nodeTable, ce); } } } + ret.setChildren(children); addToNodeTable(nodeTable, ret); } *************** *** 239,243 **** private static CatalogEntity getCatalogEntityFromDbNode(CatalogIndex cat, Document doc, String name, CatalogEntity parent, ! CatalogEntityComparator cec, Hashtable<Long, ArrayList<CatalogEntity>> nodeTable, ArrayList<EntityTypedName> properties) { --- 254,258 ---- private static CatalogEntity getCatalogEntityFromDbNode(CatalogIndex cat, Document doc, String name, CatalogEntity parent, ! CatalogEntityComparator cec, NodeTable nodeTable, ArrayList<EntityTypedName> properties) { *************** *** 276,279 **** --- 291,295 ---- } } + int numberOfChildren = 0; Node[] linknodes = cat.xmldbutil.getLinkAttributeNodes(doc, true); // long[] childrenids = cat.xmldbutil.getLinkAttributeDestinations(doc, true); *************** *** 281,284 **** --- 297,301 ---- if ((linknodes != null) && (linknodes.length > 0)) { + // ret.setSubIndex(true); // Logger.getLogger().log(Logger.DEBUG, "number of children", childrenids.length); for (Node nd : linknodes) *************** *** 292,299 **** Document childdoc = cat.xmldbutil.getEntityDocument(id); CatalogEntity ce = getCatalogEntityFromDbNode(cat, childdoc, cname, ret, cec, nodeTable, properties); - ce.setProperty("ordinal", ParameterType.INTEGER, (long) ordinal); if (ce != null) { ret.addChild(ce); // Logger.getLogger().log(Logger.DEBUG, "getCatalogEntityFromDbNode adding child", ce.getEntity().id, // ce.getEntity().getName(), "to", ret.getEntity().id, ret.getEntity().getName()); --- 309,317 ---- Document childdoc = cat.xmldbutil.getEntityDocument(id); CatalogEntity ce = getCatalogEntityFromDbNode(cat, childdoc, cname, ret, cec, nodeTable, properties); if (ce != null) { + ce.setProperty("ordinal", ParameterType.INTEGER, (long) ordinal); ret.addChild(ce); + numberOfChildren++; // Logger.getLogger().log(Logger.DEBUG, "getCatalogEntityFromDbNode adding child", ce.getEntity().id, // ce.getEntity().getName(), "to", ret.getEntity().id, ret.getEntity().getName()); *************** *** 302,305 **** --- 320,328 ---- } } + // else + // { + //// ret.setSubIndex(false); + // } + ret.setNumberOfChildren(numberOfChildren); addToNodeTable(nodeTable, ret); // Logger.getLogger().log(Logger.DEBUG, "getCatalogEntityFromDbNode", ret.getEntity().id, ret.getEntity().getName()); *************** *** 310,314 **** } ! private static void addToNodeTable(Hashtable<Long, ArrayList<CatalogEntity>> nodeTable, CatalogEntity ce) { ArrayList<CatalogEntity> entries = nodeTable.get(ce.getEntity().id); --- 333,337 ---- } ! private static void addToNodeTable(NodeTable nodeTable, CatalogEntity ce) { ArrayList<CatalogEntity> entries = nodeTable.get(ce.getEntity().id); *************** *** 319,322 **** --- 342,346 ---- } entries.add(ce); + // Logger.getLogger().log(Logger.DEBUG, "added to node table", ce.getEntity().id); } *************** *** 337,341 **** if (ret == null) { - Hashtable<Long, ArrayList<CatalogEntity>> nodeTable = new Hashtable<Long, ArrayList<CatalogEntity>>(); CatalogEntityComparator cec = getCatalogEntityComparator(username, catalog); if (cec == null) --- 361,364 ---- *************** *** 345,348 **** --- 368,372 ---- } XMLDbUtilities xmldbutil = XMLDbUtilities.instance(username, catalog); + NodeTable nodeTable = new NodeTable(xmldbutil, catalog, index); Document doc = xmldbutil.getApplicationDocument(new String[] {"index", index + ".xml"}); // Logger.getLogger().log(Logger.DEBUG, "loaded index",index, "doc", doc); *************** *** 411,414 **** --- 435,439 ---- CatalogEntity root = getCatalogEntityFromDbNode(ret, rootdoc, catalog, null, cec, nodeTable, properties); ret.setRoot(root); + ret.save(); } else if (doc != null) *************** *** 416,420 **** ret = new CatalogIndex(username, catalog, index, null, nodeTable, avs); CatalogEntity root = getCatalogEntityFromNode(ret, doc.getDocumentElement(), null, cec, nodeTable); ! root.setCatalog(ret, true); Logger.getLogger().log(Logger.DEBUG, "index root", root); ret.setRoot(root); --- 441,445 ---- ret = new CatalogIndex(username, catalog, index, null, nodeTable, avs); CatalogEntity root = getCatalogEntityFromNode(ret, doc.getDocumentElement(), null, cec, nodeTable); ! // root.setCatalog(ret, true); Logger.getLogger().log(Logger.DEBUG, "index root", root); ret.setRoot(root); *************** *** 432,436 **** protected String catalog = null; protected String index = null; ! private XMLDbUtilities xmldbutil = null; private String ignoreTheString = null; --- 457,462 ---- protected String catalog = null; protected String index = null; ! protected Filter<CatalogEntity> filter = null; ! protected XMLDbUtilities xmldbutil = null; private String ignoreTheString = null; *************** *** 439,443 **** private boolean[] lastWord = new boolean[EntityType.values().length]; ! protected Hashtable<Long, ArrayList<CatalogEntity>> nodeTable = new Hashtable<Long, ArrayList<CatalogEntity>>(); protected AttributeValueSupplier avs = null; --- 465,469 ---- private boolean[] lastWord = new boolean[EntityType.values().length]; ! protected NodeTable nodeTable = null; protected AttributeValueSupplier avs = null; *************** *** 450,456 **** private CatalogEntityListClassProvider listClassProvider = new DefaultCatalogEntityListClassProvider(); ! protected CatalogIndex(String username, String catalog, String index, CatalogEntity root, ! Hashtable<Long, ArrayList<CatalogEntity>> nodeTable, AttributeValueSupplier avs) { this.username = username; --- 476,482 ---- private CatalogEntityListClassProvider listClassProvider = new DefaultCatalogEntityListClassProvider(); ! protected CatalogIndex(String username, String catalog, String index, CatalogEntity root, ! NodeTable nodeTable, AttributeValueSupplier avs) { this.username = username; *************** *** 721,735 **** } - public boolean isChanged() - { - return (root != null) && root.isChanged(); - } - public synchronized void save() { ! root.setUnchanged(); ! Document doc = XMLUtilities.createDocument(); ! doc.appendChild(root.toXML(doc)); ! xmldbutil.saveApplicationDocument(catalog, new String[] {"index", index + ".xml"}, doc); } --- 747,756 ---- } public synchronized void save() { ! root.save(xmldbutil); ! // Document doc = XMLUtilities.createDocument(); ! // doc.appendChild(root.save(doc)); ! // xmldbutil.saveApplicationDocument(catalog, new String[] {"index", index + ".xml"}, doc); } *************** *** 1106,1110 **** return lastWord[etype.index]; } ! public Collection<EntityDescriptor> getAll(EntityType etype) { --- 1127,1131 ---- return lastWord[etype.index]; } ! public Collection<EntityDescriptor> getAll(EntityType etype) { *************** *** 1128,1136 **** public List<EntityDescriptor> getChildren(long parent, EntityType etype) { ! ArrayList<EntityDescriptor> ret = null; ArrayList<CatalogEntity> celist = nodeTable.get(parent); if (celist != null) { - ret = new ArrayList<EntityDescriptor>(); CatalogEntity ce = celist.get(0); Collection<CatalogEntity> children = ce.getChildren(); --- 1149,1156 ---- public List<EntityDescriptor> getChildren(long parent, EntityType etype) { ! ArrayList<EntityDescriptor> ret = new ArrayList<EntityDescriptor>(); ArrayList<CatalogEntity> celist = nodeTable.get(parent); if (celist != null) { CatalogEntity ce = celist.get(0); Collection<CatalogEntity> children = ce.getChildren(); *************** *** 1208,1212 **** { boolean ret = false; ! ArrayList<CatalogEntity> celist = nodeTable.get(parent); if (celist != null) { --- 1228,1232 ---- { boolean ret = false; ! ArrayList<CatalogEntity> celist = nodeTable.get(parent.id); if (celist != null) { *************** *** 1220,1224 **** { boolean ret = false; ! ArrayList<CatalogEntity> celist = nodeTable.get(parent); if (celist != null) { --- 1240,1244 ---- { boolean ret = false; ! ArrayList<CatalogEntity> celist = nodeTable.get(parent.id); if (celist != null) { *************** *** 1272,1276 **** { CatalogEntity newRoot = root.copy((CatalogEntity)null); ! Hashtable<Long, ArrayList<CatalogEntity>> newNodeTable = constructNodeTable(newRoot); CatalogIndex ret = new CatalogIndex(username, catalog, index, newRoot, newNodeTable, avs); return ret; --- 1292,1296 ---- { CatalogEntity newRoot = root.copy((CatalogEntity)null); ! NodeTable newNodeTable = constructNodeTable(newRoot, null); CatalogIndex ret = new CatalogIndex(username, catalog, index, newRoot, newNodeTable, avs); return ret; *************** *** 1280,1284 **** { CatalogEntity newRoot = root.copy(null, filter); ! Hashtable<Long, ArrayList<CatalogEntity>> newNodeTable = constructNodeTable(newRoot); CatalogIndex ret = new CatalogIndex(username, catalog, index, newRoot, newNodeTable, avs); return ret; --- 1300,1304 ---- { CatalogEntity newRoot = root.copy(null, filter); ! NodeTable newNodeTable = constructNodeTable(newRoot, filter); CatalogIndex ret = new CatalogIndex(username, catalog, index, newRoot, newNodeTable, avs); return ret; *************** *** 1287,1291 **** public CatalogIndex subCatalog(CatalogEntity newroot) { ! return subCatalog(newroot.getLinkName(), newroot); } --- 1307,1311 ---- public CatalogIndex subCatalog(CatalogEntity newroot) { ! return subCatalog(newroot.getName(), newroot); } *************** *** 1294,1298 **** CatalogEntity newRoot = newroot.copy(null); // newroot.setEntityCatalog(name); ! Hashtable<Long, ArrayList<CatalogEntity>> newNodeTable = constructNodeTable(newRoot); CatalogIndex ret = new CatalogIndex(username, catalog, name, newRoot, newNodeTable, avs); newRoot.setCatalog(ret); --- 1314,1318 ---- CatalogEntity newRoot = newroot.copy(null); // newroot.setEntityCatalog(name); ! NodeTable newNodeTable = constructNodeTable(newRoot, null); CatalogIndex ret = new CatalogIndex(username, catalog, name, newRoot, newNodeTable, avs); newRoot.setCatalog(ret); *************** *** 1300,1303 **** --- 1320,1333 ---- } + public CatalogIndex categoryCopy() + { + return copy(CatalogEntity.getTypeFilter(EntityType.CATEGORY)); + } + + public CatalogIndex groupCopy() + { + return copy(CatalogEntity.getTypeFilter(EntityType.GROUP)); + } + public boolean isPruning() { *************** *** 1404,1407 **** --- 1434,1438 ---- if (entity != null) { + entity.load(); ret.add(0, entity); } *************** *** 1430,1434 **** } ! protected Hashtable<Long, ArrayList<CatalogEntity>> getNodeTable() { return nodeTable; --- 1461,1465 ---- } ! public NodeTable getNodeTable() { return nodeTable; *************** *** 1448,1450 **** --- 1479,1491 ---- } + public Filter<CatalogEntity> getFilter() + { + return filter; + } + + public void setFilter(Filter<CatalogEntity> filter) + { + this.filter = filter; + } + } Index: CatalogEntity.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog/CatalogEntity.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CatalogEntity.java 27 Jan 2014 18:09:01 -0000 1.7 --- CatalogEntity.java 19 Feb 2014 15:20:55 -0000 1.8 *************** *** 13,26 **** import uk.co.mullsoft.components.EntityType; import uk.co.mullsoft.components.attributes.ObjectWithTypedProperties; import uk.co.mullsoft.components.attributes.ParameterType; import uk.co.mullsoft.components.base.Filter; import uk.co.mullsoft.components.base.TypedValue; import uk.co.mullsoft.components.entity.EntityDescriptor; import uk.co.mullsoft.components.xml.XMLUtilities; import uk.co.mullsoft.components.xml.database.XMLDbUtilities; ! public class CatalogEntity extends ObjectWithTypedProperties implements Comparable<CatalogEntity> { private boolean selected = false; --- 13,63 ---- import uk.co.mullsoft.components.EntityType; + import uk.co.mullsoft.components.Logger; import uk.co.mullsoft.components.attributes.ObjectWithTypedProperties; import uk.co.mullsoft.components.attributes.ParameterType; import uk.co.mullsoft.components.base.Filter; + import uk.co.mullsoft.components.base.Listable; + import uk.co.mullsoft.components.base.Tree; import uk.co.mullsoft.components.base.TypedValue; import uk.co.mullsoft.components.entity.EntityDescriptor; + import uk.co.mullsoft.components.html.A; + import uk.co.mullsoft.components.html.Checkbox; + import uk.co.mullsoft.components.html.ControlDescriptor; + import uk.co.mullsoft.components.html.Div; + import uk.co.mullsoft.components.html.HiddenInputDescriptor; + import uk.co.mullsoft.components.html.Input; + import uk.co.mullsoft.components.html.ListItem; + import uk.co.mullsoft.components.html.TagDescriptor; + import uk.co.mullsoft.components.html.UnorderedList; import uk.co.mullsoft.components.xml.XMLUtilities; import uk.co.mullsoft.components.xml.database.XMLDbUtilities; ! public class CatalogEntity extends ObjectWithTypedProperties implements Comparable<CatalogEntity>, Tree<CatalogEntity> { + + public static Filter<CatalogEntity> getTypeFilter(EntityType etype1) + { + final EntityType etype = etype1; + return new Filter<CatalogEntity>() + { + @Override + public boolean accept(CatalogEntity t) + { + boolean ret = false; + if (t != null) + { + ret = t.getEntity().type == etype || t.getEntity().type.canContain(etype); + } + return ret; + } + + @Override + public String getName() + { + return etype.toString().toLowerCase(); + } + + }; + } private boolean selected = false; *************** *** 31,39 **** private CatalogIndex catalogIndex = null; private String linkName = null; ! private String name = null; private String entityCatalogName = null; private CatalogIndex entityCatalog = null; ! private boolean subIndex = false; ! private boolean changed = false; public CatalogEntity(CatalogIndex catalog, String name, EntityDescriptor entity, CatalogEntity parent, SortedSet<CatalogEntity> children) --- 68,77 ---- private CatalogIndex catalogIndex = null; private String linkName = null; ! // private String name = null; private String entityCatalogName = null; private CatalogIndex entityCatalog = null; ! // private boolean subIndex = false; ! // private boolean changed = false; ! private int numberOfChildren = 0; public CatalogEntity(CatalogIndex catalog, String name, EntityDescriptor entity, CatalogEntity parent, SortedSet<CatalogEntity> children) *************** *** 43,56 **** this.children = children; this.catalogIndex = catalog; ! this.name = name == null?entity.getName():name; this.linkName = name == null?entity.getName():name; entityCatalogName = parent == null?catalog.getCatalog():parent.entityCatalogName; } ! public void setSubIndex(boolean subIndex) { ! this.subIndex = subIndex; } public EntityDescriptor getEntity() { --- 81,101 ---- this.children = children; this.catalogIndex = catalog; ! // this.subIndex = entity != null && entity.type == EntityType.ITEM; ! // this.name = name == null?entity.getName():name; this.linkName = name == null?entity.getName():name; entityCatalogName = parent == null?catalog.getCatalog():parent.entityCatalogName; } ! public SortedSet<CatalogEntity> getChildren() { ! load(); ! return children; } + // public void setSubIndex(boolean subIndex) + // { + // this.subIndex = subIndex; + // } + public EntityDescriptor getEntity() { *************** *** 97,116 **** } ! public String getLinkName() { return linkName; } ! public void setLinkName(String name) { this.linkName = name; } - public SortedSet<CatalogEntity> getChildren() - { - load(); - return children; - } - public CatalogEntity copy(CatalogEntity parent) { --- 142,155 ---- } ! public String getName() { return linkName; } ! public void setName(String name) { this.linkName = name; } public CatalogEntity copy(CatalogEntity parent) { *************** *** 192,196 **** for (CatalogEntity cent : getChildren()) { ! if (cent.getLinkName().equals(withName)) { ret = cent; --- 231,235 ---- for (CatalogEntity cent : getChildren()) { ! if (cent.getName().equals(withName)) { ret = cent; *************** *** 224,228 **** // Logger.getLogger().log(Logger.DEBUG, "addChild2", getChildren().size(), // child.compareTo(first1), child.equals(first1), child.entity.id); - changed = true; } --- 263,266 ---- *************** *** 230,234 **** { this.parent = parent; - changed = true; } --- 268,271 ---- *************** *** 236,240 **** { this.children = children; ! changed = true; } --- 273,280 ---- { this.children = children; ! if (children != null) ! { ! numberOfChildren = children.size(); ! } } *************** *** 257,261 **** protected synchronized boolean removeChild(CatalogEntity child) { - changed = true; return getChildren().remove(child); } --- 297,300 ---- *************** *** 282,320 **** } - public Element toXML(Document doc) - { - return toXML(doc, this); - } - - private synchronized Element toXML(Document doc, CatalogEntity ce) - { - // Logger.getLogger().log(Logger.DEBUG, "Entity toXML", ce.entity.id, - // ce.entity.getName(), "number of properties", ce.properties.size(), - // "number of children", ce.getChildren().size()); - Element ret = doc.createElementNS("http://www.mullsoft.co.uk/openjean", "openjean:catalogNode"); - ce.entity.toXML(doc, ret); - ce.addPropertiesToXML(ret); - ret.setAttribute("linkname", ce.getLinkName()); - ret.setAttribute("entity-catalog", ce.getEntityCatalogName()); - ret.setAttribute("catalog-index", ce.catalogIndex.getIndex()); - ret.setAttribute("subIndex", String.valueOf(subIndex)); - if (subIndex) - { - saveSubIndex(); - } - else - { - synchronized (ce.getChildren()) - { - for (CatalogEntity child : ce.getChildren()) - { - Element el = toXML(doc, child); - ret.appendChild(el); - } - } - } - return ret; - } - public boolean hasChildren() { --- 321,324 ---- *************** *** 346,350 **** for (CatalogEntity childEntity : getChildren()) { ! if (withName.equals(childEntity.getLinkName())) { ret = true; --- 350,354 ---- for (CatalogEntity childEntity : getChildren()) { ! if (withName.equals(childEntity.getName())) { ret = true; *************** *** 412,416 **** { super.setTypedProperty(name, tv); - changed = true; // Logger.getLogger().log(Logger.DEBUG, "added to properties", name, // tv); --- 416,419 ---- *************** *** 454,457 **** --- 457,465 ---- return getPropertyValue(name, null); } + + public String getValue() + { + return String.valueOf(entity.id); + } @Override *************** *** 507,550 **** } ! private boolean childrenChanged() ! { ! boolean ret = false; ! if (getChildren() != null) ! { ! for (CatalogEntity child : getChildren()) ! { ! if (child.isChanged()) ! { ! ret = true; ! break; ! } ! } ! } ! return ret; ! } ! ! public boolean isChanged() { ! return changed && childrenChanged(); } ! protected synchronized void setUnchanged() { ! changed = false; ! if (getChildren() != null) ! { ! for (CatalogEntity child : getChildren()) ! { ! child.setUnchanged(); ! } ! } } ! ! public int getNumberOfChildren() { ! return getChildren().size(); } - public boolean isSelected() { --- 515,533 ---- } ! public int getNumberOfChildren() { ! return numberOfChildren; } ! protected void setNumberOfChildren(int numberOfChildren) { ! this.numberOfChildren = numberOfChildren; } ! ! public boolean isLeaf() { ! return entity.type == EntityType.ITEM; } public boolean isSelected() { *************** *** 613,640 **** } ! public String toHTMLListItem() { ! return toHTMLListItem(false); } ! protected String getHTMLListItemPrefix() { String typestring = entity.getType().toString().toLowerCase(); StringBuilder buff = new StringBuilder(); ! buff.append("<li class=\""); ! buff.append(getEntityCatalog().getListClassProvider().getListClass(this)); ! if (entity.id == 0) ! { ! buff.append("-open"); ! } ! else ! { ! buff.append("-closed"); ! } ! buff.append("\" id=\"li_"); ! buff.append(entity.id); ! buff.append("\"><a class=\"oj-a\" id=\"a_"); ! buff.append(entity.id); ! buff.append("\" href=\"#\" onclick=\"oj_entitySelected('"); buff.append(getEntityCatalogName()); buff.append("', '"); --- 596,663 ---- } ! public ListItem toHTMLListItem() { ! return toHTMLListItem(false, false, false); } ! public ListItem toHTMLListItem(boolean draggable) ! { ! return toHTMLListItem(false, draggable, false); ! } ! ! public ListItem toHTMLListItem(boolean draggable, boolean selectable) ! { ! return toHTMLListItem(false, draggable, selectable); ! } ! ! // protected String getHTMLListItemPrefix(boolean draggable) ! // { ! // String typestring = entity.getType().toString().toLowerCase(); ! // StringBuilder buff = new StringBuilder(); ! // buff.append("<li class=\""); ! // buff.append(getEntityCatalog().getListClassProvider().getListClass(this)); ! // if (entity.id == 0) ! // { ! // buff.append("-open"); ! // } ! // else ! // { ! // buff.append("-closed"); ! // } ! // if (draggable) ! // { ! // buff.append("\" draggable=\"true"); ! // } ! // buff.append("\" id=\"oj-li-"); ! // buff.append(entity.id); ! // buff.append("\"><a class=\"oj-a\" id=\"oj-a-"); ! // buff.append(entity.id); ! // buff.append("\" href=\"#\" onclick=\"oj_EntitySelected('"); ! // buff.append(getEntityCatalogName()); ! // buff.append("', '"); ! // buff.append(catalogIndex.getPath(this)); ! // buff.append("', '"); ! // buff.append(typestring); ! // buff.append("', "); ! // buff.append(getNumberOfChildren() > 0); ! // buff.append(", "); ! // buff.append((entity.id >= 0) && getEntityCatalog().hasVisiblePages(entity.type)); ! // buff.append("); return false;\">"); ! // buff.append(getName()); ! // buff.append("</a>"); ! // if (getNumberOfChildren() > 0) ! // { ! // buff.append("\n<div class=\"oj-div\" id=\"oj-div-"); ! // buff.append(entity.id); ! // buff.append("\">"); ! // } ! // return buff.toString(); ! // } ! ! private String getOnClick() { String typestring = entity.getType().toString().toLowerCase(); StringBuilder buff = new StringBuilder(); ! buff.append("oj_EntitySelected('"); buff.append(getEntityCatalogName()); buff.append("', '"); *************** *** 646,658 **** buff.append(", "); buff.append((entity.id >= 0) && getEntityCatalog().hasVisiblePages(entity.type)); ! buff.append(")\">"); ! buff.append(getLinkName()); ! buff.append("</a>"); ! if (getNumberOfChildren() > 0) ! { ! buff.append("\n<div class=\"oj-div\" id=\"div_"); ! buff.append(entity.id); ! buff.append("\">"); ! } return buff.toString(); } --- 669,673 ---- buff.append(", "); buff.append((entity.id >= 0) && getEntityCatalog().hasVisiblePages(entity.type)); ! buff.append("); return false;"); return buff.toString(); } *************** *** 669,701 **** } ! public String toHTMLListItem(boolean includeChildren) { ! StringBuilder buff = new StringBuilder(); ! buff.append(getHTMLListItemPrefix()); ! if ((getNumberOfChildren() > 0) && includeChildren) { ! buff.append(childrenToHTMLList()); } ! buff.append(getHTMLListItemSuffix()); ! return buff.toString(); ! } ! ! public String childrenToHTMLList() ! { ! StringBuilder buff = new StringBuilder(); ! if ((getChildren() != null) && (getChildren().size() > 0)) { ! buff.append("<ul class=\"oj-ul\" id=\"ul_"); ! buff.append(entity.id); ! buff.append("\">\n"); ! for (CatalogEntity child : getChildren()) { ! buff.append(child.toHTMLListItem()); } ! buff.append("</ul>\n"); } ! return buff.toString(); } public String toString() { --- 684,746 ---- } ! public ListItem toHTMLListItem(boolean includeChildren, boolean draggable, boolean selectable) { ! String classname = getEntityCatalog().getListClassProvider().getListClass(this) + (entity.id == 0?"-open":"-closed"); ! ControlDescriptor atd = new ControlDescriptor("oj-a-" + entity.id, "oj-catalog-a-class", getName(), null, getOnClick()); ! A a = new A(atd); ! String contents = ""; ! if (selectable) { ! contents = Checkbox.getCheckbox(getId("oj-catalog-checkbox-")).toString(); } ! contents += a.toString(); ! if (getNumberOfChildren() > 0) { ! String divcontents = null; ! if (includeChildren) { ! if ((getChildren() != null) && (getChildren().size() > 0)) ! { ! UnorderedList ul = UnorderedList.getList("oj-ul-", getChildren(), draggable, selectable, includeChildren); ! divcontents = ul.toString(); ! } } ! TagDescriptor divtd = new TagDescriptor("oj-div-" + entity.id, "oj-catalog-li-div-class", divcontents, null); ! Div lidiv = new Div(divtd); ! contents += lidiv.toString(); } ! String extraAttributes = null; ! TagDescriptor litd = new TagDescriptor("oj-li-" + entity.id, classname, contents, null); ! ListItem li = new ListItem(litd, extraAttributes); ! return li; ! ! // StringBuilder buff = new StringBuilder(); ! // buff.append(getHTMLListItemPrefix(draggable)); ! // if ((getNumberOfChildren() > 0) && includeChildren) ! // { ! // buff.append(childrenToHTMLList(draggable)); ! // } ! // buff.append(getHTMLListItemSuffix()); ! // return buff.toString(); } + // public String childrenToHTMLList(boolean draggable) + // { + // + // StringBuilder buff = new StringBuilder(); + // if ((getChildren() != null) && (getChildren().size() > 0)) + // { + // buff.append("<ul class=\"oj-ul\" id=\"oj-ul-"); + // buff.append(entity.id); + // buff.append("\">\n"); + // for (CatalogEntity child : getChildren()) + // { + // buff.append(child.toHTMLListItem(draggable)); + // } + // buff.append("</ul>\n"); + // } + // return buff.toString(); + // } + public String toString() { *************** *** 714,733 **** } ! private void saveSubIndex() { ! XMLDbUtilities xmldbutil = XMLDbUtilities.instance(catalogIndex.getUsername(), catalogIndex.getCatalog()); ! Document doc = XMLUtilities.createDocument(); ! doc.appendChild(toXML(doc)); ! xmldbutil.saveApplicationDocument(catalogIndex.getCatalog(), new String[] {"index", catalogIndex.getIndex(), parent.entity.id + "-" + entity.id + ".xml"}, doc); } ! private void load() { ! if (children == null) { XMLDbUtilities xmldbutil = XMLDbUtilities.instance(catalogIndex.getUsername(), catalogIndex.getCatalog()); ! Document doc = xmldbutil.getApplicationDocument(new String[] {"index", catalogIndex.getIndex(), parent.entity.id + "-" + entity.id + ".xml"}); if (doc != null) { CatalogEntity ce = CatalogIndex.getCatalogEntityFromNode(catalogIndex, doc.getDocumentElement(), parent, CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), --- 759,874 ---- } ! // public Element save(Document doc) ! // { ! // return save(doc, this); ! // } ! // ! // private synchronized Element save(Document doc, CatalogEntity ce) ! // { ! // // Logger.getLogger().log(Logger.DEBUG, "Entity toXML", ce.entity.id, ! // // ce.entity.getName(), "number of properties", ce.properties.size(), ! // // "number of children", ce.getChildren().size()); ! // Element ret = doc.createElementNS("http://www.mullsoft.co.uk/openjean", "openjean:catalogNode"); ! // ce.entity.toXML(doc, ret); ! // ce.addPropertiesToXML(ret); ! // ret.setAttribute("linkname", ce.getLinkName()); ! // ret.setAttribute("entity-catalog", ce.getEntityCatalogName()); ! // ret.setAttribute("catalog-index", ce.catalogIndex.getIndex()); ! // ret.setAttribute("subIndex", String.valueOf(subIndex)); ! // if (subIndex) ! // { ! // saveSubIndex(); ! // } ! // else ! // { ! // synchronized (ce.getChildren()) ! // { ! // for (CatalogEntity child : ce.getChildren()) ! // { ! // Element el = save(doc, child); ! // ret.appendChild(el); ! // } ! // } ! // } ! // return ret; ! // } ! // ! // private void saveSubIndex() ! // { ! // XMLDbUtilities xmldbutil = XMLDbUtilities.instance(catalogIndex.getUsername(), catalogIndex.getCatalog()); ! // Document doc = XMLUtilities.createDocument(); ! // doc.appendChild(save(doc)); ! // xmldbutil.saveApplicationDocument(catalogIndex.getCatalog(), new String[] {"index", catalogIndex.getIndex(), parent.entity.id + "-" + entity.id + ".xml"}, doc); ! // } ! ! private Element getElement(Document doc, CatalogEntity ce) { ! Element el = doc.createElementNS("http://www.mullsoft.co.uk/openjean", "openjean:catalogNode"); ! ce.entity.toXML(doc, el); ! ce.addPropertiesToXML(el); ! el.setAttribute("linkname", ce.getName()); ! el.setAttribute("entity-catalog", ce.getEntityCatalogName()); ! el.setAttribute("catalog-index", ce.catalogIndex.getIndex()); ! el.setAttribute("number-of-children", String.valueOf(ce.numberOfChildren)); ! return el; } ! public synchronized void save(XMLDbUtilities xmldbutil) { ! if (!existsDefaultVersion(xmldbutil)) ! { ! Document doc = XMLUtilities.createDocument(); ! Element el = getElement(doc, this); ! for (CatalogEntity child : getChildren()) ! { ! el.appendChild(getElement(doc, child)); ! if (child.entity.getType() != EntityType.ITEM) ! { ! child.save(xmldbutil); ! } ! } ! doc.appendChild(el); ! String[] key = parent == null?(new String[] {"index", catalogIndex.getIndex() + ".xml"}):(new String[] {"index", catalogIndex.getIndex(), parent.entity.id + "-" + entity.id + ".xml"}); ! xmldbutil.saveApplicationDocument(catalogIndex.getCatalog(), key, doc); ! } ! } ! ! private boolean existsDefaultVersion(XMLDbUtilities xmldbutil) ! { ! boolean ret = false; ! if ((parent != null) && !"default".equals(catalogIndex.getIndex())) ! { ! String[] key = new String[] {"index", "default", parent.entity.id + "-" + entity.id + ".xml"}; ! ret = xmldbutil.existsApplicationDocument(catalogIndex.getCatalog(), key); ! } ! return ret; ! } ! ! protected void load() ! { ! // Logger.getLogger().log(Logger.DEBUG, "loading", linkName, entity.id); ! if (entity.type == EntityType.ITEM) ! { ! if (children == null) ! { ! this.children = new TreeSet<CatalogEntity>(CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), ! catalogIndex.getIndex())); ! numberOfChildren = 0; ! } ! } ! else if (children == null) { XMLDbUtilities xmldbutil = XMLDbUtilities.instance(catalogIndex.getUsername(), catalogIndex.getCatalog()); ! String subname = parent.entity.id + "-" + entity.id + ".xml"; ! // Logger.getLogger().log(Logger.DEBUG, "loading", linkName, entity.id, "from", subname); ! Document doc = xmldbutil.getApplicationDocument(new String[] {"index", catalogIndex.getIndex(), subname}); ! if (doc == null) ! { ! doc = xmldbutil.getApplicationDocument(new String[] {"index", "default", subname}); ! } if (doc != null) { + // Logger.getLogger().log(Logger.DEBUG, "loaded"); + // Logger.getLogger().logStackTrace(); CatalogEntity ce = CatalogIndex.getCatalogEntityFromNode(catalogIndex, doc.getDocumentElement(), parent, CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), *************** *** 736,739 **** --- 877,886 ---- { entity.setParent(this); + if (entity.entity.type == EntityType.ITEM) + { + entity.children = new TreeSet<CatalogEntity>(CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), + catalogIndex.getIndex())); + entity.numberOfChildren = 0; + } } this.children = ce.children; *************** *** 741,749 **** else { ! children = new TreeSet(CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), catalogIndex.getIndex())); } } } } --- 888,917 ---- else { ! this.children = new TreeSet<CatalogEntity>(CatalogIndex.getCatalogEntityComparator(catalogIndex.getUsername(), catalogIndex.getCatalog(), catalogIndex.getIndex())); } + numberOfChildren = children.size(); + } + } + + public void loadAll() + { + for (CatalogEntity child : getChildren()) + { + child.loadAll(); } } + @Override + public String getId(String prefix) + { + return prefix + entity.id; + } + + @Override + public CatalogEntity getRoot() + { + return this; + } + } Index: CatalogFilter.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/xml/catalog/CatalogFilter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CatalogFilter.java 27 Jan 2014 18:09:01 -0000 1.4 --- CatalogFilter.java 19 Feb 2014 15:20:55 -0000 1.5 *************** *** 14,21 **** public CatalogFilter(String name, CatalogIndex clog, Filter<CatalogEntity> filter) { ! super(clog.username, clog.catalog, clog.index, clog.root.copy(null, filter), new Hashtable<Long, ArrayList<CatalogEntity>>(), clog.avs); this.clog = clog; this.filter = filter; ! nodeTable = constructNodeTable(root); } --- 14,21 ---- public CatalogFilter(String name, CatalogIndex clog, Filter<CatalogEntity> filter) { ! super(clog.username, clog.catalog, clog.index, clog.root.copy(null, filter), new NodeTable(clog.xmldbutil, clog.getCatalog(), clog.index), clog.avs); this.clog = clog; this.filter = filter; ! nodeTable = constructNodeTable(root, filter); } |
Update of /cvsroot/openjean/components/uk/co/mullsoft/components/base In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23441/uk/co/mullsoft/components/base Modified Files: Filters.java NamedString.java Filter.java Added Files: Tree.java Orientation.java Listable.java Log Message: update feb 19 2014 Index: Filter.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/base/Filter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Filter.java 1 Jul 2013 18:52:04 -0000 1.1 --- Filter.java 19 Feb 2014 15:20:53 -0000 1.2 *************** *** 1,5 **** package uk.co.mullsoft.components.base; ! public interface Filter<T> { public boolean accept(T t); --- 1,5 ---- package uk.co.mullsoft.components.base; ! public interface Filter<T> extends Named { public boolean accept(T t); Index: Filters.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/base/Filters.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Filters.java 1 Jul 2013 18:52:04 -0000 1.1 --- Filters.java 19 Feb 2014 15:20:53 -0000 1.2 *************** *** 14,17 **** --- 14,23 ---- return l.accept(t) && r.accept(t); } + + @Override + public String getName() + { + return l.getName() + "-and-" + r.getName(); + } }; *************** *** 28,31 **** --- 34,43 ---- return l.accept(t) || r.accept(t); } + + @Override + public String getName() + { + return l.getName() + "-or-" + r.getName(); + } }; *************** *** 42,45 **** --- 54,63 ---- return !(l.accept(t) && r.accept(t)); } + + @Override + public String getName() + { + return l.getName() + "-nand-" + r.getName(); + } }; *************** *** 56,59 **** --- 74,83 ---- return !(l.accept(t) || r.accept(t)); } + + @Override + public String getName() + { + return l.getName() + "-nor-" + r.getName(); + } }; *************** *** 70,73 **** --- 94,103 ---- return !f.accept(t); } + + @Override + public String getName() + { + return "not-" + f.getName(); + } }; --- NEW FILE: Listable.java --- package uk.co.mullsoft.components.base; public interface Listable { public String getName(); public String getValue(); public String getId(String prefix); } Index: NamedString.java =================================================================== RCS file: /cvsroot/openjean/components/uk/co/mullsoft/components/base/NamedString.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** NamedString.java 26 Mar 2012 17:11:40 -0000 1.8 --- NamedString.java 19 Feb 2014 15:20:53 -0000 1.9 *************** *** 4,8 **** import uk.co.mullsoft.components.attributes.ParameterType; ! public class NamedString extends NamedObject implements Comparable<NamedString> { --- 4,8 ---- import uk.co.mullsoft.components.attributes.ParameterType; ! public class NamedString extends ObjectWithProperties implements Comparable<NamedString> { *************** *** 12,46 **** if (str != null) { ! String[] stra = StringUtilities.tokenize(str, false, '&'); ! switch (stra.length) { ! case 1: ! { ! ret = new NamedString(stra[0], null); ! break; ! } ! case 2: ! { ! ret = new NamedString(stra[0], stra[1]); ! break; ! } ! case 3: ! { ! ret = new NamedString(stra[0], stra[1]); ! int pipe = stra[2].indexOf('|'); ! if (pipe < 0) ! { ! ret.setUserObject(stra[2]); ! } ! else ! { ! ParameterType ptype = ParameterType.parse(stra[2].substring(0, pipe)); ! if (ptype != null) ! { ! ret.setUserObject(ParameterType.getStringConverterForObjectsOfType(ptype).fromString(stra[2])); ! } ! } ! break; ! } } } --- 12,19 ---- if (str != null) { ! int eq = str.indexOf('='); ! if (eq > 0) { ! ret = new NamedString(str.substring(0, eq), str.substring(eq + 1)); } } *************** *** 49,60 **** private String str = null; public NamedString(String name, String str) { ! super(name); this.str = str; } - @Override public String getValue() { --- 22,39 ---- private String str = null; + private String name = null; public NamedString(String name, String str) { ! super(); this.str = str; + this.name = name; + } + + public String getName() + { + return name; } public String getValue() { *************** *** 91,95 **** if (str == null) { ! ret = ns.str == null ? 0 : 1; } else --- 70,74 ---- if (str == null) { ! ret = 1; } else *************** *** 106,128 **** public String toString() { ! StringBuilder buff = new StringBuilder(name); ! buff.append('&'); ! if (str != null) ! { ! buff.append(str); ! } ! Object obj = super.getValue(); ! if (obj != null) ! { ! ParameterType ptype = ParameterType.getTypeForValue(obj); ! if (ptype != null) ! { ! buff.append('&'); ! buff.append(ptype); ! buff.append('|'); ! buff.append(ParameterType.getStringConverterForObjectsOfType(ptype).toString(obj)); ! } ! } ! return buff.toString(); } --- 85,89 ---- public String toString() { ! return (name == null?"null":name) + '=' + (str == null?"null":str); } --- NEW FILE: Orientation.java --- package uk.co.mullsoft.components.base; public enum Orientation { HORIZONTAL, VERTICAL } --- NEW FILE: Tree.java --- package uk.co.mullsoft.components.base; import java.util.SortedSet; import uk.co.mullsoft.components.html.ListItem; public interface Tree<T extends Comparable<T>> extends Listable { public SortedSet<? extends Tree<T>> getChildren(); public T getRoot(); public boolean isLeaf(); public int getNumberOfChildren(); public ListItem toHTMLListItem(boolean includeChildren, boolean draggable, boolean selectable); } |
From: Mike C. <com...@us...> - 2014-02-19 15:20:51
|
Update of /cvsroot/openjean/ojdb/uk/co/mullsoft/ojdb In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23429/uk/co/mullsoft/ojdb Modified Files: OJCatalogStructure.java OJDatabaseAdmin.java Log Message: update feb 19 2014 Index: OJCatalogStructure.java =================================================================== RCS file: /cvsroot/openjean/ojdb/uk/co/mullsoft/ojdb/OJCatalogStructure.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** OJCatalogStructure.java 3 Jan 2013 12:17:28 -0000 1.25 --- OJCatalogStructure.java 19 Feb 2014 15:20:48 -0000 1.26 *************** *** 928,938 **** } */ ! public Document toXML() ! { ! Document doc = XMLUtilities.createDocument(); ! Element el = root.toXML(doc); ! doc.appendChild(el); ! return doc; ! } public EntityDescriptor getEntityDescriptor(long id, long parent) --- 928,938 ---- } */ ! // public Document toXML() ! // { ! // Document doc = XMLUtilities.createDocument(); ! // Element el = root.save(doc); ! // doc.appendChild(el); ! // return doc; ! // } public EntityDescriptor getEntityDescriptor(long id, long parent) *************** *** 976,980 **** String dest = tokens[1]; int colon = dest.indexOf(':'); ! long childid = OJDatabaseConstants.NOSUCHENTITY; try { --- 976,980 ---- String dest = tokens[1]; int colon = dest.indexOf(':'); ! long childid = Constants.NOSUCHENTITY; try { Index: OJDatabaseAdmin.java =================================================================== RCS file: /cvsroot/openjean/ojdb/uk/co/mullsoft/ojdb/OJDatabaseAdmin.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** OJDatabaseAdmin.java 27 Jan 2014 18:08:55 -0000 1.30 --- OJDatabaseAdmin.java 19 Feb 2014 15:20:48 -0000 1.31 *************** *** 80,83 **** --- 80,84 ---- import uk.co.mullsoft.components.xml.catalog.CatalogIndex; import uk.co.mullsoft.components.xml.catalog.CatalogEntity; + import uk.co.mullsoft.components.xml.catalog.NodeTable; import uk.co.mullsoft.components.xml.database.BLOB; import uk.co.mullsoft.components.xml.database.LockedException; *************** *** 100,104 **** private static String suffix = null; ! private static String[] expectedOptionsWithValues = new String[] { "installdir", "maxcount", "entitytype", "id", "idx", "parent", "parentx", "outfile", "fromfile", "attributename", "pagename", "property", "value", "oldvalue", "attributetype", "propertyname", "collection", "folder", "alternative", "path", "defaultvalue", "startwith", "parameter", "filter", "change", "from", "to", "changefile", "logical", "cmdfile", "prefix", "suffix", "fromfiles", "fromfolder", "tofolder", "dir1", "dir2", "processor", "n", "ordinal", "name", "username", "hostname", "password", --- 101,105 ---- private static String suffix = null; ! private static String[] expectedOptionsWithValues = new String[] { "installdir", "maxcount", "entitytype", "id", "idx", "omit", "omitx", "parent", "parentx", "outfile", "fromfile", "attributename", "pagename", "property", "value", "oldvalue", "attributetype", "propertyname", "collection", "folder", "alternative", "path", "defaultvalue", "startwith", "parameter", "filter", "change", "from", "to", "changefile", "logical", "cmdfile", "prefix", "suffix", "fromfiles", "fromfolder", "tofolder", "dir1", "dir2", "processor", "n", "ordinal", "name", "username", "hostname", "password", *************** *** 556,559 **** --- 557,561 ---- } long[] id = null; + long[] omit = null; long[] parent = null; String idString = cl.getOption("id"); *************** *** 627,630 **** --- 629,702 ---- } } + String omitString = cl.getOption("omit"); + if (omitString != null) + { + // is it a filename + try + { + File omitf = new File(omitString); + if (omitf.isFile()) + { + String[] omitlist = FileUtilities.loadTextFile(omitf); + if ((omitlist != null) && (omitlist.length > 0)) + { + omit = new long[omitlist.length]; + for (int n = 0; n < omit.length; n++) + { + try + { + omit[n] = Long.parseLong(omitlist[n].trim()); + } + catch (NumberFormatException ignored1) + { + } + } + } + } + } + catch (Exception e) + { + // e.printStackTrace(); + } + if (omit == null) + { + omit = StringUtilities.toLongArray(omitString, ","); + } + } + omitString = cl.getOption("omitx"); + if (omitString != null) + { + // is it a filename + try + { + File omitf = new File(omitString); + if (omitf.isFile()) + { + String[] omitlist = FileUtilities.loadTextFile(omitf); + if ((omitlist != null) && (omitlist.length > 0)) + { + omit = new long[omitlist.length]; + for (int n = 0; n < omit.length; n++) + { + try + { + omit[n] = Long.parseLong(omitlist[n].trim(), 16); + } + catch (NumberFormatException ignored1) + { + } + } + } + } + } + catch (Exception e) + { + // e.printStackTrace(); + } + if (omit == null) + { + omit = StringUtilities.toHexLongArray(omitString, ","); + } + } String pString = cl.getOption("parent"); if (pString != null) *************** *** 897,901 **** if (otherAPIName == null) { ! admin.renewIndex(); } else --- 969,973 ---- if (otherAPIName == null) { ! admin.renewIndex(omit); } else *************** *** 915,919 **** if ((id != null) && (id.length == 1) && (parent != null) && (parent.length == 1)) { ! admin.renewIndex(id[0], parent[0]); admin.resetid(); } --- 987,991 ---- if ((id != null) && (id.length == 1) && (parent != null) && (parent.length == 1)) { ! admin.renewIndex(id[0], parent[0], omit); admin.resetid(); } *************** *** 1631,1635 **** } ! protected void renewIndex() { DbTreeController avs = DbTreeController.newDbTreeController(username, catalog); --- 1703,1729 ---- } ! private void prune(CatalogIndex cat, long[] toprune) ! { ! if ((toprune != null) && (toprune.length > 0)) ! { ! for (long pruneid : toprune) ! { ! ArrayList<CatalogEntity> celist = cat.getNodeTable().get(pruneid); ! if (celist != null) ! { ! for (CatalogEntity ce : celist) ! { ! CatalogEntity parent = ce.getParent(); ! if (parent != null) ! { ! parent.getChildren().remove(ce); ! } ! } ! } ! } ! } ! } ! ! protected void renewIndex(long[] omit) { DbTreeController avs = DbTreeController.newDbTreeController(username, catalog); *************** *** 1641,1644 **** --- 1735,1739 ---- else { + prune(clog, omit); clog.save(); Logger.getLogger().log(Logger.INFO, "done"); *************** *** 1646,1669 **** } ! protected void renewIndex(long id, long parent) { ! DbTreeController avs = DbTreeController.newDbTreeController(username, catalog); ! CatalogIndex clog = CatalogIndex.getCatalog(username, catalog, avs, true); ! if (clog == null) { ! Logger.getLogger().log(Logger.ERROR, "unable to create Catalog", catalog); } else { ! CatalogEntity newroot = clog.findEntity(id, parent); ! if (newroot != null) { ! CatalogIndex clog1 = clog.subCatalog(newroot); ! clog1.save(); ! Logger.getLogger().log(Logger.INFO, "done"); } else { ! Logger.getLogger().log(Logger.INFO, "no entity for", id, "with parent", parent); } } --- 1741,1782 ---- } ! protected void renewIndex(long id, long parent, long[] omit) { ! String subname = parent + "-" + id + ".xml"; ! String[] subkey = new String[] {"index", "default", subname}; ! XMLDbUtilities xmldbutil = XMLDbUtilities.instance(username, catalog); ! if (xmldbutil.existsApplicationDocument(catalog, subkey)) { ! String[] subkey1 = new String[] {catalog, "index", "default", subname}; ! XMLDatabaseKey subdbkey = new XMLDatabaseKey(subkey1); ! Document doc = XMLUtilities.createDocument(); ! Element el = doc.createElementNS("http://www.mullsoft.co.uk/openjean", "openjean:redirect"); ! el.setTextContent(subdbkey.toString()); ! doc.appendChild(el); ! String nm = ojdb.getName(id); ! String[] indexkey = new String[] {"index", nm + ".xml"}; ! xmldbutil.saveApplicationDocument(catalog, indexkey, doc); } else { ! DbTreeController avs = DbTreeController.newDbTreeController(username, catalog); ! CatalogIndex clog = CatalogIndex.getCatalog(username, catalog, avs, true); ! if (clog == null) { ! Logger.getLogger().log(Logger.ERROR, "unable to create Catalog", catalog); } else { ! CatalogEntity newroot = clog.findEntity(id, parent); ! if (newroot != null) ! { ! CatalogIndex clog1 = clog.subCatalog(newroot); ! clog1.save(); ! Logger.getLogger().log(Logger.INFO, "done"); ! } ! else ! { ! Logger.getLogger().log(Logger.INFO, "no entity for", id, "with parent", parent); ! } } } *************** *** 1756,1764 **** soloTypes.add("soloist"); } ! OJDatabaseUtilities otherUtilities = OJDatabaseUtilities.newOJDatabaseUtilities(username, otherAPIName); OJDatabase otherdb = OJDatabase.newOJDatabase(username, otherAPIName); if (alpha) { ! CatalogIndex index = CatalogIndex.newCatalogIndex(username, catalog, otherAPIName, null, new Hashtable<Long, ArrayList<CatalogEntity>>(), avs); SortedSet<CatalogEntity> children1 = new TreeSet<CatalogEntity>(); Hashtable<String, CatalogEntity> children1Table = new Hashtable<String, CatalogEntity>(); --- 1869,1877 ---- soloTypes.add("soloist"); } ! // OJDatabaseUtilities otherUtilities = OJDatabaseUtilities.newOJDatabaseUtilities(username, otherAPIName); OJDatabase otherdb = OJDatabase.newOJDatabase(username, otherAPIName); if (alpha) { ! CatalogIndex index = CatalogIndex.newCatalogIndex(username, catalog, otherAPIName, null, new NodeTable(XMLDbUtilities.instance(username, catalog), catalog, otherAPIName), avs); SortedSet<CatalogEntity> children1 = new TreeSet<CatalogEntity>(); Hashtable<String, CatalogEntity> children1Table = new Hashtable<String, CatalogEntity>(); *************** *** 1821,1825 **** String char1 = itemName.substring(0, 1).toUpperCase(); CatalogEntity char1Entity = children1Table.get(char1); ! Logger.getLogger().log(Logger.DEBUG, "got entity for", char1); if (char1Entity == null) { --- 1934,1938 ---- String char1 = itemName.substring(0, 1).toUpperCase(); CatalogEntity char1Entity = children1Table.get(char1); ! // Logger.getLogger().log(Logger.DEBUG, "got entity for", char1); if (char1Entity == null) { *************** *** 1831,1835 **** children1.add(char1Entity); children2Table.put(char1, chn); ! Logger.getLogger().log(Logger.DEBUG, "2.added entry for", char1); } CatalogEntity artistEntity = new CatalogEntity(index, itemName, new EntityDescriptor(itemName, id, EntityType.INDEXENTRY, ""), char1Entity, entities); --- 1944,1948 ---- children1.add(char1Entity); children2Table.put(char1, chn); ! // Logger.getLogger().log(Logger.DEBUG, "2.added entry for", char1); } CatalogEntity artistEntity = new CatalogEntity(index, itemName, new EntityDescriptor(itemName, id, EntityType.INDEXENTRY, ""), char1Entity, entities); *************** *** 1843,1847 **** CatalogEntity ent = cents.get(0); CatalogEntity entity = ent.copy(artistEntity); ! entity.setLinkName(ent.getPathname()); entities.add(entity); // Logger.getLogger().log(Logger.DEBUG, "added album", entity.getLinkName(), "to", artistEntity.getLinkName()); --- 1956,1960 ---- CatalogEntity ent = cents.get(0); CatalogEntity entity = ent.copy(artistEntity); ! entity.setName(ent.getPathname()); entities.add(entity); // Logger.getLogger().log(Logger.DEBUG, "added album", entity.getLinkName(), "to", artistEntity.getLinkName()); *************** *** 1858,1862 **** children1.add(unknownEntity); SortedSet<CatalogEntity> chn1 = new TreeSet<CatalogEntity>(); ! CatalogEntity unknownOtherEntity = new CatalogEntity(index, "unKnown artis", EntityDescriptor.getIndexEntryEntityDescriptor("unKnown " + otherAPIName, -699), unknownEntity, chn1); chn.add(unknownOtherEntity); for (long thisid : unknown.toArray()) --- 1971,1975 ---- children1.add(unknownEntity); SortedSet<CatalogEntity> chn1 = new TreeSet<CatalogEntity>(); ! CatalogEntity unknownOtherEntity = new CatalogEntity(index, "unKnown artist", EntityDescriptor.getIndexEntryEntityDescriptor("unKnown " + otherAPIName, -699), unknownEntity, chn1); chn.add(unknownOtherEntity); for (long thisid : unknown.toArray()) *************** *** 1867,1871 **** CatalogEntity ent = cents.get(0); CatalogEntity entity = ent.copy(unknownOtherEntity); ! entity.setLinkName(ent.getPathname()); chn1.add(entity); // Logger.getLogger().log(Logger.DEBUG, "added album", entity.getLinkName(), "to", artistEntity.getLinkName()); --- 1980,1984 ---- CatalogEntity ent = cents.get(0); CatalogEntity entity = ent.copy(unknownOtherEntity); ! entity.setName(ent.getPathname()); chn1.add(entity); // Logger.getLogger().log(Logger.DEBUG, "added album", entity.getLinkName(), "to", artistEntity.getLinkName()); *************** *** 1880,1884 **** { other.setEntityCatalogName(otherAPIName, false); ! Logger.getLogger().log(Logger.DEBUG, other.getLinkName(), "entityCatalogName", other.getEntityCatalogName(), "should be", otherAPIName); } } --- 1993,1997 ---- { other.setEntityCatalogName(otherAPIName, false); ! // Logger.getLogger().log(Logger.DEBUG, other.getLinkName(), "entityCatalogName", other.getEntityCatalogName(), "should be", otherAPIName); } } |
From: Mike C. <com...@us...> - 2014-02-19 15:20:45
|
Update of /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/components In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23411/src/uk/co/mullsoft/ojweb/components Log Message: Directory /cvsroot/openjean/ojwebservice/src/uk/co/mullsoft/ojweb/components added to the repository |
From: Mike C. <com...@us...> - 2014-02-19 15:20:42
|
Update of /cvsroot/openjean/components/uk/co/mullsoft/components/html In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23390/uk/co/mullsoft/components/html Log Message: Directory /cvsroot/openjean/components/uk/co/mullsoft/components/html added to the repository |
From: Mike C. <com...@us...> - 2014-01-27 18:09:24
|
Update of /cvsroot/openjean/ojwebservice/WebContent/scripts In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26113/WebContent/scripts Modified Files: openjean.js Log Message: update 27 jan 2014 Index: openjean.js =================================================================== RCS file: /cvsroot/openjean/ojwebservice/WebContent/scripts/openjean.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** openjean.js 5 Jan 2014 11:15:15 -0000 1.1 --- openjean.js 27 Jan 2014 18:09:22 -0000 1.2 *************** *** 1,39 **** ! function oj_playTracks(trackString) { ! var player = $('#audio')[0]; if (player != null) { var tracks = trackString.split(','); ! var len = tracks.length; ! if (len > 0) { var clog = $('#catalog').val(); var uname = $('#username').val(); ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + tracks[0] +'&activity=stream' ! if (tracks.length > 1) { ! url = url + '&preload=' + tracks[1]; ! } ! var next1 = 1; ! player.src = url; player.load(); player.play(); if (tracks.length > 1) { player.addEventListener('ended', function(e) { ! var url1 = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + tracks[next1] +'&activity=stream' ! next1++; ! if (tracks.length > next1) ! { ! url = url + '&preload=' + tracks[next1]; ! } ! player.src = url1; ! if (next1 == len) { ! next1 = 0; } - player.load(); - player.play(); }); } --- 1,108 ---- ! var current_duration = 0; ! var current_playerid = ''; ! var current_track = 0; ! var current_trackString = ''; ! ! function oj_playTracks() { ! var playerid = $('#oj-player-id').val(); ! var trackString = $('#oj-player-trackstring').val(); ! var startAt = parseInt($('#oj-player-trackno').val()); ! window.console && console.log("oj_playTracks id " + playerid + " tracks " + trackString + " start at " + startAt); ! current_playerid = playerid; ! current_trackString = trackString; ! var player = $(playerid)[0]; if (player != null) { + window.console && console.log("oj_playTracks got player"); var tracks = trackString.split(','); ! var len = parseInt($('#oj-player-notoplay').val()); ! if ((len > 0) && (startAt >= 0) && (startAt < len)) { + window.console && console.log("oj_playTracks about to start"); + $('#oj-player-started').attr('value', '1'); var clog = $('#catalog').val(); var uname = $('#username').val(); ! var trackdetails = tracks[startAt].split('+'); ! var track = trackdetails[0]; ! var duration = trackdetails[1]; ! var vol = trackdetails.length > 2?Number(trackdetails[2]):0.8; ! // alert(track + " " + duration); ! current_duration = parseInt(duration) / 1000; ! var mins2 = Math.floor(current_duration/60,10); ! var secs2 = Math.round(current_duration - mins2*60); ! var txt2 = (mins2 < 10?"0":"") + mins2.toString() + ":" + (secs2 < 10?"0":"") + secs2.toString(); ! $('#oj-playing-duration > span').text(txt2); ! // alert(current_duration); ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + track +'&activity=stream'; ! // if (tracks.length > 1) ! // { ! // url = url + '&preload=' + tracks[1]; ! // } ! current_track = startAt; ! var next1 = startAt + 1; ! $(playerid + '-source').attr('src', url); ! var trackname = $('#a_' + track).text(); ! $('#oj_playing_input').attr('value', trackname); ! player.addEventListener('timeupdate', function(e) { ! if (current_duration > 0) ! { ! var player = $(playerid)[0]; ! if ((player != null) && !player.ended) ! { ! var togo = parseInt(player.currentTime, 10); ! var pos = (player.currentTime / current_duration) * 100; ! var mins = Math.floor(togo/60,10); ! var secs = Math.round(togo - mins*60); ! var txt = (mins < 10?"0":"") + mins.toString() + ":" + (secs < 10?"0":"") + secs.toString(); ! $('#progress-bar-percentage').css("width",pos.toString() + "%"); ! $('#progress-bar-percentage > span').text(txt); ! } ! } ! }); ! window.console && console.log("calling load " + url); player.load(); + window.console && console.log("calling play " + url); + player.volume = vol; player.play(); + window.console && console.log("playing " + player.currentTime); if (tracks.length > 1) { player.addEventListener('ended', function(e) { ! if (tracks[next1] != null) { ! var trackdetails1 = tracks[next1].split('+'); ! var track1 = trackdetails1[0]; ! var duration1 = trackdetails1[1]; ! var vol1 = trackdetails1.length > 2?Number(trackdetails1[2]):0.8; ! current_duration = parseInt(duration1) / 1000; ! var url1 = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + track1 +'&activity=stream'; ! var trackname1 = $('#a_' + track1).text(); ! current_track = next1; ! next1++; ! if (next1 < len) ! { ! url1 = url1 + '&preloadojid=' + tracks[next1]; ! } ! if (next1 <= len) ! { ! $(playerid + '-source').attr('src', url1); ! $('#oj_playing_input').attr('value', trackname1); ! var mins1 = Math.floor(current_duration/60,10); ! var secs1 = Math.round(current_duration - mins1*60); ! var txt1 = (mins1 < 10?"0":"") + mins1.toString() + ":" + (secs1 < 10?"0":"") + secs1.toString(); ! $('#oj-playing-duration > span').text(txt1); ! window.console && console.log("calling load " + url1); ! player.load(); ! player.volume = vol1; ! player.play(); ! } ! else ! { ! oj_Stop(false, 0); ! } } }); } *************** *** 43,53 **** } ! function oj_changeCatalog(usernm) { var sel = document.getElementById('selectCatalog'); if (sel != null) { var cat = sel.options[sel.selectedIndex].value; ! var url = window.location.href.split('?')[0] + '?user=' + usernm + '&catalog=' + cat + '&hostname=' + $('#hname').val(); window.open(url, '_self'); --- 112,283 ---- } ! function setStartTrack(trackno) ! { ! var len = parseInt($('#oj-player-notoplay').val()); ! if ((trackno >= 0) && (trackno < len)) ! { ! $('#oj-player-trackno').attr('value', trackno.toString()); ! } ! } ! ! function dostart() ! { ! oj_playTracks(); ! var button = $('#oj-audio-playpause-button'); ! button.attr('class', 'oj-button-pause'); ! button.attr('title', 'Pause'); ! } ! ! function oj_PlayPause() ! { ! var playerid = $('#oj-player-id').val(); ! var started = $('#oj-player-started').val(); ! // alert(started); ! window.console && console.log("started" + started); ! if (started == '0') ! { ! // alert(trackString); ! // setTimeout(dostart(playerid, trackString, startat), 100); ! dostart(); ! } ! else ! { ! var player = $(playerid)[0]; ! var button = $('#oj-audio-playpause-button'); ! var cname = button.attr('class'); ! if (cname == 'oj-button-pause') ! { ! player.pause(); ! button.attr('class', 'oj-button-play'); ! button.attr('title', 'Play'); ! } ! else ! { ! player.play(); ! button.attr('class', 'oj-button-pause'); ! button.attr('title', 'Pause'); ! } ! } ! return false; ! } ! ! function oj_Stop(startplaying, nexttrack) ! { ! var playerid = $('#oj-player-id').val(); ! var player = $(playerid)[0]; ! // var button = $('#oj-audio-playpause-button'); ! player.pause(); ! player.currentTime = current_duration.toString(); ! window.console && console.log("player.currentTime " + player.currentTime); ! player.src = ''; ! // button.attr('class', 'oj-button-play'); ! // var duration = player.duration; ! // alert(duration); ! // player.currentTime = 0; ! $('#oj-player-started').attr('value', '0'); ! $(playerid + '-source').attr('src', ''); ! $(playerid).empty(); ! var path = $('#lastSelection').val(); ! // alert(path); ! var selection = new Path(path); ! selection.startPlayer = startplaying; ! selection.trackno = nexttrack; ! // alert(selection); ! selection.loadData(); ! } ! ! function oj_StartPlay() ! { ! // var playerid = $('#oj-player-id').val(); ! var player = $(current_playerid)[0]; ! player.currentTime = 0; ! player.play(); ! window.console && console.log("player.currentTime " + player.currentTime); ! } ! ! function oj_Back() ! { ! oj_Stop(true, current_track); ! } ! ! function oj_Next() ! { ! var len = parseInt($('#oj-player-notoplay').val()); ! if (current_track < len - 1) ! { ! oj_Stop(true, current_track + 1); ! } ! } ! ! function oj_Prev() ! { ! // var len = parseInt($('#oj-player-notoplay').val()); ! if (current_track > 0) ! { ! oj_Stop(true, current_track - 1); ! } ! } ! ! function oj_getCatalog() ! { ! return $('#catalog').val(); ! } ! ! function oj_LoadNext(clog, path) ! { ! if ((clog == 'multimedia') && (current_playerid.length > 0)) ! { ! var p = $(current_playerid); ! if (p != null) ! { ! var player = $(current_playerid)[0]; ! if (player != null) ! { ! // var button = $('#oj-audio-playpause-button'); ! try ! { ! player.pause(); ! player.currentTime = current_duration.toString(); ! window.console && console.log("player.currentTime " + player.currentTime); ! player.src = ''; ! } ! catch(e) ! { ! window.console && console.log(e.message); ! } ! try ! { ! $('#oj-player-started').attr('value', '0'); ! $(current_playerid + '-source').attr('src', ''); ! $(current_playerid).empty(); ! } ! catch(e) ! { ! window.console && console.log(e.message); ! } ! } ! else ! { ! window.console && console.log("no player"); ! } ! // alert(path); ! // alert(selection); ! } ! else ! { ! window.console && console.log("no player"); ! } ! } ! path.loadData(clog); ! } ! ! function oj_changeCatalog() { + var uname = $('#username').val(); var sel = document.getElementById('selectCatalog'); if (sel != null) { var cat = sel.options[sel.selectedIndex].value; ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + cat + '&hostname=' + $('#hname').val(); window.open(url, '_self'); *************** *** 55,58 **** --- 285,315 ---- } + function oj_getIndex() + { + var idx = 'default'; + var sel = document.getElementById('selectIndex'); + if (sel != null) + { + idx = sel.options[sel.selectedIndex].value; + } + return idx; + } + + function oj_changeIndex() + { + var uname = $('#username').val(); + var sel = document.getElementById('selectIndex'); + if (sel != null) + { + var idx = sel.options[sel.selectedIndex].value; + var catalog = $('#catalog').val(); + var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + catalog + '&index=' + idx + '&activity=index'; + $('#catalogDiv').load(url, function() + { + + }); + } + } + function oj_changeHost() { *************** *** 178,181 **** --- 435,440 ---- this.asString = pathstring; this.asArray = pathstring.split(','); + this.startPlayer = false; + this.trackno = 0; // subpath from start up to index inclusive *************** *** 244,263 **** var currentimage = $(listid).css("list-style-image"); // alert(listid + ", " + currentimage); ! var newimage = currentimage.replace("-open", "-closed"); ! $(listid).css("list-style-image", newimage); } }; // open (show sublist) up to index (counting back from end = 1) ! this.openTo = function(index) { // alert(this.asString); ! if (index >= 1 && index <= this.asArray.length) { var uname = $('#username').val(); var clog = $('#catalog').val(); var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog ! + '&selected=' + this.subpathTo(index) + '&activity=open'; ! var id = this.asArray[this.asArray.length - index]; var divid = "#div_" + id; var linkid = "#a_" + id; --- 503,526 ---- var currentimage = $(listid).css("list-style-image"); // alert(listid + ", " + currentimage); ! if (currentimage != null) ! { ! var newimage = currentimage.replace("-open", "-closed"); ! $(listid).css("list-style-image", newimage); ! } } }; // open (show sublist) up to index (counting back from end = 1) ! this.openTo = function(n) { // alert(this.asString); ! if (n >= 1 && n <= this.asArray.length) { var uname = $('#username').val(); var clog = $('#catalog').val(); + var index = oj_getIndex(); var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog ! + '&selected=' + this.subpathTo(n) + '&activity=open' + '&index=' + index; ! var id = this.asArray[this.asArray.length - n]; var divid = "#div_" + id; var linkid = "#a_" + id; *************** *** 273,293 **** }; ! this.loadData = function() { var uname = $('#username').val(); ! var clog = $('#catalog').val(); var id = this.asArray[0]; - alert(id); var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + id + '&activity=load'; ! var divid = "#div_" + id; ! var linkid = "#a_" + id; ! var listid = "#li_" + id; ! // $('#tabs').tabs().destroy(); $('#tabs').load(url, function() { $('#tabs').tabs('refresh'); }); ! } } --- 536,561 ---- }; ! this.loadData = function(clog) { var uname = $('#username').val(); ! // var clog = $('#catalog').val(); var id = this.asArray[0]; var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&ojid=' + id + '&activity=load'; ! if (this.startPlayer) ! { ! url += '&sp=1&tn=' + this.trackno; ! } ! $('#tabs').empty(); $('#tabs').load(url, function() { $('#tabs').tabs('refresh'); + var sp = $('#oj-player-startp').val(); + if (sp == '1') + { + dostart(); + } }); ! }; } *************** *** 307,316 **** } ! function oj_entitySelected(path, nodetype, hasChildren, hasData) { - var lasttype = $('#lastType').val(); var lastpath = $('#lastSelection').val(); $('#lastType').attr('value', nodetype); $('#lastSelection').attr('value', path); var newSelection = new Path(path); var oldSelection = new Path(lastpath); --- 575,584 ---- } ! function oj_entitySelected(clog, path, nodetype, hasChildren, hasData) { var lastpath = $('#lastSelection').val(); $('#lastType').attr('value', nodetype); $('#lastSelection').attr('value', path); + $('#lastHasData').attr('value', hasData?'1':'0'); var newSelection = new Path(path); var oldSelection = new Path(lastpath); *************** *** 325,497 **** } } ! if (hasData) ! { ! newSelection.loadData(); ! } ! return false; ! } ! ! function oj_loadSublist(path, nodetype) ! { ! ! } ! ! function oj_loadEntity(path, nodetype) ! { ! // alert("loadEntity " + path); ! // check type of entity clicked. If same as previous then change src of ! // iframe or contents of fields (everything could be an iframe!) ! // and change selected colour of clicked. If different hide tabs div ans ! // unhide tabs div corresponding to new type, then set contants. ! var lasttype = $('#lastType').val(); ! var uname = $('#username').val(); ! var hname = $('#hname').val(); ! var uitheme = $('#uitheme').val(); ! var clog = $('#catalog').val(); ! var last = $('#lastSelection').val(); ! var ht = oj_getCurrentlyOpen(); ! // alert(ht); ! $('#lastType').attr('value', nodetype); ! $('#lastSelection').attr('value', path); ! // alert(lasttype + " - " + nodetype); ! if (lasttype == nodetype)// && ($('.ui-tabs-panel').length > 0)) ! { ! // alert($('.ui-tabs-panel').length); ! if ($('.ui-tabs-panel').length > 0) ! { ! $('.ui-tabs-panel') ! .each( ! function() ! { ! var tabid = $(this).prop('id'); ! // alert(tabid); ! var idx = tabid.lastIndexOf('_'); ! // alert(idx); ! var pagename = tabid.substring(idx + 1); ! // alert(pagename); ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog ! + '&hostname=' + hname + '&uitheme=' + uitheme + '&selected=' + path + '&lastType=' + nodetype + '&page=' ! + pagename + '&activity=get'; ! if (ht.length > 0) ! { ! url += '&open=' + ht; ! } ! if (last.length > 0) ! { ! url += '&last=' + last; ! } ! // alert("1.url " + url); ! $('#' + tabid).load(url, function() ! { ! var changedOnSelectionS = $('#changedOnSelection').val().replace(/~/g, "'"); ! // alert(changedOnSelectionS); ! var changedOnSelection = jQuery.parseJSON(changedOnSelectionS); ! $.each(changedOnSelection, function(k, v) ! { ! $.each(v, function(key, value) ! { ! if (key == 'height') ! { ! $(k).height(value); ! } ! else ! { ! $(k).css(key, value); ! } ! }); ! }); ! }); ! }); ! } ! else ! { ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&hostname=' + hname ! + '&uitheme=' + uitheme + '&selected=' + path + '&lastType=' + nodetype + '&activity=get'; ! if (ht.length > 0) ! { ! url += '&open=' + ht; ! } ! if (last.length > 0) ! { ! url += '&last=' + last; ! } ! // alert("1.url " + url); ! $('#' + tabid).load(url, function() ! { ! var changedOnSelectionS = $('#changedOnSelection').val().replace(/~/g, "'"); ! // alert(changedOnSelectionS); ! var changedOnSelection = jQuery.parseJSON(changedOnSelectionS); ! $.each(changedOnSelection, function(k, v) ! { ! $.each(v, function(key, value) ! { ! if (key == 'height') ! { ! $(k).height(value); ! } ! else ! { ! $(k).css(key, value); ! } ! }); ! }); ! }); ! } ! } ! else { ! // alert("2"); ! var url = window.location.href.split('?')[0] + '?user=' + uname + '&catalog=' + clog + '&hostname=' + hname ! + '&uitheme=' + uitheme + '&selected=' + path + '&lastType=' + nodetype; ! if (ht.length > 0) ! { ! url += '&open=' + ht; ! } ! if (last.length > 0) ! { ! url += '&last=' + last; ! } ! // alert("2.url " + url); ! window.open(url, '_self'); } return false; } ! function oj_is_deselected(nodeid) { ! var desel = $('#deselected').val(); ! var lookfor = ',' + nodeid; ! return desel.indexOf(lookfor) >= 0; } ! function oj_is_newlyselected(nodeid) { ! var newsel = $('#newlyselected').val(); ! var lookfor = ',' + nodeid; ! return newsel.indexOf(lookfor) >= 0; } ! function oj_check_newlyselected() { ! var newsel = $('#newlyselected').val(); ! if (newsel.length > 0) { ! var newselids = newsel.substr(1).split(','); ! for ( var i = 0; i < newselids.length; i++) { ! var element = document.getElementById('divnode_' + newselids[i]); ! if (element != null) { ! var current = element.style.height; ! if (current != null && current == 'auto') ! { ! element.style.height = '0px'; ! document.getElementById(div_id + '-list-item').className = "subject-list-closed"; ! } ! else ! { ! element.style.height = 'auto'; ! document.getElementById(div_id + '-list-item').className = "subject-list-open"; ! } } } --- 593,645 ---- } } ! // alert('1'); ! // alert(oj_isUnlocked() + ", " + hasData); ! // alert('2'); ! if (oj_isUnlocked() && hasData) { ! oj_LoadNext(clog, newSelection); } return false; } ! function oj_isLocked() { ! var l = $('#oj-player-locked'); ! return l != null && l.val() == '1'; } ! function oj_isUnlocked() { ! // alert('1a'); ! var l = $('#oj-player-locked'); ! // alert(l); ! // if (l != null) alert(l.val()); ! return l == null || l.val() == null || l.val() == '0'; } ! function oj_LockUnlock() { ! var locked = $('#oj-player-locked').val(); ! var button = $('#oj-audio-lock-button'); ! if (locked == '0') { ! $('#oj-player-locked').attr('value', '1'); ! var last = $('#lastSelection').val(); ! $('#lockedSelection').attr('value', last); ! button.attr('class', 'oj-button-locked'); ! } ! else ! { ! $('#oj-player-locked').attr('value', '0'); ! button.attr('class', 'oj-button-unlocked'); ! var lockedSel = $('#lockedSelection').val(); ! var lastSel = $('#lastSelection').val(); ! if (lastSel != lockedSel) { ! var lasthd = $('#lastHasData').val(); ! if (lasthd == '1') { ! var newSelection = new Path(lastSel); ! oj_LoadNext("multimedia", newSelection); } } |
From: Mike C. <com...@us...> - 2014-01-27 18:09:18
|
Update of /cvsroot/openjean/tools/uk/co/mullsoft/tools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26107/uk/co/mullsoft/tools Modified Files: FilenameChange.java Log Message: update 27 jan 2014 Index: FilenameChange.java =================================================================== RCS file: /cvsroot/openjean/tools/uk/co/mullsoft/tools/FilenameChange.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** FilenameChange.java 2 Jan 2014 13:23:35 -0000 1.7 --- FilenameChange.java 27 Jan 2014 18:09:16 -0000 1.8 *************** *** 1,5 **** --- 1,7 ---- package uk.co.mullsoft.tools; + import java.io.File; import java.io.FilenameFilter; + import java.util.ArrayList; import uk.co.mullsoft.components.CommandLine; *************** *** 7,10 **** --- 9,15 ---- import uk.co.mullsoft.components.LogicalFileFactory; import uk.co.mullsoft.components.StringUtilities; + import uk.co.mullsoft.components.sound.Cue; + import uk.co.mullsoft.components.sound.CueSheet; + import uk.co.mullsoft.components.sound.NameFileSorter; public class FilenameChange *************** *** 14,17 **** --- 19,95 ---- private static final char[] cleanchars = {'?', '!'}; + private static void checkdir(LogicalFile dir, boolean directories, int first, int last, int charat, String from, String to, String extension, boolean recursive) + { + LogicalFile[] lf = null; + if (directories) + { + lf = dir.listLogicalFolders((FilenameFilter) null); + } + else + { + lf = dir.listLogicalFiles(); + } + if (lf != null) + { + if ((from != null) || (first >= 0) || (last >= 0) || (charat >= 0)) + { + for (int n = 0; n < lf.length; n++) + { + String fname = lf[n].getName(); + if ((extension == null) || fname.endsWith(extension)) + { + String newfname = null; + if ((first >= 0) || (last >= 0) || (charat >= 0)) + { + if (first >= 0) + { + newfname = to + fname.substring(first); + } + else if (last >= 0) + { + newfname = fname.substring(0, fname.length() - last) + to; + } + else if ((charat >= 0) && (charat < fname.length())) + { + if ((from == null) || ((from.length() == 1) && (from.charAt(0) == fname.charAt(charat)))) + { + newfname = fname.substring(0, charat) + to + fname.substring(charat + 1); + } + else + { + newfname = fname; + } + } + } + else + { + newfname = StringUtilities.replace(fname, from, to); + } + if (!newfname.equals(fname)) + { + LogicalFile new1 = new LogicalFile(dir, newfname); + lf[n].renameTo(new1); + System.out.println(lf[n].getAbsolutePath() + " renamed to " + new1.getAbsolutePath()); + } + else + { + System.out.println(lf[n].getAbsolutePath() + " not renamed"); + } + } + } + } + } + if (recursive) + { + LogicalFile[] ld = dir.listLogicalFolders((FilenameFilter) null); + if ((ld != null) && (ld.length > 0)) + { + for (LogicalFile directory : ld) + { + checkdir(directory, directories, first, last, charat, from, to, extension, recursive); + } + } + } + } /** * @param args *************** *** 72,159 **** dirname = newargs[0]; } LogicalFile dir = LogicalFileFactory.getDefaultFactory().newLogicalFile(dirname); if (set1) { ! String to = null; ! if (cl.isSet("to")) ! { ! to = StringUtilities.replace(cl.getOption("to"), '+', ' '); ! } ! LogicalFile[] lf = null; ! if (cl.isSet("directories")) { ! lf = dir.listLogicalFolders((FilenameFilter) null); } ! else { ! lf = dir.listLogicalFiles(); } ! if (lf != null) { ! String extension = cl.getOption("extension"); ! if (extension != null) ! { ! extension = '.' + extension; ! } ! if (to == null) { ! to = ""; } ! if ((from != null) || (first >= 0) || (last >= 0) || (charat >= 0)) { ! for (int n = 0; n < lf.length; n++) { ! String fname = lf[n].getName(); ! if ((extension == null) || fname.endsWith(extension)) ! { ! String newfname = null; ! if ((first >= 0) || (last >= 0) || (charat >= 0)) ! { ! if (first >= 0) ! { ! newfname = to + fname.substring(first); ! } ! else if (last >= 0) ! { ! newfname = fname.substring(0, fname.length() - last) + to; ! } ! else if ((charat >= 0) && (charat < fname.length())) ! { ! if ((from == null) || ((from.length() == 1) && (from.charAt(0) == fname.charAt(charat)))) ! { ! newfname = fname.substring(0, charat) + to + fname.substring(charat + 1); ! } ! else ! { ! newfname = fname; ! } ! } ! } ! else ! { ! newfname = StringUtilities.replace(fname, from, to); ! } ! if (!newfname.equals(fname)) ! { ! LogicalFile new1 = new LogicalFile(dir, newfname); ! lf[n].renameTo(new1); ! System.out.println(lf[n].getAbsolutePath() + " renamed to " + new1.getAbsolutePath()); ! } ! } } } } } ! else if (cl.isSet("clean")) { ! LogicalFile[] lf = dir.listLogicals(); ! for (LogicalFile f : lf) { ! clean(dir, f); } } ! else { ! System.err.println(USAGE); } } --- 150,298 ---- dirname = newargs[0]; } + String to = ""; + if (cl.isSet("to")) + { + to = StringUtilities.replace(cl.getOption("to"), '+', ' '); + } + String extension = cl.getOption("extension"); + if (extension != null) + { + extension = '.' + extension; + } + boolean directories = cl.isSet("directories"); + boolean recursive = cl.isSet("recursive"); LogicalFile dir = LogicalFileFactory.getDefaultFactory().newLogicalFile(dirname); if (set1) { ! checkdir(dir, directories, first, last, charat, from, to, extension, recursive); ! } ! else if (cl.isSet("clean")) ! { ! LogicalFile[] lf = dir.listLogicals(); ! for (LogicalFile f : lf) { ! clean(dir, f); } ! } ! else if (cl.isSet("audioclean")) ! { ! audioclean(dir); ! } ! else ! { ! System.err.println(USAGE); ! } ! } ! ! private static void audioclean(LogicalFile dir) ! { ! // LogicalFile[] dirs = dir.listLogicalDirectories(); ! LogicalFile[] files = dir.listLogicalFiles(); ! ArrayList<String> unwantedExtensions = new ArrayList<String>(); ! unwantedExtensions.add(".txt"); ! unwantedExtensions.add(".log"); ! unwantedExtensions.add(".accurip"); ! unwantedExtensions.add(".sfv"); ! unwantedExtensions.add(".nfo"); ! unwantedExtensions.add(".url"); ! unwantedExtensions.add(".md5"); ! LogicalFile cueSheetFile = null; ! // delete log, txt, accurip, sfv files ! for (LogicalFile lf : files) ! { ! String name = lf.getName(); ! if ((cueSheetFile == null) && name.endsWith(".cue")) { ! cueSheetFile = lf; } ! int dot = name.lastIndexOf('.'); ! if (dot >= 0) { ! String ext = name.substring(dot); ! if (unwantedExtensions.contains(ext)) { ! lf.delete(); } ! } ! } ! files = dir.listLogicalFiles(); ! // check for cue sheet, if present try to rename all audio files nn*.flac according to cue sheet. ! CueSheet cueSheet = null; ! NameFileSorter nfs = null; ! if (cueSheetFile != null) ! { ! // System.out.println("found cuesheet"); ! cueSheet = new CueSheet(dir); ! nfs = new NameFileSorter(dir); ! if (nfs.succeeded()) ! { ! Cue[] tracks = nfs.getTracks(); ! for (int n = 0; n < tracks.length; n++) { ! LogicalFile lf = tracks[n].getFile(); ! String pth = lf.getAbsolutePath(); ! String nm = lf.getName(); ! // System.out.println("check track " + pth); ! File f = new File(pth); ! String ext = null; ! int dot = pth.lastIndexOf('.'); ! if (dot >= 0) { ! ext = pth.substring(dot); ! } ! String name = cueSheet.getFilename(n, ext); ! File newf = new File(f.getParentFile(), name); ! String newpth = newf.getAbsolutePath(); ! // System.out.println("newpth " + newpth); ! if (!nm.equals(name)) ! { ! System.out.println("rename " + pth + " to " + newpth); ! f.renameTo(newf); } } } } ! else { ! System.out.println("no cuesheet in " + dir.getAbsolutePath()); ! } ! // clean ! // change any "nn-xxx-" to "nn." ! // replace '_' by ' ' ! files = dir.listLogicalFiles(); ! for (int n = 0; n < files.length; n++) ! { ! String nm = files[n].getName(); ! String nnm = clean(nm); ! Integer i = StringUtilities.startsWithInt(nnm); ! if (i != null) { ! String nnm1 = StringUtilities.removeInitialInt(nnm); ! if (nnm1.startsWith("-")) ! { ! int nextdash = nnm1.substring(1).indexOf('-'); ! if (nextdash > 0) ! { ! int lengthofnum = nnm.length() - nnm1.length(); ! nnm = nnm.substring(0, lengthofnum) + ". " + nnm1.substring(nextdash + 2); ! } ! } ! } ! String nm1 = nnm.replace('_', ' '); ! if (!nm.equals(nm1)) ! { ! File f = new File(files[n].getAbsolutePath()); ! File newf = new File(f.getParentFile(), nm1); ! System.out.println("rename " + f.getAbsolutePath() + " to " + newf.getAbsolutePath()); ! f.renameTo(newf); } } ! LogicalFile[] dirs = dir.listLogicalDirectories(); ! if((dirs != null) && (dirs.length > 0)) { ! for (LogicalFile d : dirs) ! { ! audioclean(d); ! } } } *************** *** 182,185 **** --- 321,326 ---- ret = StringUtilities.replace(ret, ':', '-'); ret = StringUtilities.replace(ret, ';', '-'); + ret = StringUtilities.replace(ret, '\\', '-'); + ret = StringUtilities.replace(ret, '/', '-'); return ret; } |
From: Mike C. <com...@us...> - 2014-01-27 18:09:15
|
Update of /cvsroot/openjean/ojclient/uk/co/mullsoft/ojclient In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26093/uk/co/mullsoft/ojclient Modified Files: OJClientAPI.java Log Message: update 27 jan 2014 Index: OJClientAPI.java =================================================================== RCS file: /cvsroot/openjean/ojclient/uk/co/mullsoft/ojclient/OJClientAPI.java,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** OJClientAPI.java 2 Jan 2014 13:24:51 -0000 1.31 --- OJClientAPI.java 27 Jan 2014 18:09:13 -0000 1.32 *************** *** 82,85 **** --- 82,86 ---- import uk.co.mullsoft.components.entity.AttributeValueManager; import uk.co.mullsoft.components.entity.AttributeValueSetter; + import uk.co.mullsoft.components.entity.AttributeValueSupplier; import uk.co.mullsoft.components.entity.EntityComparable; import uk.co.mullsoft.components.entity.EntityCreationSpecification; *************** *** 3835,3837 **** --- 3836,3844 ---- return del != null && del.length > 0; } + + @Override + public AttributeValueSupplier getAttributeValueSupplier(String catalog) + { + return newOJClientAPI(username, catalog); + } } |