Re: Problem with virtualHost

2009-12-09 Thread Thierry Boileau
Hello Jean-Christophe,

I think you should use the other VirtualHost constructor, that is to say 
the one with the parent context:
VirtualHost host = new VirtualHost(component.getContext());

best regards,
Thierry Boileau

> Hi,
>
> I have a problem with virtualHost.
>
> The following code works :
>
> public static void main(String[] args) {
> try {
>
> final ConfigFile conf = new ConfigFile();
>
>
> // Create a new Component.
> Component component = new Component();
>
> // Add a new HTTP server listening on port 8182.
> component.getServers().add(Protocol.HTTP, conf.getPort());
> component.getClients().add(Protocol.FILE);
>
> Application application = new Application() {
>
> @Override
> public Restlet createRoot() {
> Directory directory = new Directory(getContext(), 
> conf.getRoot_uri());
> directory.setListingAllowed(true);
> directory.setModifiable(false);
> directory.setDeeplyAccessible(true);
> return directory;
> }
> };
>
> // Attach the application.
> component.getDefaultHost().attach(application);
>
> // Start the component.
> component.start();
> } catch (Exception e) {
> // Something is wrong.
> e.printStackTrace();
> }
> }
>
>
>
> but the following code does not work :
>
>
> public static void main(String[] args) {
> try {
>
> final ConfigFile conf = new ConfigFile();
>
>
> // Create a new Component.
> Component component = new Component();
>
> // Add a new HTTP server listening on port 8182.
> component.getServers().add(Protocol.HTTP, conf.getPort());
> component.getClients().add(Protocol.FILE);
>
> Application application = new Application() {
>
> @Override
> public Restlet createRoot() {
> Directory directory = new Directory(getContext(), 
> conf.getRoot_uri());
> directory.setListingAllowed(true);
> directory.setModifiable(false);
> directory.setDeeplyAccessible(true);
> return directory;
> }
> };
>
> // Attach the application.
> VirtualHost host = new VirtualHost();
> host.setHostDomain(conf.getHostname());
> host.setHostPort(String.valueOf(conf.getPort()));
> host.attach(application);
>
> // Attach the host to the component.
> component.getHosts().add(host); //host = localhost|
> component.updateHosts();
>
> // Start the component.
> component.start();
> } catch (Exception e) {
> // Something is wrong.
> e.printStackTrace();
> }
> }
>
> I do not understand why the second code does not work. Anyone can 
> explain me please ?
>
> Thanks,
> J-Christophe

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2428794


Problem with virtualHost

2009-12-08 Thread Jean-Christophe Malapert
Hi,

I have a problem with virtualHost.

The following code works :

public static void main(String[] args) {
try {

final ConfigFile conf = new ConfigFile();


// Create a new Component.
Component component = new Component();

// Add a new HTTP server listening on port 8182.
component.getServers().add(Protocol.HTTP, conf.getPort());
component.getClients().add(Protocol.FILE);

Application application = new Application() {

@Override
public Restlet createRoot() {
Directory directory = new Directory(getContext(),
conf.getRoot_uri());
directory.setListingAllowed(true);
directory.setModifiable(false);
directory.setDeeplyAccessible(true);
return directory;
}
};

// Attach the application.
component.getDefaultHost().attach(application);

// Start the component.
component.start();
} catch (Exception e) {
// Something is wrong.
e.printStackTrace();
}
}



but the following code does not work :


public static void main(String[] args) {
try {

final ConfigFile conf = new ConfigFile();


// Create a new Component.
Component component = new Component();

// Add a new HTTP server listening on port 8182.
component.getServers().add(Protocol.HTTP, conf.getPort());
component.getClients().add(Protocol.FILE);

Application application = new Application() {

@Override
public Restlet createRoot() {
Directory directory = new Directory(getContext(),
conf.getRoot_uri());
directory.setListingAllowed(true);
directory.setModifiable(false);
directory.setDeeplyAccessible(true);
return directory;
}
};

// Attach the application.
VirtualHost host = new VirtualHost();
host.setHostDomain(conf.getHostname());
host.setHostPort(String.valueOf(conf.getPort()));
host.attach(application);

// Attach the host to the component.
component.getHosts().add(host); //host = localhost|
component.updateHosts();

// Start the component.
component.start();
} catch (Exception e) {
// Something is wrong.
e.printStackTrace();
}
}

I do not understand why the second code does not work. Anyone can explain me
please ?

Thanks,
J-Christophe

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2428263