Skip to content
This repository was archived by the owner on Apr 25, 2018. It is now read-only.

Commit 8e2788d

Browse files
author
Cristian Bogdan
committed
reimporting after repository was lost
0 parents  commit 8e2788d

File tree

217 files changed

+7704
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+7704
-0
lines changed

.cvsignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
nohup.out
2+
rowstore.properties
3+
servletContext.properties
4+
parade.properties
5+
logging.properties
6+
reload-log.txt

CHANGELOG.txt

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2002 Dec 17:
2+
the edit applet is now multifile
3+
4+
2002 Dec 15:
5+
added edit applets
6+
7+
2002 Nov 28:
8+
works with tomcat 4.1
9+
10+
2002 Nov 7 (?):
11+
added login capabilities
12+
13+
2002 Feb 13:
14+
refactored parade, preserved functionality
15+
ant works (didn't yet test with 1.4)
16+
ant 1.3 minimum required
17+
logs available
18+
took out dependencies on makumba, will only be used for db-related parts
19+
directory browse works, but not with the new column/manager structure
20+
21+
2002 Feb 11:
22+
adding rows and working with servlet contexts works
23+
24+
2002 Feb 9:
25+
first version

Todo.txt

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
$Id$
2+
3+
HOT STUFF
4+
state saving: (4) currently the only saved state is rowname and path. managers should be able to save state of their own (e.g. ServletContextManager should save what contexts were installed, which of those were started, etc). since a PageContext is needed to execute the things properly, the contexts will only be started at first access. need to figure a better way.
5+
6+
(4) FileManager: "last touched" per directory). should ignore logs, makumba.jar, and other non-source filez.
7+
8+
files: (3) directory.jsp: for each file "copy to" Row, "move to" Row, etc. Row is from the same CVS module. info about the state of the file (older, newer) in that other row could come too. (see also distributed parade)
9+
10+
(5) *ParadeAdd.jsp: make some form of automatic row adding to work
11+
make some form of automatic row deletion to work (with warnings about the "locally modified" files, etc). cvs checkout at "add row". propose path if it's not indicated in the form of BUNDLE_HOME/cvsuser/modulename (where parade is in BUNDLE_HOME/sources/parade, i.e. ../../cvsuser/modulename)
12+
disable HTML controls that don't work yet (e.g. cvs module/user inputs). disabled works in explorer 5, doesnt seem to in netscape 4.7, maybe a doctype is needed?
13+
14+
(4) link to tomcat/work/*.java [somePage_jsp.java]
15+
hyperlinks in error messages
16+
17+
(4) cvs live support, bring fresh info from the server if connection available
18+
19+
(3)- for each parade row (index.jsp): number of files that are in tracker and not on disk in that row, and the other way around
20+
21+
(4) login for presence awareness. simple possibilities to initiate communication.
22+
for login and logging, need to introduce the concept of filter, that is invoked at every operation invocation. something like
23+
filters= org.eu.best.ITCLogin, etc
24+
25+
(4) safer interface (edit further away from delete, cvs update further away from committ, etc)'
26+
27+
BUGS
28+
FIXED: cvs allows adding non-existing (just described) files/dirs.
29+
if there is an empty directory in cvs it should list it among files, even if cvs update doesn't create it (because it is empty).
30+
31+
FEATURES
32+
prepend the login name to all CVS commit logs
33+
have "are you sure" dialog for CVS add, cvs remove, etc.
34+
faster source viewer
35+
simple view feature for files other than JSP, MDD, Java (e.g. html, txt)
36+
history window
37+
better operation call in page response (currently only one operation is allowed, need more, see below, collective and individual entries are not supported)
38+
support compile+reload context, stop+getMakumba+start context
39+
support makumba getDatabase
40+
don't show cvs operation links if cvs connection not available
41+
CVS login. probably solvable with loggers.
42+
43+
(3) System strip: memory, order garbage collection, etc
44+
DONE memory info.
45+
what about garbage collection? should it be just ran?
46+
47+
(1) cvsweb URL (http://www.best.eu.org/cgi-bin/cvsweb.cgi/*) should come from a config file (not be hardcoded in a jsp
48+
49+
DONE: a _working_ file upload strip
50+
51+
file delete could just rename to *-parade-deleted eg: readme.txt becomes readme.txt-parade-deleted then it can be resurected or exprunged from the interface (shown with overstrike while just deleted)
52+
53+
undo: there could be several levels of undo - old files are saved as *-parade-backup-01 then rotated during every consecutive save. the last one is deleted if number becomes greater than xx OR file is older than n days. Interface could show number of backups, but hiding all the backup files from the listing
54+
55+
tracker could show 'run' links to pages with parameters.
56+
57+
(2) README file per dir?
58+
readmeStrip shows content of the first file found: readme.html, readme.txt, readme (case insensitive)
59+
60+
(5) remote editor "new file", "save as",
61+
jump to line, column (and stay there after
62+
63+
(3) remote editor: "save and compile", "save, compile, and reload webapp"
64+
(currently only possible by clicking save, compile, reload in a sequence)
65+
66+
(3) display files related by other criteria than directory (e.g. "all uncommitted files", results of a search, etc)
67+
68+
(2) index.jsp and directory.jsp: parade-level and directory level "synchronize with" other row (mostly useful for remote parade rows).
69+
70+
DONE: command window could have color-coded output (cvs update: Modified files in RED, updates in blue, Conflicts in red...)
71+
72+
(2) index.jsp: the refresh at Parade reload doesn't work in explorer 5, keeps reloading the page with the same parameters, rather than with no parameters as instructed...
73+
74+
(2) index.jsp: is it possible to have every parade row as a big form, where every button invokes a separate operation. can the submit value be different from the text?
75+
<input type=submit name=op value=addParadeRow text="add row"> ? This would be needed for a reasonable "row delete", where each column can place its own input controls (name/path places "delete files too", cvs places "cvs commit before", etc). Otherwise, a separate <tr> will be needed for each Parade row, to do delete in a separate form.
76+
77+
DONE: do not alow editing binary files
78+
79+
(3) tail the server log and present just the last part
80+
81+
(3) on windows, getMakumba for a servlet context will only work with stop, update and then start again. there could be an automatic operation for that.
82+
83+
(2) For parade, stop+getMakumba+start has to be done by an external ant target (like ant reload is invoked now for parade reload)
84+
85+
(3) there are specific targets for local makumba development, that do "compile makumba from ../makumba and copy the jar in WEB-INF". they should be standardized in name (currently called maktomcat in karamba) and followed by context reload
86+
87+
(2) the tomcat manager can be cleverer in finding the parade context name, the manager username and password. that involves parsing server.xml and tomcat-user.xml
88+
89+
(2) LocalRowStore: currently it's done with a properties file called rowdata.properties. makumba database instead? does it pay? it can be added at any time (just replace LocalRowStore with another manager).
90+
91+
DISTRIBUTED PARADE
92+
(2) seems easy for a parade server to connect to a main server. upon connection, the two parades will pass their local row data to eachother and will display eachother's data. when the http user wants to browse dirs, he'll be connected normally to the respective parade server, so from there on it's no problem. This relation is transitive (if both A and B are connected to C, all 3 will display A+B+C). Implementation details:
93+
- need to set a "server:port" flag, besides "rowname" and "path". very easy
94+
- need to pass the row data as generated by the local managers. the format for this is a bit of a problem, but a plain properties format will do. XML would be best, but not really needed
95+
- need to display "remote" rows a bit differenly (color, etc)
96+
- would be good to keep a log of remote parade connections/disconnections
97+
98+
ARCHITECTURE
99+
Managers should be java beans
100+
a more strictly type-checked manager structure (method checks, attribute checks).
101+

build.xml

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
<!-- $Header$ -->
2+
<project name="PARADE" default="compile" basedir=".">
3+
<property file="parade.properties" />
4+
5+
<path id="project.class.path">
6+
<pathelement path="../utilities"/>
7+
</path>
8+
9+
<property name="project.class.path" refid="project.class.path" />
10+
11+
<target name="install" description="install the project. Attempt to install Tomcat from the bundle.">
12+
<available file="parade.properties" property="properties.copied" />
13+
<copy file="parade.properties.example" toFile="parade.properties" />
14+
<fail unless="properties.copied" message="Configure parade.properties and start ant install again!"/>
15+
<cvs command="checkout ${generics.cvs}" dest=".."/>
16+
<ant antfile="${generics.path}" target="installTomcat"/>
17+
<cvs command="update" dest="." />
18+
<antcall target="getMakumba" />
19+
20+
<copy file="${webapp.path}/WEB-INF/classes/MakumbaDatabase.properties.example"
21+
toFile="${webapp.path}/WEB-INF/classes/MakumbaDatabase.properties" />
22+
<copy file="servletContext.properties.example"
23+
toFile="servletContext.properties" />
24+
<cvs command="checkout utilities/" dest=".." />
25+
26+
<ant antfile="../utilities/build.xml" target="compile" dir="../utilities"/>
27+
28+
<cvs command="checkout karamba/public_html/WEB-INF/classes/dataDefinitions" dest=".." />
29+
<antcall target="compile"/>
30+
<echo message="Installation finished. Execute 'ant -projecthelp' to see what commands are available." />
31+
</target>
32+
33+
34+
<target name="applets" description="compiles applets and copies them to the webapp">
35+
<antcall target="compile"/>
36+
<!-- copy applets to webapp/ -->
37+
<copy toDir="webapp/" overwrite="true">
38+
<fileset dir="webapp/WEB-INF/classes">
39+
<include name="org/makumba/parade/applets/*.class" />
40+
<include name="org/makumba/parade/sourceedit/*.class" />
41+
</fileset>
42+
</copy>
43+
<echo>Press x in the Java Plugin console to make it forget old applets. If you have no java console, hold Shift while pressing Refresh in the browser.
44+
</echo>
45+
</target>
46+
47+
48+
<target name="tomcat" description="start tomcat 4" >
49+
<antcall target="compile" />
50+
<!-- copy util-java/lib to tomcat's common, for use by webapps and LoginFilter
51+
according to the tomcat classloader howto, should be copied to tomcat's share/classes,
52+
but i couldn't get them to work frmom there.
53+
-->
54+
<copy toDir="${catalina.home}/common/lib" overwrite="true" >
55+
<fileset dir="../../util-java/lib">
56+
<include name="*.jar" />
57+
<include name="*.zip" />
58+
<exclude name="makumba.jar" />
59+
<exclude name="antlr.jar" />
60+
</fileset>
61+
</copy>
62+
<!-- copy utilities to tomcat's common, for use by webapps and LoginFilter
63+
according to the tomcat classloader howto, should be copied to tomcat's share/classes,
64+
but i couldn't get them to work frmom there.
65+
-->
66+
<copy toDir="${catalina.home}/common/classes/org" overwrite="true">
67+
<fileset dir="../utilities/org/">
68+
<include name="eu/best/tools/*.class" />
69+
</fileset>
70+
</copy>
71+
72+
73+
<!-- copy dataDefinitions to parade's WEB-INF, for use by AccessServlet -->
74+
<copy toDir="webapp/WEB-INF/classes/dataDefinitions" overwrite="true">
75+
<fileset dir="../karamba/public_html/WEB-INF/classes/dataDefinitions">
76+
<include name="**/*.mdd" />
77+
<include name="**/*.idd" />
78+
</fileset>
79+
</copy>
80+
81+
<!-- copy BestMemberAuthorizer to parade's WEB-INF, for use by AccessServlet -->
82+
<copy toDir="webapp/WEB-INF/classes/org" overwrite="true">
83+
<fileset dir="../utilities/org/">
84+
<include name="eu/best/BestMemberAuthorizer*.class" />
85+
</fileset>
86+
</copy>
87+
88+
<!-- copy applets to webapp/ -->
89+
<copy toDir="webapp/" overwrite="true">
90+
<fileset dir="webapp/WEB-INF/classes">
91+
<include name="org/makumba/parade/applets/*.class" />
92+
<include name="org/makumba/parade/sourceedit/*.class" />
93+
</fileset>
94+
</copy>
95+
96+
<antcall target="applets" />
97+
98+
<ant antfile="${generics.path}" target="startTomcat" />
99+
</target>
100+
101+
<target name="stopTomcat" description="stop tomcat 4">
102+
<ant antfile="${generics.path}" target="stopTomcat" />
103+
</target>
104+
105+
<target name="reload" >
106+
<antcall target="compile" />
107+
<ant antfile="${generics.path}" target="reload" />
108+
</target>
109+
110+
<target name="getMakumba" description="get the lastest makumba JAR. Use this if you see makumba compilation errors!!!" >
111+
<ant antfile="${generics.path}" target="getMakumba" />
112+
</target>
113+
114+
<target name="compile" description="compile the java files">
115+
<ant antfile="${generics.path}" target="compile" inheritRefs="true"/>
116+
</target>
117+
118+
<target name="clean" description="delete all generated and backup files">
119+
<ant antfile="${generics.path}" target="clean"/>
120+
</target>
121+
122+
<target name="maktomcat" description="for Makumba development. Compiles makumba and starts tomcat." >
123+
<ant antfile="../makumba/build.xml" target="jar" dir="../makumba"/>
124+
<copy file="../makumba/lib/makumba.jar" tofile="webapp/WEB-INF/lib/makumba.jar" overwrite="true" />
125+
<antcall target="tomcat" />
126+
</target>
127+
128+
<target name= "jcvstest" depends="compile">
129+
<!-- use this with ant -Dcvspass=yourCVSPass
130+
it's work in progress, see org.makumba.parade.CvsJCVSTest -->
131+
<java classname="org.makumba.parade.CvsJCVSTest" fork="true"
132+
failonerror="true"
133+
>
134+
<arg value="${cvspass}" />
135+
<jvmarg value="-Xdebug"/>
136+
<jvmarg value="-Xrunjdwp:transport=dt_shmem,address=jdbconn,server=y,suspend=n" />
137+
<classpath>
138+
<pathelement path="${webapp.home}/WEB-INF/classes"/>
139+
<path refid="project.class.path" />
140+
</classpath>
141+
</java>
142+
</target>
143+
144+
<target name= "babylon" description="Start a babylon chat server">
145+
<java classname="babylonServer" fork="true">
146+
<arg value="-nographics" />
147+
<classpath>
148+
<pathelement path="${webapp.home}/chat/babylon.jar"/>
149+
<pathelement path="${webapp.home}/WEB-INF/classes"/>
150+
<path refid="project.class.path" />
151+
</classpath>
152+
</java>
153+
</target>
154+
155+
<target name= "babylonStop" description="Stop babylon chat server">
156+
<java classname="babylonServerShutdown" fork="true">
157+
<arg value="-nographics" />
158+
<classpath>
159+
<pathelement path="${webapp.home}/chat/babylon.jar"/>
160+
<pathelement path="${webapp.home}/WEB-INF/classes"/>
161+
<path refid="project.class.path" />
162+
</classpath>
163+
</java>
164+
</target>
165+
166+
167+
</project>
168+

