...
The result as seen in XperienCentral:
...
Validators
Validators can be used to validate user input and to generate client side error messages when invalid input is provided by a user. Validators prevent users from entering invalid data. Validators are Java classes that implement the org.springframework.validation.Validator
interface. This interface provides two methods:
...
As a result the message “Text may not be empty” will be displayed if the user input was invalid:
...
HTTP Client
The java.net package part of the Java 1.6 API provides a basic set of classes which can be used to handle HTTP GET and POST requests. However, in some cases a more powerful HTTP client API is needed. The commons HTTP client (org.apache.commons.httpclient.HttpClient
) may be a better alternative for those cases.
...
Code Block | ||
---|---|---|
| ||
private static void configureHttpClient2Proxy(HttpClient httpClient, HttpMethod method) { String proxyHost = System.getProperty("http.proxyHost"); if (proxyHost == null || "".equals(proxyHost)) { return; } try { org.apache.commons.httpclient.URI apacheUri = method.getURI(); java.net.URI javaUri = null; if (apacheUri.isAbsoluteURI()==false) { javaUri = new java.net.URI(httpClient.getHostConfiguration().getHostURL()); } else { javaUri = new java.net.URI(apacheUri.toString()); } // ProxySelector List<Proxy> selectedProxy = ProxySelector.getDefault().select(javaUri); if (selectedProxy.size()==0 || selectedProxy.get(0).type()==Proxy.Type.DIRECT) { // No proxy needed. return; } HostConfiguration hc = httpClient.getHostConfiguration(); hc.setHost(javaUri.getHost(), javaUri.getPort(), Protocol.getProtocol(javaUri.getScheme())); Proxy proxy = selectedProxy.get(0); InetSocketAddress proxyAddress = (InetSocketAddress) proxy.address(); hc.setProxy(proxyAddress.getHostName(),proxyAddress.getPort()); if (System.getProperty("http.proxyUserName") != null) { httpClient.getState().setProxyCredentials(null, null, new UsernamePasswordCredentials(System.getProperty("http.proxyUserName"), System.getProperty("http.proxyPassword"))); httpClient.getState().setAuthenticationPreemptive(true); } } catch (URISyntaxException ex) { LOG.log(Level.WARNING, null, ex); } catch (URIException ex) { lOG.log(Level.WARNING, null, ex); } } |
...
Anchor | ||||
---|---|---|---|---|
|
...
Code Block | ||
---|---|---|
| ||
public class CustomServiceImpl extends SimpleServiceComponent implements SystemHealthIndicatorExtensionPoint { // Private logger for this class private static final Logger LOG = Logger.getLogger(CustomServiceImpl.class.getName()); public SystemHealthIndicator[] getPerformanceIndicators() { return new SystemHealthIndicator[] {new CustomPI()}; } class CustomPI implements SystemHealthIndicator{ public String getId() {return "testPI";}; public String getCategory() {return "my category";} public String getType() {return TYPE_CUSTOM;}; public String getName(Language language) {return "test custom PI";} public Object getValue() {return myCache.getCacheRatio;} public ValueStatus getValueState() {return myValueStatus;} public String getMessage(Language language) {return "test custom PI";} public void reset() {} } } |
...
Creating an Extension for the User Profiles Component
...
This implementation comes from the CustomProfileProviderImpl
interface. The methods are part of the ProfileExtensionProvider
interface.
...
Creating Workflow Action Constraints
...