/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.iwave.ext.windows.winrm; import static com.iwave.ext.windows.winrm.WinRMConstants.GET_URI; import java.util.Map; import org.w3c.dom.Document; public abstract class WinRMGetOperation<T> extends WinRMOperation<T> { public WinRMGetOperation(WinRMTarget target, String resourceUri) { this(target, resourceUri, null); } public WinRMGetOperation(WinRMTarget target, String resourceUri, Map<String, String> selectorSet) { super(target); setResourceUri(resourceUri); setSelectorSet(selectorSet); } @Override public T execute() throws WinRMException { debug("Get %s, SelectorSet: %s", getResourceUri(), getSelectorSet()); WinRMRequest request = createRequest(); Document response = sendRequest(request); T result = processResponse(response); return result; } protected WinRMRequest createRequest() { WinRMRequest request = createBaseRequest(); request.setActionUri(GET_URI); return request; } protected abstract T processResponse(Document response); }