package test;
import javax.ejb.*;
import javax.annotation.*;
import java.net.*;
import java.util.*;
@Stateless
public class HelloBean implements Hello {
private static URL expectedURL;
private static URL[] expectedURLs = new URL[4];
static {
try {
expectedURL = new URL("http://java.net");
for(int i = 0; i < expectedURLs.length; i++) {
expectedURLs[i] = expectedURL;
}
} catch (MalformedURLException e) {
//igore
}
}
@Resource(name="java:module/env/url/url2", lookup="url/testUrl")
private URL url2;
@Resource(name="java:module/env/url/url1", lookup="java:module/env/url/url2")
private URL url1;
@Resource(lookup="java:module/env/url/url1")
private URL url3;
@Resource(mappedName="url/testUrl")
private URL url4;
public String injectedURL() {
URL[] actualURLs = {url1, url2, url3, url4};
if(Arrays.equals(expectedURLs, actualURLs)) {
return ("Got expected " + Arrays.toString(actualURLs));
} else {
throw new EJBException("Expecting " + Arrays.toString(expectedURLs) +
", actual " + Arrays.toString(actualURLs));
}
}
}