logging.properties.example

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# see ${JAVA_HOME}/jre/lib/logging.properties for more details on the
2+
# syntax of this file. for example:
3+
# /usr/local/java/j2sdk1.4.1/jre/lib/logging.properties
4+
# see also documentation of the java.util.logging package
5+
# especially Logger, LogManager, Level
6+
7+
# parade needs logging at the console, then it takes System.out and
8+
# processes it
9+
handlers= java.util.logging.ConsoleHandler
10+
11+
#default level, inherited by all loggers that don't specify a level
12+
.level= INFO
13+
14+
# parade wants the consle handler to log everything that comes in
15+
# and leave the filtering to the loggers
16+
java.util.logging.ConsoleHandler.level = FINEST
17+
18+
# we could change this to something that suits us better
19+
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
20+
21+
# some examples of setting makumba loggers
22+
# for documentation on makumba loggers:
23+
#http://www.best.eu.org/makumba/api/org/makumba/MakumbaSystem.html#getMakumbaLogger(java.lang.String
24+
# INFO level is default, but anyway
25+
org.makumba.parade-context.parade.db.level= INFO
26+
org.makumba.parade-context.demo-k.db.level= INFO
27+
28+
# examples of details
29+
# org.makumba.parade-context.demo-k.db.update.level= FINEST
30+
# org.makumba.parade-context.demo-k.taglib.level= FINEST

0 commit comments

Comments
 (0)