You can subscribe to this list here.
2003 |
Jan
|
Feb
(88) |
Mar
(138) |
Apr
(144) |
May
(31) |
Jun
(1) |
Jul
|
Aug
(25) |
Sep
(13) |
Oct
(1) |
Nov
(8) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
(25) |
Apr
|
May
(25) |
Jun
(3) |
Jul
|
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(115) |
Nov
(39) |
Dec
|
2006 |
Jan
(45) |
Feb
(7) |
Mar
(11) |
Apr
(19) |
May
|
Jun
|
Jul
(22) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
2007 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(1) |
From: Alexander S. <as...@us...> - 2008-12-02 11:45:33
|
Update of /cvsroot/jxtaim/jxtaim In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32343 Modified Files: build.xml Log Message: remove newlines in build.xml Index: build.xml =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/build.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** build.xml 24 Nov 2005 22:57:06 -0000 1.21 --- build.xml 2 Dec 2008 11:45:25 -0000 1.22 *************** *** 1,3 **** - <!-- ant build file for the jxta IM Project - --- 1,2 ---- *************** *** 7,11 **** --> - <project name="jxtaIM" default="all" basedir="."> --- 6,9 ---- |
From: Alexander S. <as...@us...> - 2008-11-29 22:39:09
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/config In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4974/src/vsis/im/view/config Modified Files: ConfigurationGuiController.java Log Message: * drop not used import: org.w3c.dom.Node - update src/vsis/im/view/config/ConfigurationGuiController.java Index: ConfigurationGuiController.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/config/ConfigurationGuiController.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ConfigurationGuiController.java 27 Nov 2008 18:14:10 -0000 1.15 --- ConfigurationGuiController.java 29 Nov 2008 22:39:00 -0000 1.16 *************** *** 41,45 **** import org.apache.log4j.Logger; - import org.w3c.dom.Node; import vsis.im.ServiceProvider; --- 41,44 ---- |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:48
|
Update of /cvsroot/jxtaim/jxtaim/src/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730/src/conf Modified Files: DefaultConfiguration.xml Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. Index: DefaultConfiguration.xml =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/conf/DefaultConfiguration.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** DefaultConfiguration.xml 16 Mar 2006 19:16:07 -0000 1.10 --- DefaultConfiguration.xml 27 Nov 2008 18:33:37 -0000 1.11 *************** *** 34,38 **** </proxy> </http> ! <relay isRelay="false" auto="true" auto-uri="http://rdv.jxtahosts.net/cgi-bin/relays.cgi?2"> <!-- example http relay uri want go custom <url>http://192.168.0.2:9706</url> --- 34,38 ---- </proxy> </http> ! <relay isRelay="false" auto="true" auto-uri="http://rdv.jxtahosts.net/cgi-bin/relays.cgi?3"> <!-- example http relay uri want go custom <url>http://192.168.0.2:9706</url> *************** *** 40,44 **** </relay> ! <rendezvous isRendezvous="false" auto="true" auto-uri="http://rdv.jxtahosts.net/cgi-bin/relays.cgi?2"> <!-- example for manual rdvs <url>tcp://192.168.0.2:9707</url> --- 40,44 ---- </relay> ! <rendezvous isRendezvous="false" auto="true" auto-uri="http://rdv.jxtahosts.net/cgi-bin/relays.cgi?3"> <!-- example for manual rdvs <url>tcp://192.168.0.2:9707</url> |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:47
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/util/config In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730/src/vsis/im/util/config Modified Files: ConfigurationService.java JxtaConfigurator.java JxtaConfiguratorImpl.java Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. Index: JxtaConfiguratorImpl.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/util/config/JxtaConfiguratorImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** JxtaConfiguratorImpl.java 16 Mar 2006 19:11:41 -0000 1.7 --- JxtaConfiguratorImpl.java 27 Nov 2008 18:33:37 -0000 1.8 *************** *** 39,43 **** import org.w3c.dom.Element; ! import net.jxta.ext.config.*; import vsis.im.util.FS; --- 39,44 ---- import org.w3c.dom.Element; ! import net.jxta.platform.NetworkConfigurator; ! import net.jxta.platform.NetworkManager; import vsis.im.util.FS; *************** *** 73,78 **** configureLogLevels(); configurePeerAdvertisement(); - configureHTTP(); - configureTCP(); configureRelay(); configureRendezVous(); --- 74,77 ---- *************** *** 111,115 **** * configure http */ ! private void configureHTTP() { int port = -1; --- 110,114 ---- * configure http */ ! protected void configureNetworkConfiguratorHttp(NetworkConfigurator nc) { int port = -1; *************** *** 131,154 **** // is alternative reasonable? ! String uri = "http://" + ip + ":" + port; System.err.println("adding http transport with address from uri: '" ! + uri + "'"); - HttpTransport transport = new HttpTransport(); - - Address address = new Address(); - try { - address.setAddress(new URI(uri)); - } catch (java.net.URISyntaxException e) { - log.error(e); - return; - } if (!this.resources.getBoolean(ConfigConst.HTTP_IS_SERVER)) { ! address.setPortRange(1); } ! ! transport.addAddress(address); if (this.resources.getBoolean(ConfigConst.HTTP_USE_PROXY)) { ProxyAddress proxyAddress = new ProxyAddress(); --- 130,149 ---- // is alternative reasonable? ! String pub_address = null; // XXX: implement this config ! System.err.println("adding http transport with address from uri: '" ! + ip + ":" + port +"'"); + nc.setHttpEnabled(true); if (!this.resources.getBoolean(ConfigConst.HTTP_IS_SERVER)) { ! nc.setHttpPort (port); ! nc.setHttpIncoming(true); ! nc.setHttpPublicAddress(ip+":"+port, true); // XXX: needs its own config } ! nc.setHttpInterfaceAddress(ip); ! nc.setHttpOutgoing(true); + /* XXX: not sure what to do here if (this.resources.getBoolean(ConfigConst.HTTP_USE_PROXY)) { ProxyAddress proxyAddress = new ProxyAddress(); *************** *** 160,167 **** return; } ! transport.setProxyAddress(proxyAddress); ! } ! addTransport(transport); ! } --- 155,160 ---- return; } ! // XXX: fix me!! implement http proxy support? ! }*/ } *************** *** 169,179 **** * Configure TCP */ ! private void configureTCP() { ! TcpTransport transport = new TcpTransport(); ! TcpTransportAddress address = new TcpTransportAddress(); int port = -1; - System.out.println("configureTCP()"); - try { port = Integer.parseInt(System.getProperty("jxta.tcp.port")); --- 162,168 ---- * Configure TCP */ ! protected void configureNetworkConfiguratorTcp(NetworkConfigurator nc) { int port = -1; try { port = Integer.parseInt(System.getProperty("jxta.tcp.port")); *************** *** 191,201 **** String s = this.resources.getString(ConfigConst.TCP_MULTICAST_ADDRESS); if (s != null) { ! MulticastAddress mca = new MulticastAddress(); - mca.setMulticast(true); int mPort = -1; - try { mPort = this.resources.getInt(ConfigConst.TCP_MULTICAST_PORT); --- 180,190 ---- String s = this.resources.getString(ConfigConst.TCP_MULTICAST_ADDRESS); + // XXX: make a MULTICAST_ENABLED config entry ... e.g. no s could also mean default address if (s != null) { ! nc.setUseMulticast(true); ! nc.setMulticastAddress(s); int mPort = -1; try { mPort = this.resources.getInt(ConfigConst.TCP_MULTICAST_PORT); *************** *** 203,221 **** } ! if (mPort != -1) { ! try { ! mca.setAddress(new URI("udp://" + s + ":" + mPort)); ! } catch (java.net.URISyntaxException e) { ! log.error(e); ! return; ! } ! } else { ! try { ! mca.setAddress(new URI("udp://" + s)); ! } catch (java.net.URISyntaxException e) { ! log.error(e); ! return; ! } ! } int mSize = -1; --- 192,197 ---- } ! if (mPort != -1) ! nc.setMulticastPort(mPort); int mSize = -1; *************** *** 227,269 **** if (mSize > -1) { ! mca.setSize(mSize); } - - address.addMulticastAddress(mca); } s = this.resources.getString(ConfigConst.TCP_IPADDRESS_SOURCE); ! if (ConfigConst.ANY_ALL.equalsIgnoreCase(s)) { ! try { ! String uri = "tcp://" + DEFAULT_IP_ADDRESS + ":" + port; - - System.err.println("Setting TCP: " + uri); ! address.setAddress(new URI(uri)); ! address.setPortRange(1); ! ! } catch (java.net.URISyntaxException e) { ! log.error(e); ! return; ! } ! } else { ! try { ! String uri = "tcp://" ! + this.resources.getString(ConfigConst.TCP_IPADDRESS) ! + ":" + port; ! System.out.println("Setting TCP: " + uri); ! address.setAddress(new URI(uri)); ! } catch (java.net.URISyntaxException e) { ! log.error(e); ! return; ! } ! address.setPortRange(port); } - transport.addAddress(address); - addTransport(transport); } --- 203,236 ---- if (mSize > -1) { ! nc.setMulticastSize(mSize); } } s = this.resources.getString(ConfigConst.TCP_IPADDRESS_SOURCE); ! nc.setTcpEnabled(true); ! nc.setTcpOutgoing(true); ! nc.setTcpIncoming(true); ! ! if (port == -1) { ! nc.setTcpIncoming(false); ! nc.setTcpInterfaceAddress(null); ! } else if (ConfigConst.ANY_ALL.equalsIgnoreCase(s)) { ! String uri = "tcp://" + DEFAULT_IP_ADDRESS + ":" + port; ! System.err.println("Setting TCP: " + uri); ! ! nc.setTcpInterfaceAddress(DEFAULT_IP_ADDRESS); ! nc.setTcpPort(port); } else { ! String uri = "tcp://" ! + this.resources.getString(ConfigConst.TCP_IPADDRESS) ! + ":" + port; ! System.out.println("Setting TCP: " + uri); ! nc.setTcpInterfaceAddress(s); ! nc.setTcpPort(port); } } *************** *** 327,336 **** r.add("tcp://" + rdvString); } else { ! try { ! r.add(new URI(rdvString)); ! } catch (URISyntaxException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } } } --- 294,298 ---- r.add("tcp://" + rdvString); } else { ! r.add(rdvString); } } *************** *** 359,362 **** --- 321,325 ---- String autoUri = this.resources.getString(ConfigConst.RENDEZVOUS_AUTO_URI); setAutoUri(autoUri); + log.info("set autouri rendevous: " + autoUri); } Index: ConfigurationService.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/util/config/ConfigurationService.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** ConfigurationService.java 20 Mar 2006 18:07:21 -0000 1.14 --- ConfigurationService.java 27 Nov 2008 18:33:37 -0000 1.15 *************** *** 40,46 **** import net.jxta.document.MimeMediaType; import net.jxta.document.StructuredDocument; - import net.jxta.ext.config.AbstractConfigurator; - import net.jxta.ext.config.Configurator; - import net.jxta.impl.protocol.PlatformConfig; import org.apache.log4j.Logger; --- 40,43 ---- *************** *** 65,70 **** */ public class ConfigurationService implements ServiceProvider { - private static Configurator configurator = null; - public static final String SERVICE_NAME = "ConfiguratorService"; --- 62,65 ---- *************** *** 88,92 **** */ public void init() { - AbstractConfigurator.register(JxtaimConfigurator.class); } --- 83,86 ---- *************** *** 108,126 **** jimConfig.configure(); ! // XXX: THIS I REALLY DIRTY since configurator *must* be static ! // this thing actually constrains the class to be one instance ! // per classloader hierarchy only. So please take care for that ! configurator = jimConfig.newConfigurator(); ! ! // configurator.setHome(FS.getHome()); ! System.out.println("post configurator!"); ! // System.err.println("JXTA HOME: "+configurator.getHome()); ! configurator.save(); ! ! // jimConfig.save(".jxta/PlatformConfig"); initFontStore(); - log.info("Jxta-PlatformConfig-File created!"); } catch (Exception e) { log.error("Error while creating the PlatformConfig-File", e); --- 102,109 ---- jimConfig.configure(); ! System.out.println("juxim configurations parsed!"); initFontStore(); } catch (Exception e) { log.error("Error while creating the PlatformConfig-File", e); *************** *** 128,183 **** } ! public static class JxtaimConfigurator extends AbstractConfigurator { ! ! public JxtaimConfigurator() ! throws net.jxta.exception.ConfiguratorException { ! super(configurator); ! } ! ! public PlatformConfig createPlatformConfig(Configurator pc) ! throws net.jxta.exception.ConfiguratorException { ! Configurator c = (Configurator) pc; ! ! // if(!configured(c.getHome())) { ! // System.err.println("JXTA HOME: "+c.getHome()); ! // createConfig(c.getHome(), jimConfig.getPeerName()); ! // } ! // else { ! // System.err.println("YYYYYYYYYYYYYYYYYYYYY CALLLLLLLLLLED"); ! // } ! ! jimConfig.configureConfigurator(c); ! ! // try { ! // pc.getPlatformConfig().save(); ! ! // } catch (ConfiguratorException ce) { ! // ce.printStackTrace(); ! // } ! ! PlatformConfig cc = pc.getPlatformConfig(); ! ! Document doc = cc.getDocument(MimeMediaType.XMLUTF8); ! ! try { ! System.out.println("JXTAHOME=" + pc.getJXTAHome()); ! new File(pc.getJXTAHome()).mkdir(); ! log.info("writing platform config to '" + pc.getJXTAHome() ! + "/PlatformConfig" + "'"); ! File file = new File(c.getHome() + "/PlatformConfig"); ! if (!file.exists()) { ! file.createNewFile(); ! } ! FileOutputStream out = new FileOutputStream(file); ! doc.sendToStream(out); ! out.close(); ! log.info("platform config created: "+file.getAbsolutePath()); ! } catch (Exception e) { ! throw new net.jxta.exception.ConfiguratorException( ! "Error writing PlatformConfig", e); ! } ! ! return cc; ! } } --- 111,116 ---- } ! public JxtaConfigurator getJxtaConfigurator() { ! return jimConfig; } *************** *** 196,218 **** } - private static void createConfig(File home, String name) { - try { - InputStream is = getResourceInputStream("PlatformConfig.master"); - home.mkdirs(); - PlatformConfig platformConfig = (PlatformConfig) AdvertisementFactory - .newAdvertisement(MimeMediaType.XMLUTF8, is); - is.close(); - platformConfig.setName(name); - File newConfig = new File(home, "PlatformConfig"); - OutputStream op = new FileOutputStream(newConfig); - StructuredDocument doc = (StructuredDocument) platformConfig - .getDocument(MimeMediaType.XMLUTF8); - doc.sendToStream(op); - op.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - protected void initFontStore() { --- 129,132 ---- *************** *** 366,369 **** --- 280,288 ---- } + + public String getPeername() { + return jimConfig.getPeerName(); + } + public FontStore getFontStore() { return fontStore; Index: JxtaConfigurator.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/util/config/JxtaConfigurator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** JxtaConfigurator.java 16 Mar 2006 19:11:41 -0000 1.9 --- JxtaConfigurator.java 27 Nov 2008 18:33:37 -0000 1.10 *************** *** 45,50 **** import net.jxta.document.MimeMediaType; import net.jxta.exception.ConfiguratorException; ! import net.jxta.ext.config.*; ! import net.jxta.impl.protocol.PlatformConfig; import net.jxta.protocol.PeerAdvertisement; --- 45,51 ---- import net.jxta.document.MimeMediaType; import net.jxta.exception.ConfiguratorException; ! ! import net.jxta.platform.NetworkConfigurator; ! import net.jxta.platform.NetworkManager; import net.jxta.protocol.PeerAdvertisement; *************** *** 62,66 **** * @author Alexander Sack <as...@jw...> */ ! public class JxtaConfigurator { public final static int DEFAULT_HTTP_PORT = 9700; --- 63,67 ---- * @author Alexander Sack <as...@jw...> */ ! public abstract class JxtaConfigurator { public final static int DEFAULT_HTTP_PORT = 9700; *************** *** 168,179 **** return peerName; } - - public void addTransport(Transport transport) { - transports.add(transport); - } - - public List getTransports() { - return transports; - } public void setAutoRdvAddress(String adressUri) { --- 169,172 ---- *************** *** 270,353 **** private String autoRelayUri; ! public void configureConfigurator(Configurator c) throws net.jxta.exception.ConfiguratorException { - System.out.println("setting home: "); - System.out.println("setting home: " + FS.getHome().getPath()); - // TODO: this breaks the system ... we need to find another way? - // Configurator.setHome(FS.getHome()); - c.setName(getPeerName()); ! System.err.println("configuring: setting peername: " + getPeerName()); ! //c.addTransports(getTransports()); ! c.setTransports(getTransports()); ! ! System.err ! .println("configuring: adding transports: " + c.getTransports()); ! Iterator i = c.getTransports().iterator(); ! ! while(i.hasNext()) { ! ! Transport t = (Transport) i.next(); ! Iterator j = t.getAddresses().iterator(); ! ! while(j.hasNext()) ! { ! Address adr = (Address) j.next(); ! System.err.println("Address portrange = "+adr.getPortRange()); ! System.err.println("Address uri = "+adr.getAddress()); ! } ! ! } ! c.setRendezVousBootstrapAddress(null); ! c.setRelaysBootstrapAddress(null); ! //c.setRelaysDiscovery(false); ! if (rdvs != null) ! c.setRendezVous(rdvs); ! // c.addRendezVous(rdvs); ! c.setRendezVous(isRdv); ! try { ! if(this.autoRdvAddress != null) { ! c.setRendezVousBootstrapAddress(this.autoRdvAddress); ! System.out.println("auto rdv address set: "+this.autoRdvAddress); ! } ! } catch (ConfiguratorException e) { ! e.printStackTrace(); } System.err.println("configuring: setting rdvs: " + rdvs); if(relays != null) ! c.setRelays(relays); if(autoRelay) { ! try { ! c.setRelaysBootstrapAddress(new URI(autoRelayUri)); ! } catch (ConfiguratorException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } catch (URISyntaxException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } } if(autoRdv) { ! try { ! c.setRendezVousBootstrapAddress(new URI(autoUri)); ! } catch (ConfiguratorException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } catch (URISyntaxException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } else { ! c.setRendezVousBootstrapAddress(null); } ! System.err.println("configuring: setting relays: " + relays); } --- 263,300 ---- private String autoRelayUri; ! public void configureRdvRelay(NetworkConfigurator nc) throws net.jxta.exception.ConfiguratorException { ! nc.clearRelaySeedingURIs(); ! nc.setUseOnlyRelaySeeds(true); ! nc.clearRendezvousSeedingURIs(); ! nc.setUseOnlyRendezvousSeeds(true); ! System.err.println ("adding Rdv Seeds: "+rdvs); if (rdvs != null) ! nc.setRendezvousSeeds((java.util.Set<java.lang.String>) rdvs); ! // nc.setRendezVous(isRdv); XXX: not sure what to do here ! if(this.autoRdvAddress != null) { ! nc.addRdvSeedingURI(this.autoRdvAddress); ! System.err.println("auto rdv address set: "+this.autoRdvAddress); } System.err.println("configuring: setting rdvs: " + rdvs); if(relays != null) ! nc.setRelaySeedURIs(relays); if(autoRelay) { ! nc.addRelaySeedingURI(autoRelayUri); ! log.info ("configured seeding uri (relay) "+ autoRelayUri); } if(autoRdv) { ! nc.addRdvSeedingURI(autoUri); ! log.info ("configured seeding uri (rdv) "+ autoUri); } ! log.info("configuring: setting relays: " + relays); } *************** *** 391,395 **** this.autoRelay = autoRelay; } - public void setAutoRelayUri(String autoRelayUri) { --- 338,341 ---- *************** *** 397,440 **** } ! public Configurator newConfigurator() { ! ! Configurator configurator = null; ! try { ! PlatformConfig config = (PlatformConfig) ! AdvertisementFactory.newAdvertisement(MimeMediaType.XMLUTF8, new FileInputStream(FS.getHome().getPath() + "/" + "PlatformConfig")); ! configurator = new Configurator(config); ! } catch (FileNotFoundException e1) { ! log.debug("no PlatformConfig found. Generating new", e1); ! } catch (IOException e1) { ! log.error(e1); ! } ! ! if(configurator == null) ! { if(!isRdv) { System.err.println("EDGE Profile configurator."); ! configurator = new net.jxta.ext.config.Configurator(FS.getHome().toURI(), Profile.EDGE); } else { System.err.println("RDV Profile configurator."); ! configurator = new net.jxta.ext.config.Configurator(FS.getHome().toURI(), Profile.RENDEZVOUS); ! } ! } else { ! System.err.println("using old configurator from PlatformConfig"); ! } ! ! configurator.setSecurity(this.principal, this.credential); ! ! try { ! configureConfigurator(configurator); ! ! System.out.println("PlatformConfig = " +configurator.getPlatformConfig()); ! } catch (ConfiguratorException e) { ! e.printStackTrace(); ! log.error(e); ! UIUtils.displayErrorNoChance("Configuration Error in base system."); } - return configurator; } --- 343,369 ---- } + protected abstract void configureNetworkConfiguratorHttp(NetworkConfigurator nc); + protected abstract void configureNetworkConfiguratorTcp(NetworkConfigurator nc); ! public void configureNetworkManager(NetworkManager nm) ! throws java.io.IOException, net.jxta.exception.ConfiguratorException { ! NetworkConfigurator nc = nm.getConfigurator(); if(!isRdv) { System.err.println("EDGE Profile configurator."); ! nc.setMode(NetworkConfigurator.EDGE_NODE); } else { System.err.println("RDV Profile configurator."); ! nc.setMode(NetworkConfigurator.RDV_NODE); } + + nc.setPrincipal(this.principal); + nc.setPassword(this.credential); + + configureNetworkConfiguratorHttp(nc); + configureNetworkConfiguratorTcp(nc); + + configureRdvRelay(nm.getConfigurator()); + // transports } |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:47
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/util In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730/src/vsis/im/util Modified Files: XMLResource.java Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. Index: XMLResource.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/util/XMLResource.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** XMLResource.java 20 Mar 2006 18:07:21 -0000 1.9 --- XMLResource.java 27 Nov 2008 18:33:37 -0000 1.10 *************** *** 62,66 **** private Document document = null; ! private Node rootNode = null; private File loadedFile = null; private boolean isFileLoaded = false; --- 62,66 ---- private Document document = null; ! private Node rootNode = null; private File loadedFile = null; private boolean isFileLoaded = false; *************** *** 111,115 **** } isFileLoaded = true; ! log.debug("File successfully loaded: " + getLoadedFile().getPath()); } catch (Exception e) { log.error("Error while loading the XML-file: " + getLoadedFile().getPath(), e); --- 111,115 ---- } isFileLoaded = true; ! log.info("File successfully loaded (root="+rootNode+"): " + getLoadedFile().getPath()); } catch (Exception e) { log.error("Error while loading the XML-file: " + getLoadedFile().getPath(), e); |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:43
|
Update of /cvsroot/jxtaim/jxtaim In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730 Added Files: ChangeLog Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. --- NEW FILE: ChangeLog --- 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:43
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730/src/vsis/im Modified Files: Main.java Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. Index: Main.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/Main.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Main.java 8 Dec 2006 17:20:27 -0000 1.11 --- Main.java 27 Nov 2008 18:33:37 -0000 1.12 *************** *** 68,73 **** import org.xml.sax.SAXException; - import com.sun.jndi.toolkit.url.Uri; - import vsis.im.util.FS; import vsis.im.util.theme.LAFContext; --- 68,71 ---- |
From: Alexander S. <as...@us...> - 2008-11-27 18:33:43
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/communication In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6730/src/vsis/im/communication Modified Files: JxtaConnection.java Log Message: 2008-11-27 Alexander Sack <as...@jw...> Port configuration code to jxta 2.5 and do some randome cleanups * src/vsis/im/util/config/ConfigurationService.java, src/vsis/im/util/config/JxtaConfigurator.java, src/vsis/im/util/config/JxtaConfiguratorImpl.java - refactor all Platform configuration code and make it use NetworkManager and NetworkConfigurator introduced by JXTA 2.5 instead of the old Configurator * src/vsis/im/communication/JxtaConnection.java - (nm): NEW field: private NetworkManager nm - (goOnline): goOnline takes care now to setup NetworkManager and configure it using the new ConfigurationService mechanisms; catch and forward rethrow new exceptions * src/vsis/im/util/XMLResource.java - (load): improve logging - (<class>) fix indentation of field definition * src/vsis/im/Main.java: - [cleanup] drop not used com.sun import * src/conf/DefaultConfiguration.xml: - fix default relay and rendevouz auto-uri's used to gather initial seeds. Index: JxtaConnection.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/communication/JxtaConnection.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** JxtaConnection.java 24 Nov 2005 22:56:26 -0000 1.13 --- JxtaConnection.java 27 Nov 2008 18:33:37 -0000 1.14 *************** *** 46,49 **** --- 46,50 ---- import vsis.im.util.AsyncClosure; import vsis.im.util.config.ConfigurationService; + import vsis.im.util.FS; import net.jxta.credential.AuthenticationCredential; *************** *** 71,74 **** --- 72,76 ---- import net.jxta.rendezvous.RendezvousEvent; import net.jxta.rendezvous.RendezvousListener; + import net.jxta.platform.NetworkManager; /** *************** *** 117,120 **** --- 119,124 ---- private HashMap pgid2uuid = new HashMap(); + private NetworkManager nm = null; + /** * Constructor for JxtaConnection. *************** *** 129,137 **** private void goOnline() throws CommunicationException { // TODO: CHECK IF CONNECTION IS ESTABLISHED ! online = false; ! try { // Join the main group ! setNetPeerGroup(PeerGroupFactory.newNetPeerGroup()); log.debug("NetPeerGroup is joint!"); --- 133,151 ---- private void goOnline() throws CommunicationException { // TODO: CHECK IF CONNECTION IS ESTABLISHED ! if (this.online) ! return; try { + // create the NetworkManager + nm = new NetworkManager (NetworkManager.ConfigMode.EDGE, + getConfigurationService().getPeername(), + FS.getHome().toURI()); + nm.setConfigPersistent(true); + + configurationService.getJxtaConfigurator().configureNetworkManager(nm); + + nm.getConfigurator().save(); + // Join the main group ! setNetPeerGroup(nm.startNetwork()); log.debug("NetPeerGroup is joint!"); *************** *** 166,169 **** --- 180,189 ---- online = true; + } catch (IOException e) { + log.error("Unable to setup NetworkManager", e); + throw new CommunicationException("Unable to setup NetworkManager", e); + } catch (net.jxta.exception.ConfiguratorException e) { + log.error("Unable to configure NetworkManager", e); + throw new CommunicationException("Unable to configure NetworkManager", e); } catch (PeerGroupException e) { log.error("Unable to join the PeerGroup", e); *************** *** 587,590 **** --- 607,641 ---- // $Log$ + // Revision 1.14 2008/11/27 18:33:37 asac + // 2008-11-27 Alexander Sack <as...@jw...> + // + // Port configuration code to jxta 2.5 and do some + // randome cleanups + // + // * src/vsis/im/util/config/ConfigurationService.java, + // src/vsis/im/util/config/JxtaConfigurator.java, + // src/vsis/im/util/config/JxtaConfiguratorImpl.java + // - refactor all Platform configuration code and make it + // use NetworkManager and NetworkConfigurator introduced + // by JXTA 2.5 instead of the old Configurator + // + // * src/vsis/im/communication/JxtaConnection.java + // - (nm): NEW field: private NetworkManager nm + // - (goOnline): goOnline takes care now to setup + // NetworkManager and configure it using + // the new ConfigurationService mechanisms; + // catch and forward rethrow new exceptions + // + // * src/vsis/im/util/XMLResource.java + // - (load): improve logging + // - (<class>) fix indentation of field definition + // + // * src/vsis/im/Main.java: + // - [cleanup] drop not used com.sun import + // + // * src/conf/DefaultConfiguration.xml: + // - fix default relay and rendevouz auto-uri's used to + // gather initial seeds. + // // Revision 1.13 2005/11/24 22:56:26 asac // landing patch for asynchronous error handling *with* CounterActions (which coincidentially allow user Interaction in response to errors): |
From: Alexander S. <as...@us...> - 2008-11-27 18:14:22
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/config In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5666/src/vsis/im/view/config Modified Files: ConfigurationGuiController.java Log Message: * fix getValueAt invocations during save preferences in ConfigurationGuiController; first argument is row, second is col; this was mixed up before - update src/vsis/im/view/config/ConfigurationGuiController.java Index: ConfigurationGuiController.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/config/ConfigurationGuiController.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** ConfigurationGuiController.java 20 Mar 2006 18:07:20 -0000 1.14 --- ConfigurationGuiController.java 27 Nov 2008 18:14:10 -0000 1.15 *************** *** 395,399 **** for(int i = 0; i < r; i++) { ! String uri = (String) seedingModel.getValueAt(JxtaConfigPanel.COL_URI, i); configService.addRdvUri(uri); } --- 395,399 ---- for(int i = 0; i < r; i++) { ! String uri = (String) seedingModel.getValueAt(i, JxtaConfigPanel.COL_URI); configService.addRdvUri(uri); } *************** *** 408,412 **** for(int i = 0; i < r; i++) { ! String uri = (String) seedingModel.getValueAt(JxtaConfigPanel.COL_URI, i); configService.addRelayUri(uri); } --- 408,412 ---- for(int i = 0; i < r; i++) { ! String uri = (String) seedingModel.getValueAt(i, JxtaConfigPanel.COL_URI); configService.addRelayUri(uri); } |
From: Alexander S. <as...@us...> - 2008-11-27 18:11:55
|
Update of /cvsroot/jxtaim/jxtaim/lib In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5458/lib Modified Files: jxta.jar Removed Files: jxtaext.jar Log Message: * upgrade jxta.jar to RELEASE 2.5; drop obsolete lib/jxtaext.jar --- jxtaext.jar DELETED --- Index: jxta.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/jxta.jar,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 Binary files /tmp/cvsXO7QnO and /tmp/cvsbHB5TB differ |
From: Alexander S. <as...@us...> - 2008-05-14 14:28:08
|
Update of /cvsroot/jxtaim/jxtaim/lib In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv21040/lib Modified Files: bcprov-jdk14-130.jar javax.servlet.jar jxta.jar jxtaext.jar log4j-1.2.6.jar org.mortbay.jetty.jar Log Message: * update JXTA libs to 2.3.7 release - update lib/bcprov-jdk14-130.jar - update lib/javax.servlet.jar - update lib/jxta.jar - update lib/jxtaext.jar - update lib/log4j-1.2.6.jar - update lib/org.mortbay.jetty.jar Index: log4j-1.2.6.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/log4j-1.2.6.jar,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsB57FP9 and /tmp/cvspFz3wl differ Index: bcprov-jdk14-130.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/bcprov-jdk14-130.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsa6gnwS and /tmp/cvsKnkdc6 differ Index: javax.servlet.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/javax.servlet.jar,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsKNqu9e and /tmp/cvsK783it differ Index: jxtaext.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/jxtaext.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvskr39Ho and /tmp/cvs8h6TiD differ Index: org.mortbay.jetty.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/org.mortbay.jetty.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvs8oC8BE and /tmp/cvsW6SnjW differ Index: jxta.jar =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/lib/jxta.jar,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 Binary files /tmp/cvsAyOJJY and /tmp/cvso99cjh differ |
From: <10...@gm...> - 2007-03-12 03:42:47
|
I installed the JIM.It run well,but I can't find anybody others.I try to solute the problem via the forum,but I'm defeated. I open two JIM on my computer,regiser two user named "andy" and "myjm",but I still can't find each other. Who know the problems?I need your help,thank very much. <jxt...@li...> -- andy bupt |
From: Alexander S. <as...@us...> - 2006-12-08 17:27:59
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19454/src/vsis/im/view Modified Files: ChatGui.java Log Message: use toggle buttons for font modifiers (bold, italic, etc.) and automatically change state depending on attributes below cursor Index: ChatGui.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/ChatGui.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ChatGui.java 24 Jul 2006 11:55:13 -0000 1.21 --- ChatGui.java 8 Dec 2006 17:27:56 -0000 1.22 *************** *** 29,34 **** --- 29,36 ---- import java.awt.Color; + import java.awt.Component; import java.awt.Container; import java.awt.Dimension; + import java.awt.Event; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; *************** *** 38,41 **** --- 40,44 ---- import java.awt.event.ActionEvent; import java.awt.event.ActionListener; + import java.awt.event.InputEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; *************** *** 43,49 **** --- 46,55 ---- import java.io.StringReader; import java.io.StringWriter; + import java.util.Enumeration; + import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; + import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JEditorPane; *************** *** 54,66 **** --- 60,85 ---- import javax.swing.JMenuItem; import javax.swing.JScrollPane; + import javax.swing.JToggleButton; import javax.swing.JToolBar; + import javax.swing.KeyStroke; + import javax.swing.JSpinner.DefaultEditor; + import javax.swing.border.EtchedBorder; import javax.swing.border.LineBorder; + import javax.swing.event.CaretEvent; + import javax.swing.event.CaretListener; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; + import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; + import javax.swing.text.DefaultEditorKit; + import javax.swing.text.DefaultStyledDocument; + import javax.swing.text.Element; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; import javax.swing.text.StyledEditorKit; + import javax.swing.text.AbstractDocument.BranchElement; + import javax.swing.text.html.HTMLDocument.BlockElement; + import javax.swing.undo.UndoManager; import vsis.im.ServiceProviderManager; *************** *** 232,235 **** --- 251,255 ---- }); + chatscroller = new JScrollPane(chatpane,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); gc.gridx=0; gc.gridy = 0; *************** *** 258,263 **** inputtoolbar.setBorder(new LineBorder(Color.DARK_GRAY,1)); inputtoolbar.setBackground(new Color(245,245,255)); ! Action boldAction = new BBStyledEditorKit.BBBoldAction() { public void actionPerformed(ActionEvent e) { super.actionPerformed(e); --- 278,284 ---- inputtoolbar.setBorder(new LineBorder(Color.DARK_GRAY,1)); inputtoolbar.setBackground(new Color(245,245,255)); + inputtoolbar.setRollover(true); ! final Action boldAction = new BBStyledEditorKit.BBBoldAction() { public void actionPerformed(ActionEvent e) { super.actionPerformed(e); *************** *** 265,272 **** } }; ! inputtoolbar.add(boldAction); ! ! inputtoolbar.add(new BBStyledEditorKit.BBItalicAction() { @Override public void actionPerformed(ActionEvent e) { --- 286,294 ---- } }; + boldAction.putValue(Action.NAME, "B"); + JToggleButton boldButton = new JToggleButton(boldAction); + inputtoolbar.add(boldButton); ! final Action italicAction = new BBStyledEditorKit.BBItalicAction() { @Override public void actionPerformed(ActionEvent e) { *************** *** 275,281 **** } ! }); ! inputtoolbar.add(new BBStyledEditorKit.BBUnderlineAction() { @Override public void actionPerformed(ActionEvent e) { --- 297,306 ---- } ! }; ! italicAction.putValue(Action.NAME, "I"); ! JToggleButton italicButton = new JToggleButton(italicAction); ! inputtoolbar.add(italicButton); ! final Action underlineAction = new BBStyledEditorKit.BBUnderlineAction() { @Override public void actionPerformed(ActionEvent e) { *************** *** 283,287 **** inputarea.requestFocus(); } ! }); gc.gridx=0; gc.gridy = 3; --- 308,325 ---- inputarea.requestFocus(); } ! }; ! underlineAction.putValue(Action.NAME, "U"); ! JToggleButton underlineButton = new JToggleButton(underlineAction); ! inputtoolbar.add(underlineButton); ! ! final Action fileuploadAction = new AbstractAction() ! { ! public void actionPerformed(ActionEvent e) { ! ! } ! }; ! inputtoolbar.addSeparator(); ! fileuploadAction.putValue(Action.NAME, "..."); ! inputtoolbar.add(fileuploadAction); gc.gridx=0; gc.gridy = 3; *************** *** 308,312 **** } }); ! // XXX: (keyPressed) this has to be replaced with an external binding // configuration of keys with masks: a generic method here; explicit --- 346,350 ---- } }); ! // XXX: (keyPressed) this has to be replaced with an external binding // configuration of keys with masks: a generic method here; explicit *************** *** 349,353 **** --- 387,470 ---- } }); + + inputarea.addCaretListener(new CaretListener() { + public void caretUpdate(CaretEvent e) { + int dot = e.getDot(); + + if(dot < 0) + { + return; + } + dot = dot -1; + DefaultStyledDocument doc = (DefaultStyledDocument) inputarea.getDocument(); + AttributeSet as = doc.getCharacterElement(dot).getAttributes(); + + Component[] component = inputtoolbar.getComponents(); + for(int i = 0; i < component.length; i++) + { + if(component[i] instanceof JToggleButton) + { + JToggleButton button = (JToggleButton) component[i]; + Action ac = button.getAction(); + if(ac == boldAction) + { + Object boldval = as.getAttribute("B"); + + if("true".equals(boldval)) + { + button.setSelected(true); + } else { + button.setSelected(false); + } + } + else if (ac == italicAction) + { + Object italicval = as.getAttribute("I"); + if("true".equals(italicval)) + { + button.setSelected(true); + } else { + button.setSelected(false); + } + } + else if (ac == underlineAction) + { + Object underlineval = as.getAttribute("U"); + if("true".equals(underlineval)) + { + button.setSelected(true); + } else { + button.setSelected(false); + } + } + } + } + } + }); + + final UndoManager manager = new UndoManager(); + manager.setLimit(100000); + inputarea.getDocument().addUndoableEditListener(manager); + + KeyStroke keyUndo = KeyStroke.getKeyStroke(KeyEvent.VK_Z, + Event.CTRL_MASK); + KeyStroke keyRedo = KeyStroke.getKeyStroke(KeyEvent.VK_Y, + Event.CTRL_MASK); + InputMap inputMap = inputarea.getInputMap(); + inputMap.put(keyUndo, "undo"); + inputMap.put(keyRedo, "redo"); + inputarea.getActionMap().put("undo", new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if(manager.canUndo()) + manager.undo(); + } + }); + inputarea.getActionMap().put("redo", new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if(manager.canRedo()) + manager.redo(); + } + }); // loader History typoHistoryStepper = controller.getTypoHistory().listStepper *************** *** 455,459 **** StringWriter out = new StringWriter(); inputarea.getEditorKit().write(out,inputarea.getDocument(),0, inputarea.getDocument().getLength()); - System.out.println("Input Text: "+out.toString()); return out.getBuffer().toString(); } catch (BadLocationException e) { --- 572,575 ---- *************** *** 518,522 **** String doc = getInputText(); - System.out.println("NEW DOC: "+doc); adjustViewport(); --- 634,637 ---- |
From: Alexander S. <as...@us...> - 2006-12-08 17:26:38
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19036/src/vsis/im/view/util Modified Files: BrowserController.java Log Message: use x-www-browser as UNIX_PATH for browser integration ... make this configurable (or even better auto-detected) at some point Index: BrowserController.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util/BrowserController.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BrowserController.java 26 Apr 2003 13:44:02 -0000 1.1 --- BrowserController.java 8 Dec 2006 17:26:34 -0000 1.2 *************** *** 21,25 **** * web: http://vsis-www.informatik.uni-hamburg.de/jim * postal address: Uni Hamburg - FB Informatik - VSIS ! * Vogt-Kölln-Straße 30 * 22527 Hamburg * GERMANY --- 21,25 ---- * web: http://vsis-www.informatik.uni-hamburg.de/jim * postal address: Uni Hamburg - FB Informatik - VSIS ! * Vogt-K�lln-Stra�e 30 * 22527 Hamburg * GERMANY *************** *** 37,40 **** --- 37,41 ---- * This class opens a new web browser window. * + * @author Alexander Sack <as...@jw...> * @author Eryk Lagun */ *************** *** 49,58 **** private static final String WIN_FLAG = "url.dll,FileProtocolHandler"; // The default browser under unix. ! private static final String UNIX_PATH = "netscape"; // The flag to display a url. ! private static final String UNIX_FLAG = "-remote openURL"; private boolean windows; ! private Logger log = null; /** --- 50,59 ---- private static final String WIN_FLAG = "url.dll,FileProtocolHandler"; // The default browser under unix. ! private static final String UNIX_PATH = "x-www-browser %s"; // The flag to display a url. ! private static final String UNIX_FLAG = ""; private boolean windows; ! static Logger log = Logger.getLogger(BrowserController.class); /** *************** *** 62,66 **** { windows = isWindowsPlatform(); - log = Logger.getLogger(BrowserController.class); } --- 63,66 ---- *************** *** 87,91 **** // it worked, otherwise we need to start the browser. // cmd = 'netscape -remote openURL(http://www.javaworld.com)' ! cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")"; Process p = Runtime.getRuntime().exec(cmd); try --- 87,91 ---- // it worked, otherwise we need to start the browser. // cmd = 'netscape -remote openURL(http://www.javaworld.com)' ! cmd = UNIX_PATH.replaceAll("%s", url); Process p = Runtime.getRuntime().exec(cmd); try |
From: Alexander S. <as...@us...> - 2006-12-08 17:24:59
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv18282/src/vsis/im/view Modified Files: GuiController.java Log Message: + use square brackets fro timestamp in chat gui + wrap message into a bb [block] element + add static font class-field ABOUT (bold, verdana) in GuiController Index: GuiController.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/GuiController.java,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -d -r1.68 -r1.69 *** GuiController.java 23 Jul 2006 17:10:22 -0000 1.68 --- GuiController.java 8 Dec 2006 17:24:56 -0000 1.69 *************** *** 110,113 **** --- 110,115 ---- public static final Color FGCOLOR = new Color(130, 130, 130); + public static final Font ABOUT = new Font("Verdana", Font.BOLD, 35); + public static final Font PLAIN = new Font("Verdana", Font.PLAIN, 11); *************** *** 601,607 **** } cg.appendChatText(user.getNick() + " : ", "nick"); ! cg.appendChatText("( " + tmcopy.getDate().toString() + " )\n", "date"); ! cg.appendChatText(tmcopy.getContent() + "\n\n", "message"); cg.clearInputArea(); cg.getInputArea().requestFocus(); --- 603,609 ---- } cg.appendChatText(user.getNick() + " : ", "nick"); ! cg.appendChatText("[[" + tmcopy.getDate().toString() + "]]\n", "date"); ! cg.appendChatText("[block]"+tmcopy.getContent() + "\n\n[/block]", "message"); cg.clearInputArea(); cg.getInputArea().requestFocus(); *************** *** 643,647 **** cg.appendChatText(b.getNick(), "nick"); ! cg.appendChatText("( " + tm.getDate().toString() + " )\n", "date"); cg.appendChatText(tm.getContent() + "\n\n", "message"); --- 645,649 ---- cg.appendChatText(b.getNick(), "nick"); ! cg.appendChatText("(" + tm.getDate().toString() + ")\n", "date"); cg.appendChatText(tm.getContent() + "\n\n", "message"); |
From: Alexander S. <as...@us...> - 2006-12-08 17:20:33
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv16661/src/vsis/im Modified Files: Main.java Log Message: add friend field 'home' to Main class (maybe obsolete - investigate) Index: Main.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/Main.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Main.java 16 Mar 2006 19:08:25 -0000 1.10 --- Main.java 8 Dec 2006 17:20:27 -0000 1.11 *************** *** 31,34 **** --- 31,35 ---- import java.beans.PropertyChangeListener; import java.io.BufferedReader; + import java.io.File; import java.io.FileReader; import java.io.IOException; *************** *** 69,72 **** --- 70,74 ---- import com.sun.jndi.toolkit.url.Uri; + import vsis.im.util.FS; import vsis.im.util.theme.LAFContext; import vsis.im.view.Gui; *************** *** 74,77 **** --- 76,81 ---- public class Main { + static File home = FS.getHome(); + private static final Logger log = Logger.getLogger(Main.class); |
From: Alexander S. <as...@us...> - 2006-12-08 17:19:18
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15924/src/vsis/im/view Modified Files: AboutGui.java StartWindow.java Log Message: + new (currenly ugly) juxim logo added to graphics (splash screen) + make use of new logo in AboutGui and StartWindow + rewrite of new scrolling AboutGui Index: AboutGui.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/AboutGui.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** AboutGui.java 4 Sep 2003 20:31:17 -0000 1.8 --- AboutGui.java 8 Dec 2006 17:19:04 -0000 1.9 *************** *** 21,25 **** * web: http://vsis-www.informatik.uni-hamburg.de/jim * postal address: Uni Hamburg - FB Informatik - VSIS ! * Vogt-Kölln-Straße 30 * 22527 Hamburg * GERMANY --- 21,25 ---- * web: http://vsis-www.informatik.uni-hamburg.de/jim * postal address: Uni Hamburg - FB Informatik - VSIS ! * Vogt-K�lln-Stra�e 30 * 22527 Hamburg * GERMANY *************** *** 30,35 **** --- 30,38 ---- import javax.swing.*; import javax.swing.text.*; + import java.awt.*; import java.awt.event.*; + import java.lang.reflect.InvocationTargetException; + import java.util.TimerTask; /** *************** *** 57,60 **** --- 60,64 ---- private JLabel buglabel; private String url; + private SimpleAttributeSet centerparastyle; /** *************** *** 74,79 **** public void initGui() { ! ! //Aboutpanel erzeugen aboutpanel = new JPanel(); initStyles(); --- 78,82 ---- public void initGui() { ! //Aboutpanel erzeugen aboutpanel = new JPanel(); initStyles(); *************** *** 108,111 **** --- 111,115 ---- //setIconImage(tools.getImage(GuiController.ICONPATH+"jimicon.gif")); setVisible(true); + setResizable(false); } *************** *** 118,122 **** JPanel jimpanel = new JPanel(); ! JLabel jimlabel = new JLabel(new ImageIcon(GuiController.ICONPATH+"jim.gif")); jimlabel.setBorder(BorderFactory.createEtchedBorder(GuiController.BGCOLOR,GuiController.FGCOLOR)); --- 122,128 ---- JPanel jimpanel = new JPanel(); ! JLabel jimlabel = new JLabel(new ImageIcon(GuiController.ICONPATH+"juxim_logo.png")); ! jimlabel.setBackground(Color.WHITE); ! jimlabel.setOpaque(true); jimlabel.setBorder(BorderFactory.createEtchedBorder(GuiController.BGCOLOR,GuiController.FGCOLOR)); *************** *** 128,132 **** return jimpanel; } ! /* * Creates a panel that contains information about the project --- 134,140 ---- return jimpanel; } ! ! JScrollPane peoplepanel; ! int maxscrolly = -1; /* * Creates a panel that contains information about the project *************** *** 136,143 **** { JPanel infopanel = new JPanel(); - JPanel peoplepanel = new JPanel(); StyledDocument doc = new DefaultStyledDocument(); JTextPane people = new JTextPane(doc); people.setFont(GuiController.PLAINSMALL); people.setEditable(false); --- 144,155 ---- { JPanel infopanel = new JPanel(); StyledDocument doc = new DefaultStyledDocument(); + JTextPane people = new JTextPane(doc); + + people.setMaximumSize(new Dimension(400,200)); + people.setPreferredSize(new Dimension(400,200)); + people.setMaximumSize(new Dimension(400,300)); people.setFont(GuiController.PLAINSMALL); people.setEditable(false); *************** *** 145,182 **** doc = people.getStyledDocument(); try { ! String title = "\n J.I.M. Project Managers\n"; ! doc.insertString (doc.getLength (),title, titlestyle); ! String text = " Prof. Dr. Winfried Lamersdorf (VSIS Head)\n" + ! " Toby Baier (Research Assistant)\n" + ! " Dietrich Fahrenholtz (Doctoral Candidate)\n"; ! int offset = doc.getLength (); ! doc.insertString (offset, text, textstyle); ! doc.setParagraphAttributes (offset, text.length () - 1, textstyle, false); ! title = "\n J.I.M. Concepts and Programming"; ! doc.insertString (doc.getLength (), title, titlestyle); ! text = "\n Timo Cornelisen, Rene Grohmann,\n" + ! " Benjamin Otte, Denis Rathig, Thoralf Rickert,\n" + ! " Mirwais Turjalei (Communication)\n" + ! " Axel Griewel, Thilo Mende, Jonas Reese,\n" + ! " Sebastian Schulze (Security)\n" + ! " Jan Milz, Timo Nolte, Jochen Lenz (Model)\n" + ! " Dirk Bade, Savas Cetin, Torsten Koester (Search)\n" + ! " Stefan Kuerten, Sebastian Michaelis,\n" + ! " Alexander Sack, Ragna Dirkner (Status)\n" + ! " Eryk Lagun (View)\n"; ! offset = doc.getLength (); ! doc.insertString (offset, text, textstyle); ! doc.setParagraphAttributes (offset, text.length (), textstyle, false); } catch (BadLocationException e) { /* ignore */ } ! //Project Link JPanel urlpanel = new JPanel(); urlpanel.setBackground(GuiController.BGCOLOR); urlpanel.setLayout(new FlowLayout(FlowLayout.CENTER,50,10)); --- 157,221 ---- doc = people.getStyledDocument(); + doc.setParagraphAttributes(0, doc.getLength(), centerparastyle, true); try { ! doc.insertString (doc.getLength (), "\n\n\n\nProject Lead\n", titlestyle); ! doc.insertString (doc.getLength (),"Alexander Sack\n", textstyle); ! doc.insertString (doc.getLength (),"Rene Grohmann\n", textstyle); ! doc.insertString (doc.getLength (),"---\n", textstyle); ! doc.insertString (doc.getLength (),"Thanks To\n", titlestyle); ! doc.insertString (doc.getLength (),"Dennis Dettbarn\n", textstyle); ! doc.insertString (doc.getLength (),"Mirwais Turjalei\n", textstyle); ! doc.insertString (doc.getLength (),"Nils + Anika Richter\n", textstyle); ! doc.insertString (doc.getLength (),"Toby Baier\n", textstyle); ! doc.insertString (doc.getLength (),"---\n", textstyle); ! ! doc.insertString (doc.getLength (),"Emeritus\n", titlestyle); ! doc.insertString (doc.getLength (),"Axel Griewel\n", textstyle); ! doc.insertString (doc.getLength (),"Benjamin Otte\n", textstyle); ! doc.insertString (doc.getLength (),"Dirk Bade\n", textstyle); ! doc.insertString (doc.getLength (),"Denis Rathig\n", textstyle); ! doc.insertString (doc.getLength (),"Eryk Lagun\n", textstyle); ! doc.insertString (doc.getLength (),"Jan Milz\n", textstyle); ! doc.insertString (doc.getLength (),"Jochen Lenz\n", textstyle); ! doc.insertString (doc.getLength (),"Jonas Reese\n", textstyle); ! doc.insertString (doc.getLength (),"Mirwais Turjalei\n", textstyle); ! doc.insertString (doc.getLength (),"Ragna Dirkner\n", textstyle); ! doc.insertString (doc.getLength (),"Savas Cetin\n", textstyle); ! doc.insertString (doc.getLength (),"Sebastian Michaelis\n", textstyle); ! doc.insertString (doc.getLength (),"Sebastian Schulze\n", textstyle); ! doc.insertString (doc.getLength (),"Stefan Kuerten\n", textstyle); ! doc.insertString (doc.getLength (),"Thilo Mende\n", textstyle); ! doc.insertString (doc.getLength (),"Thoralf Rickert\n", textstyle); ! doc.insertString (doc.getLength (),"Timo Cornelisen\n", textstyle); ! doc.insertString (doc.getLength (),"Timo Nolte\n", textstyle); ! doc.insertString (doc.getLength (),"Toby Baier\n", textstyle); ! doc.insertString (doc.getLength (),"Torsten Koester\n", textstyle); ! doc.insertString (doc.getLength (),"---\n", textstyle); ! doc.insertString (doc.getLength (),"License\n", titlestyle); ! doc.insertString (doc.getLength (),"LGPL, Version 2 or later\n", textstyle); ! ! doc.insertString (doc.getLength (),"---\n", textstyle); ! ! doc.insertString (doc.getLength (),"Homepage\n", titlestyle); ! doc.insertString (doc.getLength (),"http://www.juxim.org\n", textstyle); ! ! doc.insertString (doc.getLength (),"\n\n\n", textstyle); } catch (BadLocationException e) { /* ignore */ } ! ! peoplepanel = new JScrollPane(people,JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); ! peoplepanel.setMaximumSize(new Dimension(400,200)); ! peoplepanel.setPreferredSize(new Dimension(400,200)); ! peoplepanel.setSize(new Dimension(400,200)); ! //Project Link JPanel urlpanel = new JPanel(); + urlpanel.setBackground(Color.WHITE); + urlpanel.setOpaque(true); urlpanel.setBackground(GuiController.BGCOLOR); urlpanel.setLayout(new FlowLayout(FlowLayout.CENTER,50,10)); *************** *** 196,203 **** urlpanel.add(buglabel); ! peoplepanel.setLayout(new BorderLayout()); ! peoplepanel.setBorder(BorderFactory.createEtchedBorder(GuiController.BGCOLOR,GuiController.FGCOLOR)); ! peoplepanel.add(people, BorderLayout.CENTER); ! peoplepanel.add(urlpanel, BorderLayout.SOUTH); infopanel.setLayout(new BorderLayout()); --- 235,240 ---- urlpanel.add(buglabel); ! //peoplepanel.add(people, BorderLayout.CENTER); ! //peoplepanel.add(urlpanel, BorderLayout.SOUTH); infopanel.setLayout(new BorderLayout()); *************** *** 214,239 **** { //Attribute des DefaultFont (def. in Gui) auslesen ! String fontfamily = GuiController.PLAINSMALL.getFamily(); ! int fontsize = GuiController.PLAINSMALL.getSize(); ! //style für den Nickname festlegen titlestyle = new SimpleAttributeSet(); StyleConstants.setFontFamily(titlestyle, fontfamily); StyleConstants.setFontSize(titlestyle, fontsize); StyleConstants.setBackground(titlestyle, GuiController.BGCOLOR); ! StyleConstants.setForeground(titlestyle, Color.black); StyleConstants.setBold(titlestyle, true); StyleConstants.setItalic(titlestyle, false); ! //style für das Datum festlegen textstyle = new SimpleAttributeSet(); StyleConstants.setFontFamily(textstyle, fontfamily); ! StyleConstants.setFontSize(textstyle, fontsize); StyleConstants.setBackground(textstyle, GuiController.BGCOLOR); ! StyleConstants.setForeground(textstyle, Color.black); StyleConstants.setBold(textstyle, false); StyleConstants.setItalic(textstyle, false); ! Float spacing = new Float(0.25); StyleConstants.setLineSpacing(textstyle,spacing.floatValue()); } --- 251,385 ---- { //Attribute des DefaultFont (def. in Gui) auslesen ! String fontfamily = GuiController.ABOUT.getFamily(); ! int fontsize = GuiController.ABOUT.getSize(); ! //style f�r den Nickname festlegen titlestyle = new SimpleAttributeSet(); StyleConstants.setFontFamily(titlestyle, fontfamily); StyleConstants.setFontSize(titlestyle, fontsize); StyleConstants.setBackground(titlestyle, GuiController.BGCOLOR); ! StyleConstants.setForeground(titlestyle, Color.GRAY); StyleConstants.setBold(titlestyle, true); StyleConstants.setItalic(titlestyle, false); + StyleConstants.setSpaceAbove(titlestyle, 70); + StyleConstants.setSpaceBelow(titlestyle, 20); ! //style f�r das Datum festlegen textstyle = new SimpleAttributeSet(); StyleConstants.setFontFamily(textstyle, fontfamily); ! StyleConstants.setFontSize(textstyle, fontsize - (int) (fontsize * 0.1)); StyleConstants.setBackground(textstyle, GuiController.BGCOLOR); ! StyleConstants.setForeground(textstyle, Color.GRAY); StyleConstants.setBold(textstyle, false); StyleConstants.setItalic(textstyle, false); ! Float spacing = 10.0f; StyleConstants.setLineSpacing(textstyle,spacing.floatValue()); + + centerparastyle = new SimpleAttributeSet(); + StyleConstants.setSpaceAbove(centerparastyle, 10); + StyleConstants.setSpaceBelow(centerparastyle, 10); + StyleConstants.setAlignment(centerparastyle, StyleConstants.ALIGN_CENTER); + + addWindowListener(new WindowAdapter() { + @Override + public void windowOpened(WindowEvent e) { + super.windowOpened(e); + startScroll(); + } + + @Override + public void windowDeiconified(WindowEvent e) { + // TODO Auto-generated method stub + super.windowDeiconified(e); + startScroll(); + } + + @Override + public void windowClosed(WindowEvent e) { + super.windowClosed(e); + endScroll(); + } + + @Override + public void windowClosing(WindowEvent e) { + super.windowClosing(e); + endScroll(); + } + + @Override + public void windowIconified(WindowEvent e) { + // TODO Auto-generated method stub + super.windowIconified(e); + endScroll(); + } + }); + } + + TimerTask scrollTask = null; + java.util.Timer scrollTimer = null; + + protected void endScroll() { + if(scrollTask == null) + return; + + scrollTask.cancel(); + scrollTask = null; + } + + Rectangle scrollRect; + + protected void startScroll() { + if(scrollTask != null) + { + return; + } + + Point startPos = peoplepanel.getViewport().getViewPosition(); + maxscrolly = startPos.y; + + System.out.println("peoplepanel startpos: "+startPos); + startPos.y = -50; + + peoplepanel.getViewport().setViewPosition(startPos); + + scrollTask = new TimerTask() { + @Override + public void run() { + try { + EventQueue.invokeAndWait( + new Runnable() { + public void run() { + doScroll(); + } + }); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }; + + if(scrollTimer == null) + { + scrollTimer = new java.util.Timer("Scroll-Timer"); + } + + scrollTimer.scheduleAtFixedRate(scrollTask, 2000, 20); + } + + protected void doScroll() { + //System.out.println("would scroll"); + Point p = peoplepanel.getViewport().getViewPosition(); + p.y+=1; + if(p.y >= maxscrolly) + { + endScroll(); + startScroll(); + } else { + peoplepanel.getViewport().setViewPosition(p); + } } Index: StartWindow.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/StartWindow.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** StartWindow.java 25 Oct 2005 00:23:35 -0000 1.14 --- StartWindow.java 8 Dec 2006 17:19:04 -0000 1.15 *************** *** 28,31 **** --- 28,32 ---- package vsis.im.view; + import java.awt.Color; import java.awt.Container; import java.awt.Dimension; *************** *** 35,38 **** --- 36,40 ---- import javax.swing.JLabel; import javax.swing.JWindow; + import javax.swing.border.LineBorder; import vsis.im.ServiceProvider; *************** *** 64,68 **** int height = 185; JLabel jim = new JLabel(new ImageIcon(GuiController.ICONPATH ! + "jim.gif")); Container content = getContentPane(); content.add(jim); --- 66,70 ---- int height = 185; JLabel jim = new JLabel(new ImageIcon(GuiController.ICONPATH ! + "juxim_logo.png")); Container content = getContentPane(); content.add(jim); *************** *** 72,75 **** --- 74,80 ---- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setSize(width, height); + jim.setBackground(Color.WHITE); + jim.setOpaque(true); + jim.setBorder(new LineBorder(Color.DARK_GRAY, 1)); setLocation((screenSize.width - width) / 2, (screenSize.height - height) / 2); |
From: Alexander S. <as...@us...> - 2006-12-08 17:19:13
|
Update of /cvsroot/jxtaim/jxtaim/graphics In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15924/graphics Added Files: juxim_logo.png juxim_logo.svg Log Message: + new (currenly ugly) juxim logo added to graphics (splash screen) + make use of new logo in AboutGui and StartWindow + rewrite of new scrolling AboutGui --- NEW FILE: juxim_logo.svg --- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <!-- Created with Sodipodi ("http://www.sodipodi.com/") --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg2374" sodipodi:version="0.34" inkscape:version="0.44" width="356pt" height="212pt" sodipodi:docbase="/tmp/" sodipodi:docname="/tmp/juxim_logo.svg"> <defs id="defs2376"> <linearGradient id="linearGradient2818"> <stop id="stop2820" offset="0" style="stop-color:#0d6900;stop-opacity:1;" /> <stop id="stop2822" offset="1" style="stop-color:#2c0000;stop-opacity:0.67450982;" /> </linearGradient> <linearGradient id="linearGradient8837"> <stop style="stop-color:#2f3485;stop-opacity:1;" offset="0" id="stop8839" /> <stop style="stop-color:#2e32a3;stop-opacity:0;" offset="1" id="stop8841" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient8827"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop8829" /> <stop style="stop-color:#000000;stop-opacity:0.67553192" offset="1" id="stop8831" /> </linearGradient> <linearGradient id="linearGradient2492"> <stop style="stop-color:#e0c39e;stop-opacity:0.0000000;" offset="0.0000000" id="stop2493" /> <stop style="stop-color:#e0c39e;stop-opacity:1.0000000;" offset="0.50000000" id="stop2508" /> <stop style="stop-color:#ffffff;stop-opacity:1.0000000;" offset="1.0000000" id="stop2495" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient2467"> <stop style="stop-color:#826647;stop-opacity:1.0000000;" offset="0.0000000" id="stop2468" /> <stop style="stop-color:#e0c39e;stop-opacity:1.0000000;" offset="0.75000000" id="stop2470" /> <stop style="stop-color:#ffffff;stop-opacity:1.0000000;" offset="1.0000000" id="stop2471" /> </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2467" id="linearGradient2466" x1="-17.023458" y1="128.88583" x2="-52.526741" y2="10.130984" gradientTransform="scale(1.105542,0.904534)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2467" id="linearGradient2473" x1="-15.007944" y1="36.417266" x2="-18.152871" y2="141.76958" gradientTransform="scale(1.434033,0.697334)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2492" id="linearGradient2491" x1="29.527972" y1="107.84206" x2="-74.143195" y2="96.557025" gradientTransform="scale(1.276915,0.783137)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2492" id="linearGradient2504" x1="21.840462" y1="153.76195" x2="-149.49938" y2="85.386976" gradientTransform="scale(1.182975,0.845327)" gradientUnits="userSpaceOnUse" /> <linearGradient inkscape:collect="always" xlink:href="#linearGradient8827" id="linearGradient8833" x1="20.85965" y1="32.367226" x2="167.93787" y2="93.178406" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.048941,0,0,1.048941,-1.843673,-6.457687)" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient2467" id="radialGradient8843" cx="-182.000015" cy="-54.000164" fx="-128.000015" fy="-31.6597195" r="74.9999847" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1.176243e-5,-5.293217e-5)" /> <linearGradient xlink:href="#linearGradient2467" id="linearGradient669" x1="0.14716971" y1="1.01123571" x2="1.50943389e-2" y2="0.80898821" /> <linearGradient xlink:href="#linearGradient2492" id="linearGradient670" x1="4.5134481e-8" y1="-8.87762042e-8" x2="1" y2="-8.87762042e-8" /> <linearGradient xlink:href="#linearGradient2467" id="linearGradient649" x1="0.48679322" y1="0.62162459" x2="0.4867925" y2="1.32432425" /> <linearGradient xlink:href="#linearGradient2467" id="linearGradient650" x1="0.50188231" y1="0.29268295" x2="0.50188679" y2="-0.24390204" /> <linearGradient xlink:href="#linearGradient2818" id="linearGradient651" x1="3.82919829e-8" y1="-7.79760114e-8" x2="1" y2="-7.79760114e-8" /> <radialGradient xlink:href="#linearGradient2818" id="radialGradient652" cx="0.5" cy="0.5" r="0.5" fx="0.5" fy="0.5" /> <radialGradient xlink:href="#linearGradient2818" id="radialGradient653" cx="0.5" cy="0.5" r="0.5" fx="0.5" fy="0.5" /> <linearGradient xlink:href="#linearGradient2467" id="linearGradient654" x1="7.36437589e-2" y1="-1.66672897e-2" x2="0.25193802" y2="1.33333337" /> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8284271" inkscape:cx="84.752575" inkscape:cy="72.699728" inkscape:window-width="1051" inkscape:window-height="834" showborder="true" inkscape:window-x="169" inkscape:window-y="63" inkscape:current-layer="svg2374" showguides="true" inkscape:guide-bbox="true" /> <metadata id="metadata2377"> <rdf:RDF> <cc:Work rdf:about=""> <dc:description>Created with Inkscape (http://www.inkscape.org/)</dc:description> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> <dc:creator> <cc:Agent> <dc:title>Andrew Fitzsimon</dc:title> </cc:Agent> </dc:creator> <dc:date>2004-07-07</dc:date> </cc:Work> </rdf:RDF> </metadata> <path sodipodi:type="arc" style="opacity:0.57368421;fill:url(#radialGradient8843);fill-opacity:1;fill-rule:evenodd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke:url(#linearGradient669);" id="path8835" sodipodi:cx="-182" sodipodi:cy="-54" sodipodi:rx="75" sodipodi:ry="75" d="M -107 -54 A 75 75 0 1 0 -257 -54 A 75 75 0 1 0 -107 -54 z" transform="matrix(0.867742,0,0,0.234978,244.1609,236.2603)" /> <g transform="matrix(0.923172,0,0,0.734009,123.2447,115.337)" id="g2486" style="stroke:#000000;stroke-opacity:1;stroke-width:1.0183;stroke-dasharray:1.018286,1.018286;stroke-dashoffset:0;"> <path id="path8823" d="M -95.685186,34.285952 L -105.3555,111.13948 L 14.250985,153.38347 L 40.208137,58.716213 L -95.685186,34.285952 z " style="opacity:0.25;fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.018286,1.018286;stroke-opacity:1;stroke-dashoffset:0;" /> <path style="opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:1.018286,1.018286;stroke-opacity:1;stroke-dashoffset:0;" d="M -95.685186,34.285952 L -105.3555,111.13948 L 14.250985,153.38347 L 40.208137,58.716213 L -95.685186,34.285952 z " id="path7948" /> <path id="path2417" d="M -95.685186,34.285952 L -105.3555,111.13948 L 14.250985,153.38347 L 40.208137,58.716213 L -95.685186,34.285952 z " style="fill:url(#linearGradient2466);fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.018286,1.018286;stroke-dashoffset:0;" /> <path id="path2418" d="M -95.685186,33.776989 L -57.003941,96.888494 L 34.100572,59.73414 L -95.685186,33.776989 z " style="fill:url(#linearGradient2473);fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.018286,1.018286;stroke-dashoffset:0;" /> <path sodipodi:nodetypes="cccccccccc" id="path2419" d="M -89.577621,60.243104 C -89.577621,60.243104 -98.230005,81.619582 -89.577621,94.343676 C -80.925237,107.06777 -99.756896,89.254038 -99.756896,89.254038 C -99.756896,89.254038 -99.756896,102.99606 -95.685186,107.06777 C -91.613476,111.13948 0.50896376,140.65938 0.50896376,140.65938 C 0.50896376,140.65938 13.742021,114.70223 12.724094,110.63052 C 11.706166,106.55881 4.07171,117.24704 4.07171,117.24704 C 4.07171,117.24704 10.688239,86.709219 5.5986013,79.583727 C 0.50896376,84.1644 -59.039796,102.4871 -59.039796,102.4871 L -89.577621,60.243104 z " style="fill:url(#linearGradient2504);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.018286,1.018286;stroke-dashoffset:0;" /> <path id="path2420" d="M -74.817672,63.80585 L -67.183216,58.207249 C -67.183216,58.207249 -63.620469,83.146473 -57.003941,86.709219 C -50.387412,90.271965 -45.806738,41.920408 -24.43026,49.554865 C -3.0537825,57.189321 2.035855,70.931343 2.035855,70.931343 L -56.494977,95.870567 L -74.817672,63.80585 z " style="fill:url(#linearGradient2491);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.0183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.018286,1.018286;stroke-dashoffset:0;" /> </g> <path style="opacity:0.5;fill:url(#linearGradient8833);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 35.00257 140.14 L 70.50858 186.6702 L 157.6172 158.4337 L 160.2974 158.9665 L 157.5154 168.2899 L 68.83341 190.3996 L 32.98489 153.106 L 35.00257 140.14 z " id="path8825" sodipodi:nodetypes="cccccccc" /> <text style="fill:url(#linearGradient654);stroke:url(#linearGradient670);font-family:Bitstream Charter;font-style:normal;font-weight:bold;font-size:12;fill-opacity:1;stroke-opacity:1;stroke-width:0.0904;stroke-linejoin:round;stroke-linecap:round;text-anchor:start;writing-mode:lr;stroke-miterlimit:4;stroke-dasharray:0.0904,0.1808;stroke-dashoffset:0.0452;" x="1.23987043" y="12.2573043" id="text605" transform="scale(11.32581,9.371671)" sodipodi:linespacing="100%" xml:space="default"> <tspan x="1.23987043" y="12.2573042" sodipodi:role="line" id="tspan667" style="fill:url(#linearGradient654);stroke:url(#linearGradient670);stroke-opacity:1;stroke-width:0.0904;stroke-miterlimit:4;stroke-dasharray:0.0904,0.1808;stroke-linejoin:round;stroke-dashoffset:0.0452;stroke-linecap:round;">JUXIM</tspan> </text> <text style="font-size:15.56150341px;font-style:normal;font-weight:normal;fill:url(#linearGradient649);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.125;stroke-linecap:round;stroke-linejoin:bevel;stroke-opacity:1;font-family:helvetica;stroke-dasharray:0.5,0.125;stroke-dashoffset:0;" x="104.272814" y="50.6888189" id="text608" transform="scale(1.676261,3.481916)"> <tspan id="tspan609" style="fill:url(#linearGradient649);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1;stroke-width:0.125;stroke-dasharray:0.5,0.125;stroke-linecap:round;stroke-linejoin:bevel;stroke-dashoffset:0;">Serverless-Messaging</tspan> </text> <text style="fill:url(#linearGradient650);stroke:#000000;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:0.0991;stroke-linejoin:bevel;stroke-linecap:butt;stroke-dasharray:none;stroke-dashoffset:0;" x="82.4974509" y="60.1161929" id="text664" transform="scale(2.453106,3.744559)"> <tspan id="tspan665" style="fill:url(#linearGradient650);stroke:#000000;stroke-opacity:1;stroke-width:0.0991;stroke-dasharray:none;stroke-dashoffset:0;stroke-linejoin:bevel;">- Everywhere -</tspan> </text> </svg> --- NEW FILE: juxim_logo.png --- (This appears to be a binary file; contents omitted.) |
From: Alexander S. <as...@us...> - 2006-12-08 17:16:43
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14977/src/vsis/im/view/util Modified Files: BBStyledEditorKit.java Log Message: + introducing data structure for BBTag + introducing url support in BBCode + introducing attributes of bbtags + adding not-needed ParagraphSplitAction (will be removed later i guess) Index: BBStyledEditorKit.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util/BBStyledEditorKit.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** BBStyledEditorKit.java 24 Jul 2006 11:53:28 -0000 1.3 --- BBStyledEditorKit.java 8 Dec 2006 17:16:35 -0000 1.4 *************** *** 63,66 **** --- 63,68 ---- import javax.swing.text.View; import javax.swing.text.ViewFactory; + import javax.swing.text.AbstractDocument.AbstractElement; + import javax.swing.text.AbstractDocument.BranchElement; import javax.swing.text.AbstractDocument.LeafElement; *************** *** 69,72 **** --- 71,79 ---- private static final long serialVersionUID = -7995303949105684692L; + static class BBTag { + String tagname; + String attribute; + } + // action classes static public class BBBoldAction extends StyledEditorKit.StyledTextAction *************** *** 200,203 **** --- 207,260 ---- + static public class ParagraphSplitAction extends StyledEditorKit.StyledTextAction + { + public ParagraphSplitAction() + { + super("Split P"); + } + + public void actionPerformed(ActionEvent e) { + JEditorPane editor = getEditor(e); + BBStyledEditorKit editorKit = (BBStyledEditorKit) editor.getEditorKit(); + + String potentialUrl = editor.getSelectedText(); + int startRun = editor.getSelectionStart(); + int endRun = editor.getSelectionEnd(); + + Element element = editorKit.getCharacterAttributeRun(); + BranchElement parentBranch = (BranchElement) element.getParentElement(); + BranchElement parentParentBranch = (BranchElement) parentBranch.getParentElement(); + + DefaultStyledDocument sDoc = (DefaultStyledDocument) parentBranch.getDocument(); + + // first the normal split + if(startRun == endRun) + { + SimpleAttributeSet paraAttributes = new SimpleAttributeSet(); + paraAttributes.addAttribute("P", "1"); + + int splitElementIndex = parentParentBranch.getElementIndex(startRun); + + AbstractDocument.BranchElement newBranch = sDoc.new BranchElement(parentParentBranch, null) + { + @Override + public String getName() { + return AbstractDocument.ParagraphElementName; + } + }; + + AbstractDocument.LeafElement emptyLeafBranch = sDoc.new LeafElement(newBranch, null, startRun, startRun); + newBranch.replace(0, 0, new Element[] {emptyLeafBranch}); + parentParentBranch.replace(splitElementIndex, 0, new Element[] {newBranch}); + //BranchElement newPara = new AbstractDocument.BranchElement(parentBranch, ) + + // setParagraphAttributes(editor, paraAttributes, true); + } + + + } + } + + private JEditorPane installedEditor; *************** *** 223,227 **** }; } else if (kind.equals(AbstractDocument.ParagraphElementName)) { ! return new ParagraphView(elem); } else if (kind.equals(AbstractDocument.SectionElementName)) { return new BoxView(elem, View.Y_AXIS); --- 280,299 ---- }; } else if (kind.equals(AbstractDocument.ParagraphElementName)) { ! return new ParagraphView(elem){ ! public javax.swing.text.AttributeSet getAttributes() { ! Element el = getElement(); ! AttributeSet set = getElement().getAttributes(); ! return mapAttributeSetForRendering(set); ! } ! }; ! ! /* ParagraphView view = new ParagraphView(elem){ ! public javax.swing.text.AttributeSet getAttributes() { ! Element el = getElement(); ! MutableAttributeSet set = new SimpleAttributeSet(getElement().getAttributes()); ! StyleConstants.setBackground(set, Color.GRAY); ! return mapAttributeSetForRendering(set); ! } ! };*/ } else if (kind.equals(AbstractDocument.SectionElementName)) { return new BoxView(elem, View.Y_AXIS); *************** *** 388,391 **** --- 460,468 ---- SimpleAttributeSet renderAttributes = new SimpleAttributeSet(); + if("true".equals(set.getAttribute("block"))) + { + StyleConstants.setBackground(renderAttributes, Color.LIGHT_GRAY); + } + if("true".equals(set.getAttribute("B"))) { *************** *** 414,417 **** --- 491,502 ---- } + if("true".equals(set.getAttribute("SIZE"))) + { + if(set.getAttribute("SIZE_ATTR") != null) + { + Integer size = (Integer) set.getAttribute("SIZE_ATTR"); + StyleConstants.setFontSize(renderAttributes, size); + } + } // TODO ... all other BB tags must be mapped too here return renderAttributes; *************** *** 441,449 **** } ! private void parseAndInsertElementsToDoc(Document doc, String fullSource, int pos) throws BadLocationException { int cur = 0; int next = -1; int offset = 0; next = fullSource.indexOf('[', cur); --- 526,536 ---- } ! private void parseAndInsertElementsToDoc(Document docIn, String fullSource, int pos) throws BadLocationException { int cur = 0; int next = -1; int offset = 0; + DefaultStyledDocument doc = (DefaultStyledDocument) docIn; + next = fullSource.indexOf('[', cur); *************** *** 479,492 **** tagname = fullSource.substring(cur+1, next).trim(); ! String[] tagnameAndAttributes = tagname.split(" ", 1); tagname = tagnameAndAttributes[0]; ! String attributes = null; if(tagnameAndAttributes.length > 1) ! attributes = tagnameAndAttributes[1]; - // XXX[asac] ... parse attributes for things like img and url. cur = next + 1; ! updateAttributesByTag(curSet, tagname, doOpenTag); } --- 566,578 ---- tagname = fullSource.substring(cur+1, next).trim(); ! String[] tagnameAndAttributes = tagname.split("[ =]", 1); tagname = tagnameAndAttributes[0]; ! String attribute = null; if(tagnameAndAttributes.length > 1) ! attribute = tagnameAndAttributes[1]; cur = next + 1; ! updateAttributesByTag(curSet, tagname, attribute, doOpenTag); } *************** *** 570,580 **** } ! private void updateAttributesByTag(SimpleAttributeSet curSet, String tagname, boolean doOpenTag) { if(doOpenTag) { curSet.removeAttribute(tagname.toUpperCase()); curSet.addAttribute(tagname.toUpperCase(), "true"); } else { curSet.removeAttribute(tagname.toUpperCase()); } } --- 656,670 ---- } ! private void updateAttributesByTag(SimpleAttributeSet curSet, String tagname, String attribute, boolean doOpenTag) { if(doOpenTag) { curSet.removeAttribute(tagname.toUpperCase()); curSet.addAttribute(tagname.toUpperCase(), "true"); + + if(attribute != null) + curSet.addAttribute(tagname.toUpperCase()+"_ATTR", attribute); } else { curSet.removeAttribute(tagname.toUpperCase()); + curSet.removeAttribute(tagname.toUpperCase()+"_ATTR"); } } *************** *** 588,618 **** private void writeElement(Writer out, Element element, int pos, int len) throws IOException, BadLocationException { AttributeSet copySet = element.getAttributes(); ! LinkedList<String> surroundingTags = new LinkedList<String>(); if(copySet.containsAttribute("B", "true")) { ! surroundingTags.addLast("B"); } if(copySet.containsAttribute("I", "true")) { ! surroundingTags.addLast("I"); } if(copySet.containsAttribute("U", "true")) { ! surroundingTags.addLast("U"); } if(copySet.containsAttribute("URL", "true")) { ! surroundingTags.addLast("URL"); } ! ListIterator i = surroundingTags.listIterator(); // lets open tags while(i.hasNext()) { ! String tag = (String) i.next(); out.write("["); ! out.write(tag); out.write("]"); } --- 678,723 ---- private void writeElement(Writer out, Element element, int pos, int len) throws IOException, BadLocationException { AttributeSet copySet = element.getAttributes(); ! LinkedList<BBTag> surroundingTags = new LinkedList<BBTag>(); ! if(copySet.containsAttribute("B", "true")) { ! BBTag newTag = new BBTag(); ! newTag.tagname = "B"; ! surroundingTags.addLast(newTag); } if(copySet.containsAttribute("I", "true")) { ! BBTag newTag = new BBTag(); ! newTag.tagname = "I"; ! surroundingTags.addLast(newTag); } if(copySet.containsAttribute("U", "true")) { ! BBTag newTag = new BBTag(); ! newTag.tagname = "U"; ! surroundingTags.addLast(newTag); } if(copySet.containsAttribute("URL", "true")) { ! BBTag newTag = new BBTag(); ! newTag.tagname = "URL"; ! newTag.attribute = (String) copySet.getAttribute("URL_ATTR"); ! surroundingTags.addLast(newTag); } ! ListIterator<BBTag> i = surroundingTags.listIterator(); // lets open tags while(i.hasNext()) { ! BBTag tag = i.next(); out.write("["); ! out.write(tag.tagname); ! if(tag.attribute != null) ! { ! out.write("="); ! out.write(tag.attribute); ! } out.write("]"); } *************** *** 644,650 **** while(i.hasPrevious()) { ! String tag = (String) i.previous(); out.write("[/"); ! out.write(tag); out.write("]"); } --- 749,755 ---- while(i.hasPrevious()) { ! BBTag tag = (BBTag) i.previous(); out.write("[/"); ! out.write(tag.tagname); out.write("]"); } |
From: Alexander S. <as...@us...> - 2006-07-24 11:57:17
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/model In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv22636/src/vsis/im/model Modified Files: Buddy.java Log Message: Make buddy a good dnd droppable. It now presents itself with its profile adv id URL. This is the start to add buddies by link Index: Buddy.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/model/Buddy.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Buddy.java 13 Nov 2005 17:50:09 -0000 1.9 --- Buddy.java 24 Jul 2006 11:57:14 -0000 1.10 *************** *** 33,36 **** --- 33,40 ---- import java.util.Vector; + import java.awt.datatransfer.DataFlavor; + import java.awt.datatransfer.Transferable; + import java.awt.datatransfer.UnsupportedFlavorException; + import java.io.IOException; import java.io.Serializable; import java.security.PublicKey; *************** *** 52,56 **** * @version $Revision$ */ ! public class Buddy implements Serializable { static final Logger log = Logger.getLogger(Buddy.class);; static final long serialVersionUID = 8121364880227432880L; --- 56,60 ---- * @version $Revision$ */ ! public class Buddy implements Serializable, Transferable { static final Logger log = Logger.getLogger(Buddy.class);; static final long serialVersionUID = 8121364880227432880L; *************** *** 344,347 **** --- 348,375 ---- } + public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { + if(flavor.equals(DataFlavor.stringFlavor)) + return getProfileAdv().getID().toURI().toString(); + return null; + } + + public DataFlavor[] getTransferDataFlavors() { + return new DataFlavor[] { DataFlavor.stringFlavor }; + } + + public boolean isDataFlavorSupported(DataFlavor flavor) { + if(flavor.equals(DataFlavor.stringFlavor)) + return true; + return false; + } + + @Override + public String toString() + { + if(getProfileAdv() == null) + return super.toString(); + + return getProfileAdv().getID().toURI().toString(); + } } |
From: Alexander S. <as...@us...> - 2006-07-24 11:55:16
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21822/src/vsis/im/view Modified Files: ChatGui.java Log Message: implement hyperlink listener for chat view and editor. For now use BrowserController to process/open URLs. Index: ChatGui.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/ChatGui.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** ChatGui.java 23 Jul 2006 17:10:22 -0000 1.20 --- ChatGui.java 24 Jul 2006 11:55:13 -0000 1.21 *************** *** 56,59 **** --- 56,61 ---- import javax.swing.JToolBar; import javax.swing.border.LineBorder; + import javax.swing.event.HyperlinkEvent; + import javax.swing.event.HyperlinkListener; import javax.swing.text.BadLocationException; import javax.swing.text.SimpleAttributeSet; *************** *** 67,70 **** --- 69,73 ---- import vsis.im.storage.ModelPersistenceController; import vsis.im.view.util.BBStyledEditorKit; + import vsis.im.view.util.BrowserController; *************** *** 219,222 **** --- 222,234 ---- chatpane.setBorder(new LineBorder(Color.DARK_GRAY,1)); chatpane.setBackground(Color.WHITE); + chatpane.addHyperlinkListener(new HyperlinkListener() + { + public void hyperlinkUpdate(HyperlinkEvent e) { + if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) + { + new BrowserController().openBrowser(e.getURL().toString()); + } + } + }); chatscroller = new JScrollPane(chatpane,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); *************** *** 264,267 **** --- 276,280 ---- }); + inputtoolbar.add(new BBStyledEditorKit.BBUnderlineAction() { @Override *************** *** 286,289 **** --- 299,312 ---- inputarea.setBackground(Color.WHITE); + inputarea.addHyperlinkListener(new HyperlinkListener() + { + public void hyperlinkUpdate(HyperlinkEvent e) { + if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) + { + new BrowserController().openBrowser(e.getURL().toString()); + } + } + }); + // XXX: (keyPressed) this has to be replaced with an external binding // configuration of keys with masks: a generic method here; explicit |
From: Alexander S. <as...@us...> - 2006-07-24 11:53:34
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21042/src/vsis/im/view/util Modified Files: BBStyledEditorKit.java Log Message: New autodetect and display URL and URI feature for rich BB editor kit. Hyperlink events are properly emitted if mouse click on such a link happens. Index: BBStyledEditorKit.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/util/BBStyledEditorKit.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BBStyledEditorKit.java 23 Jul 2006 17:23:27 -0000 1.2 --- BBStyledEditorKit.java 24 Jul 2006 11:53:28 -0000 1.3 *************** *** 26,37 **** --- 26,48 ---- package vsis.im.view.util; + import java.awt.Color; import java.awt.event.ActionEvent; + import java.awt.event.MouseAdapter; + import java.awt.event.MouseEvent; + import java.awt.event.MouseMotionAdapter; import java.io.IOException; import java.io.Reader; import java.io.Writer; + import java.net.MalformedURLException; + import java.net.URI; + import java.net.URISyntaxException; + import java.net.URL; import java.util.LinkedList; import java.util.ListIterator; import javax.swing.JEditorPane; + import javax.swing.event.CaretEvent; + import javax.swing.event.CaretListener; + import javax.swing.event.HyperlinkEvent; import javax.swing.text.AbstractDocument; import javax.swing.text.AttributeSet; *************** *** 39,49 **** --- 50,63 ---- import javax.swing.text.BoxView; import javax.swing.text.ComponentView; + import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Document; import javax.swing.text.Element; import javax.swing.text.IconView; import javax.swing.text.LabelView; + import javax.swing.text.MutableAttributeSet; import javax.swing.text.ParagraphView; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; + import javax.swing.text.StyledDocument; import javax.swing.text.StyledEditorKit; import javax.swing.text.View; *************** *** 137,140 **** --- 151,205 ---- } + // action classes + static public class BBUrlifyAction extends StyledEditorKit.StyledTextAction + { + public BBUrlifyAction() + { + super("URL"); + } + + public void actionPerformed(ActionEvent e) { + JEditorPane editor = getEditor(e); + BBStyledEditorKit editorKit = (BBStyledEditorKit) editor.getEditorKit(); + + String potentialUrl = editor.getSelectedText(); + URL parsedUrl = null; + try { + parsedUrl = new URL(potentialUrl); + } catch (MalformedURLException e1) { + } + + if(parsedUrl != null) + { + SimpleAttributeSet anAttributeSet = + new SimpleAttributeSet(editorKit.getCharacterAttributeRun().getAttributes()); + + Object oldValue = editorKit.getCharacterAttributeRun().getAttributes().getAttribute("URL"); + if(oldValue != null && "true".equals(oldValue)) + { + anAttributeSet.removeAttribute("URL"); + } else { + anAttributeSet.addAttribute("URL","true"); + } + + setCharacterAttributes(editor, anAttributeSet, true); + } else { + SimpleAttributeSet anAttributeSet = + new SimpleAttributeSet(editorKit.getCharacterAttributeRun().getAttributes()); + + Object oldValue = editorKit.getCharacterAttributeRun().getAttributes().getAttribute("URL"); + if(oldValue != null && "true".equals(oldValue)) + { + anAttributeSet.removeAttribute("URL"); + } + + setCharacterAttributes(editor, anAttributeSet, true); + } + } + } + + + private JEditorPane installedEditor; + public BBStyledEditorKit() { super(); *************** *** 179,182 **** --- 244,388 ---- } + public void install(final JEditorPane c) { + if(c.isEditable()) + c.setToolTipText("JUXIM BBCode Editor"); + else + c.setToolTipText("JUXIM BBCode Viewer"); + + c.addMouseListener(new MouseAdapter() + { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + + int caretPos = c.viewToModel(e.getPoint()); + if(caretPos > -1) + { + Element elem = ((DefaultStyledDocument) c.getDocument()).getCharacterElement(caretPos); + if(elem == null) + return; + + String urlString = null; + try { + urlString = c.getDocument().getText(elem.getStartOffset(), elem.getEndOffset() - elem.getStartOffset()); + } catch (BadLocationException e1) { + e1.printStackTrace(); + } + + if(urlString != null) + { + Object urlValue = ((MutableAttributeSet)elem.getAttributes()).getAttribute("URL"); + if( urlValue != null) + { + URL url = null; + try { + url = new URL(urlString); + } catch (MalformedURLException e2) { + } + + if(url != null) + { + HyperlinkEvent e1 = new HyperlinkEvent(c, HyperlinkEvent.EventType.ACTIVATED, url); + c.fireHyperlinkUpdate(e1); + } + } + } + } + } + }); + + c.addMouseMotionListener(new MouseMotionAdapter() + { + Element current = null; + AttributeSet oldSet = null; + URL currentRealUrl = null; + + @Override + public void mouseMoved(MouseEvent e) { + super.mouseMoved(e); + int caretPos = c.viewToModel(e.getPoint()); + if(caretPos > -1) + { + Element elem = ((DefaultStyledDocument) c.getDocument()).getCharacterElement(caretPos); + if(elem == null) + return; + + String urlString = null; + try { + urlString = c.getDocument().getText(elem.getStartOffset(), elem.getEndOffset() - elem.getStartOffset()); + } catch (BadLocationException e1) { + e1.printStackTrace(); + } + //System.out.println("Elem : "+elem); + if(elem != current && current != null){ + MutableAttributeSet newSet = new SimpleAttributeSet(oldSet); + newSet.removeAttribute("URLOVER"); + + ((StyledDocument)c.getDocument()).setCharacterAttributes(current.getStartOffset(), + current.getEndOffset() - current.getStartOffset(), + newSet, + true); + current = null; + oldSet = null; + + if(c.isEditable()) + c.setToolTipText("JUXIM BBCode Editor"); + else + c.setToolTipText("JUXIM BBCode Viewer"); + + if(currentRealUrl != null) + { + HyperlinkEvent e1 = new HyperlinkEvent(c, HyperlinkEvent.EventType.EXITED, currentRealUrl); + c.fireHyperlinkUpdate(e1); + currentRealUrl = null; + } + } + + if(urlString != null) + { + Object urlValue = ((MutableAttributeSet)elem.getAttributes()).getAttribute("URL"); + if( urlValue != null) + { + try { + currentRealUrl = new URL(urlString); + } catch (MalformedURLException e2) { + + } + + if(currentRealUrl != null) + { + current = elem; + oldSet = new SimpleAttributeSet(elem.getAttributes().copyAttributes()); + MutableAttributeSet newSet = new SimpleAttributeSet(oldSet); + newSet.addAttribute("URLOVER", "true"); + newSet.addAttribute("URL", "true"); + + ((StyledDocument)c.getDocument()).setCharacterAttributes(current.getStartOffset(), + current.getEndOffset() - current.getStartOffset(), + newSet, + true); + + c.setToolTipText("URL: " + urlString); + + + HyperlinkEvent e1 = new HyperlinkEvent(c, HyperlinkEvent.EventType.ENTERED, currentRealUrl); + c.fireHyperlinkUpdate(e1); + } + } + } + + } + } + }); + c.addCaretListener(new CaretListener() + { + public void caretUpdate(CaretEvent e) { + + } + }); + super.install(c); + installedEditor = c; + } + protected AttributeSet mapAttributeSetForRendering(AttributeSet set) { SimpleAttributeSet renderAttributes = new SimpleAttributeSet(); *************** *** 196,200 **** StyleConstants.setUnderline(renderAttributes, true); } ! // TODO ... all other BB tags must be mapped too here return renderAttributes; --- 402,417 ---- StyleConstants.setUnderline(renderAttributes, true); } ! ! if("true".equals(set.getAttribute("URL"))) ! { ! StyleConstants.setUnderline(renderAttributes, true); ! StyleConstants.setForeground(renderAttributes, Color.BLUE); ! } ! ! if("true".equals(set.getAttribute("URLOVER"))) ! { ! StyleConstants.setForeground(renderAttributes, Color.RED); ! } ! // TODO ... all other BB tags must be mapped too here return renderAttributes; *************** *** 233,237 **** String curContent = ""; SimpleAttributeSet curSet = new SimpleAttributeSet(); - while(next > -1) { --- 450,453 ---- *************** *** 255,259 **** if(curContent.length() > 0) { ! doc.insertString(pos + offset, curContent, curSet.copyAttributes()); offset += curContent.length(); curContent = ""; --- 471,475 ---- if(curContent.length() > 0) { ! doc.insertString(pos + offset, curContent, new SimpleAttributeSet(curSet)); offset += curContent.length(); curContent = ""; *************** *** 285,290 **** { curContent += fullSource.substring(cur); ! doc.insertString(pos + offset, curContent, curSet.copyAttributes()); } } --- 501,571 ---- { curContent += fullSource.substring(cur); ! doc.insertString(pos + offset, curContent, new SimpleAttributeSet(curSet)); } + + // first, remove all URL attributes from all elements currently in this kit + StyledDocument sDoc = (StyledDocument) doc; + Element lastElement = null; + for(int j = 0; j < doc.getLength(); j++) + { + Element maybeNew = sDoc.getCharacterElement(j); + if(maybeNew != lastElement) + { + lastElement = maybeNew; + if (maybeNew.getAttributes().getAttribute("URL") != null) + { + SimpleAttributeSet newSet = new SimpleAttributeSet(maybeNew.getAttributes()); + newSet.removeAttribute("URL"); + newSet.removeAttribute("URLOVER"); + sDoc.setCharacterAttributes(maybeNew.getStartOffset(), maybeNew.getEndOffset() - maybeNew.getStartOffset(), newSet, true); + } + } + } + + // second, parse and mark url runs + String fullText = doc.getText(0, doc.getLength()); + String splits[] = fullText.split("[ \t\n]"); + int realOffs = 0; + for(int i = 0; i < splits.length; i++) + { + URL maybeUrl = null; + URI maybeUri = null; + // lets do it dirty: exception decides if this is a valid url + try { + maybeUrl = new URL(splits[i]); + } catch (MalformedURLException e) { + } + + if(maybeUrl == null) + { + try { + maybeUri = new URI(splits[i]); + + if(!uriHasHandler(maybeUri)) + maybeUri = null; + } catch (URISyntaxException e) { + } + } + + if(maybeUrl != null || maybeUri != null) + { + realOffs = fullText.indexOf(splits[i], realOffs); + // we have an url ... now mark the run (from offset to offset + maybeUrl.length() + MutableAttributeSet newSet = new SimpleAttributeSet(); + newSet.addAttribute("URL", "true"); + + if(maybeUrl != null) + ((StyledDocument) doc).setCharacterAttributes(realOffs, maybeUrl.toString().length(), newSet, false); + else + ((StyledDocument) doc).setCharacterAttributes(realOffs, maybeUri.toString().length(), newSet, false); + } + } + } + + private boolean uriHasHandler(URI maybeUri) { + + if(maybeUri.getScheme() != null) + return true; + return false; } *************** *** 306,310 **** private void writeElement(Writer out, Element element, int pos, int len) throws IOException, BadLocationException { ! AttributeSet copySet = element.getAttributes().copyAttributes(); LinkedList<String> surroundingTags = new LinkedList<String>(); --- 587,591 ---- private void writeElement(Writer out, Element element, int pos, int len) throws IOException, BadLocationException { ! AttributeSet copySet = element.getAttributes(); LinkedList<String> surroundingTags = new LinkedList<String>(); *************** *** 321,324 **** --- 602,609 ---- surroundingTags.addLast("U"); } + if(copySet.containsAttribute("URL", "true")) + { + surroundingTags.addLast("URL"); + } ListIterator i = surroundingTags.listIterator(); |
From: Alexander S. <as...@us...> - 2006-07-23 17:23:32
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view/widgets In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14918/src/vsis/im/view/widgets Modified Files: ScaledImageIcon.java Log Message: license header updates where possible Index: ScaledImageIcon.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/widgets/ScaledImageIcon.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ScaledImageIcon.java 21 Jan 2006 12:22:59 -0000 1.2 --- ScaledImageIcon.java 23 Jul 2006 17:23:26 -0000 1.3 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * |
From: Alexander S. <as...@us...> - 2006-07-23 17:23:32
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14918/src/vsis/im/protocols Modified Files: IMProtocol.java ProtocolRegistry.java SessionProtocol.java MessageHandler.java StatusProtocol.java TextIMProtocol.java Log Message: license header updates where possible Index: TextIMProtocol.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/TextIMProtocol.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TextIMProtocol.java 21 Jan 2006 12:22:58 -0000 1.7 --- TextIMProtocol.java 23 Jul 2006 17:23:27 -0000 1.8 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: SessionProtocol.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/SessionProtocol.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** SessionProtocol.java 12 Feb 2006 13:05:46 -0000 1.6 --- SessionProtocol.java 23 Jul 2006 17:23:27 -0000 1.7 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: MessageHandler.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/MessageHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MessageHandler.java 21 Jan 2006 12:22:58 -0000 1.2 --- MessageHandler.java 23 Jul 2006 17:23:27 -0000 1.3 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: StatusProtocol.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/StatusProtocol.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** StatusProtocol.java 21 Jan 2006 12:22:58 -0000 1.5 --- StatusProtocol.java 23 Jul 2006 17:23:27 -0000 1.6 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: ProtocolRegistry.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/ProtocolRegistry.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ProtocolRegistry.java 21 Jan 2006 12:22:58 -0000 1.3 --- ProtocolRegistry.java 23 Jul 2006 17:23:27 -0000 1.4 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: IMProtocol.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/protocols/IMProtocol.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IMProtocol.java 21 Jan 2006 12:22:58 -0000 1.2 --- IMProtocol.java 23 Jul 2006 17:23:27 -0000 1.3 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * |
From: Alexander S. <as...@us...> - 2006-07-23 17:23:32
|
Update of /cvsroot/jxtaim/jxtaim/src/vsis/im/view In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14918/src/vsis/im/view Modified Files: ModernTree.java DefaultBuddyListTreeCellRenderer.java Log Message: license header updates where possible Index: ModernTree.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/ModernTree.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ModernTree.java 21 Jan 2006 12:22:59 -0000 1.4 --- ModernTree.java 23 Jul 2006 17:23:26 -0000 1.5 *************** *** 19,23 **** * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> or <as...@de...> * web: http://www.juxim.org * --- 19,23 ---- * * The authors can be contacted as follows: ! * email: Alexander Sack <as...@jw...> * web: http://www.juxim.org * Index: DefaultBuddyListTreeCellRenderer.java =================================================================== RCS file: /cvsroot/jxtaim/jxtaim/src/vsis/im/view/DefaultBuddyListTreeCellRenderer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** DefaultBuddyListTreeCellRenderer.java 16 Mar 2006 19:09:38 -0000 1.4 --- DefaultBuddyListTreeCellRenderer.java 23 Jul 2006 17:23:26 -0000 1.5 *************** *** 1,2 **** --- 1,27 ---- + /* + * JUXIM - the JXTA(TM) Instant Messenger + * Copyright (C) 2005 is owned by contributors listed below + * -- JXTA is a trademark of Sun Microsystems (TM) + * + * This is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * The authors can be contacted as follows: + * email: Alexander Sack <as...@jw...> + * web: http://www.juxim.org + * + * Contributor (s): Alexander Sack <as...@jw...> + */ package vsis.im.view; |