Java () is an island of Indonesia. With a population of 135 million (excluding the 3.6 million on the island of Madura which is administered as part of the provinces of Java), Java is the world's most populous island, and one of the most densely-populated places on the globe. [http://en.wikipedia.org/wiki/Java]

/**
* Each colleague knows its Mediator object. Communicates with its mediator
* whenever it would have otherwise communicated with another colleague.
*
* @role __Colleague
*/
public abstract class Colleague {
/** my mediator */
private Mediator mediator; /** Create colleague which knows about supplied mediator */
protected Colleague(Mediator mediator) {
this.mediator = mediator; }
/** @return mediator this colleague knows about */
public Mediator getMediator() {
return mediator; }
}
/** Concrete Colleague */
public class ConcreteColleagueA extends Colleague {
public ConcreteColleagueA(Mediator mediator) {
super(mediator); }
public void sampleOperation() {
// some state changes occur,
// notify mediator about them
getMediator().changed(this); }
}
/** Concrete Colleague */
public class ConcreteColleagueB extends Colleague {
public ConcreteColleagueB(Mediator mediator) {
super(mediator); }
public void sampleOperation() {
// some state changes occur,
// notify mediator about them
getMediator().changed(this); }
}
/**
* Implements cooperative behavior by coordinating Colleague objects. Knows and
* maintains its colleagues.
*/
public class ConcreteMediator implements Mediator {
/** reference to concrete colleague */
private ConcreteColleagueA aConcreteColleagueA; /** reference to concrete colleague */
private ConcreteColleagueB aConcreteColleagueB; public void changed(Colleague colleague) {
// handle changes of particular colleague
}
public void setConcreteColleagueA(ConcreteColleagueA colleague) {
aConcreteColleagueA = colleague; }
public void setConcreteColleagueB(ConcreteColleagueB colleague) {
aConcreteColleagueB = colleague; }
}
/**
* Defines an interface for communicating with Colleague objects.
*
* @role __Mediator
*/
public interface Mediator {
/** Colleagues calls this method to notify Mediator that something changed */
void changed(Colleague colleague);}
![]() |
Bugzilla (http://www.bugzilla.org/) is the more famous, use in a lot of open source application (Mozilla, Apache, and even eclipse) version 2.19.2 (MySQL+PHP, Solaris, Linux, Win32, MacOS X, BSD) 370 companies are currently using it. (Nasa, IBM, Mozilla and others)- Wikipedia has a very brief article on it, Features are listed here |
| Mantis. (http://mantisbt.sourceforge.net/) A very simple bug tracking tool with limited search functionnality compared to bugzilla, a strong community but not so much stable release as expected. | |
| Buggit (http://www.matpie.drw.net/PBSystems/products/buggit/Buggit.html) no new release since 2000 and bounded to MS access, aka running only unde windows. Listed Here because I use to play with it in 2001. | |
Read more: Why it is not possible to develop any software ...

/**
* Creation date: (7/19/2002 2:50:45 PM)
*
* @author: Cedric Walter
*/
public interface AuthentificationIF {
public boolean Authentificate(HttpServletRequest req, HttpServletResponse resp); public boolean hasAutorisation(HttpServletRequest req, HttpServletResponse resp);}
public abstract class AuthentificationA implements AuthentificationIF {
/**
* AuthentificationA constructor comment.
*/
public AuthentificationA() {
super(); }
/**
* Authentificate method comment.
*/
public abstract boolean Authentificate(
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp);
}
abstract class AuthentificationFactoryA {
private static java.util.Map factories = new java.util.HashMap(); /**
* ComputeFactory constructor comment.
*/
public AuthentificationFactoryA() {
super(); }
public static void addFactory(String id, AuthentificationFactoryA f) {
factories.put(id, f); }
public static final AuthentificationIF createAuthentification(String id)
throws FactoryCreationException {
if (!factories.containsKey(id)) {
try {
// Load dynamically
Class.forName(id);
}
catch (ClassNotFoundException e) {
throw new FactoryCreationException(id);
}
// verify that it has been stored
if (!factories.containsKey(id))
throw new FactoryCreationException(id);
}
return ((AuthentificationFactoryA) factories.get(id)).getAuthentification();
}
protected abstract AuthentificationIF getAuthentification();}
/**
* concrete class of the abstract factory
*/
public class MyAuthentificationFactory extends AuthentificationFactoryA {
public MyAuthentificationFactory() {
super(); }
/**
* not use since it is subclass
*/
protected AuthentificationIF getAuthentification() {
return null; }
}
/**
* @author: Cedric Walter
*/
public class NimiusAuthentification extends AuthentificationA implements
AuthentificationIF {
private static class Factory extends AuthentificationFactoryA {
protected AuthentificationIF getAuthentification() {
return new NimiusAuthentification(); }
}
static {
AuthentificationFactoryA.addFactory("com.waltercedric.gof.pattern.factory.NimiusAuthentification", new NimiusAuthentification.Factory()); }
/**
* Local constructor comment.
*/
public NimiusAuthentification() {
super(); }
/**
* Authenficate method comment.
*/
public boolean Authentificate(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)
{
//do some stuff
return true; }
public boolean hasAutorisation(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)
{
//do some stuff
return true; }
}
/**
* @author: Cedric Walter
*/
public class NoAuthentification extends AuthentificationA implements
AuthentificationIF {
private static class Factory extends AuthentificationFactoryA {
protected AuthentificationIF getAuthentification() {
return new NoAuthentification(); }
}
static {
AuthentificationFactoryA.addFactory( "com.waltercedric.gof.pattern.factory.NoAuthentification", new NoAuthentification.Factory()); }
/**
* Local constructor comment.
*/
public NoAuthentification() {
super(); }
/**
* Authenficate method comment.
*/
public boolean Authentificate(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp) {
return true; }
/**
* hasAutorisation method comment.
*/
public boolean hasAutorisation(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp) {
return true; }
}
/**
* @author: Cedric Walter
*/
public class ObtreeAuthentification extends AuthentificationA implements
AuthentificationIF {
private static class Factory extends AuthentificationFactoryA {
protected AuthentificationIF getAuthentification() {
return new ObtreeAuthentification(); }
}
static {
AuthentificationFactoryA.addFactory( "com.waltercedric.gof.pattern.factory.ObtreeAuthentification", new ObtreeAuthentification.Factory()); }
/**
* Local constructor comment.
*/
public ObtreeAuthentification() {
super(); }
/**
* Authenficate method comment.
*/
public boolean Authentificate(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp) {
return true; }
/**
* hasAutorisation method comment.
*/
public boolean hasAutorisation(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp) {
return true; }
}
YES!!!!! but wait there are not using a FSF, OpenBSD licence, so is it really open sourcing java??? :-(
Sun announced Monday that it has distributed more than a million registered licenses for the Solaris 10 operating system since Jan. 31, when the software became available for free on Sun's Web site. Now it plans to follow up that move by making Java Enterprise System available as an open-source product as well. "That will define us as a company truly committed to open source," Jonathan Schwartz, president and chief operating officer of Sun, told InformationWeek.
Here is a How to since it take me a very long time to install something which should have been trivial....
For the benefit of the community, I am publishing it here on my free time :-) ... Enjoy...
Apache Axis and Apache Axis C++ are implementation of the SOAP ("Simple Object Access Protocol") submission to W3C. From the W3C draft specification:
SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.
Axis C/C++ (Axis CPP) is a non-Java implementation of Axis. At its core Axis CPP has a C++ runtime engine. The provided tooling allows you to create C++ client-side stubs and server-side skeletons. The server skeletons can be deployed to either a full Apache web server using the supplied apache module or a "simple_axis_server" - which is a simple HTTP listener (designed to help you test your services).
Read more: Playing with Axis C++ and Apache 1.3.1
![]()
In this small post, I’ll show you how to remove duplicated resources in the Open Resource view of Eclipse
Eclipse – M2Eclipse – Subversive
Read more: Apache M2Eclipse: Get rid of Duplicate resources when opening resources and types
Open-source ITP - Powerful web application tester
ITP is a deceptively simple, yet powerful web testing harness. It is a stand-alone Java application that can test your website from a user's perspective. It is amazingly simple and lightweight, yet can be used for powerful test-scripting by using building blocks to create large test runs.
ITP is the fastest test harness software to learn. A test script is simply made up out of a few lines of XML. There is no programming involved! You will be testing your application in seconds.

/**
* Defines the interface for objects that can have responsibilities added to the
* dynamically.
*
* @role __Component
*/
public abstract class Component {
/**
* Sample operation.
*/
public abstract void doSomeStuff();
}
/**
* Defines an object to which additional responsibilities can be attached.
*/
public class ConcreteComponent extends Component {
/** @see patterns.gof.decorator.Component#doSomeStuff() */
public void doSomeStuff() {
// provide implementation here
}
}
/**
* Adds responsibilities to the component.
*/
public class ConcreteDecorator extends Decorator {
public ConcreteDecorator(Component decorateMe) {
super(decorateMe);
}
/**
* Behavior added by decorator.
*/
private void addedBehavior() {
// some extra functionality goes here
}
public void doSomeStuff() {
super.doSomeStuff();
addedBehavior();
}
}
/**
* Maintains the reference to a Component object and defines an interface that
* conforms to Component's interface
*
* @role __Decorator
*/
public abstract class Decorator extends Component {
/** reference to the decorated component */
protected Component component;
/**
* @param decorateMe
* component to decorate
*/
public Decorator(Component decorateMe) {
this.component = decorateMe;
}
public void doSomeStuff() {
component.doSomeStuff();
}
}

/**
* Abstract factory declares an interface for operations that create abstract
* product objects.
*
* @role __Factory
*/
public interface AbstractFactory {
/**
* Creates abstract product
*/
ProductA createProductA(); /**
* Creates abstract product
*/
ProductB createProductB();}
/**
* Abstract factory declares an interface for operations that create abstract
* product objects.
*
* @role __Factory
*/
public interface AbstractFactory {
/**
* Creates abstract product
*/
ProductA createProductA(); /**
* Creates abstract product
*/
ProductB createProductB();}
/**
* Abstract product - an interface for a type of Product object.
*
* @role __Product
* @see AbstractFactory
*/
public interface ProductA {
/*
* add product method declarations here
*/
}
/**
* Concrete Factory implements operations of AbstractFactory to create Concrete
* product objects.
*/
public class MyFactory implements AbstractFactory {
/**
* Creates concrete product ConcreteProduct1
*/
public ProductA createProductA() {
return new ConcreteProduct1(); }
/**
* Creates concrete product ConcreteProduct2
*/
public ProductB createProductB() {
return new ConcreteProduct2(); }
}
/**
* Concrete product defines a product object to be created by the corresponding
* concrete factory.
*
* @see MyFactory
*/
public class ConcreteProduct1 implements ProductA {
}
/**
* Concrete product defines a product object to be created by the corresponding
* concrete factory.
*
* @see MyFactory
*/
public class ConcreteProduct2 implements ProductB {
}
Privacy Statement | Copyright Notice | Licenses
© 1999-2012 Waltercedric.com. Designed by Cédric Walter. Sitemap
Reproduction without explicit permission is prohibited. All Rights Reserved. All photos remain copyright © their rightful owners. No copyright infringement is intended.
Disclaimer: The editor(s) reserve the right to edit any comments that are found to be abusive, offensive, contain profanity, serves as spam, is largely self-promotional, or displaying attempts to harbour irrelevant text links for any purpose.