0,0 → 1,154 |
/* |
* Copyright 2010 Brian Rosenberger (Brutex Network) |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
* You may obtain a copy of the License at |
* |
* http://www.apache.org/licenses/LICENSE-2.0 |
* |
* Unless required by applicable law or agreed to in writing, software |
* distributed under the License is distributed on an "AS IS" BASIS, |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
* See the License for the specific language governing permissions and |
* limitations under the License. |
*/ |
|
package net.brutex.xservices.ws.impl; |
|
import java.util.Enumeration; |
import java.util.Properties; |
import java.util.UUID; |
|
import javax.jws.WebService; |
import net.brutex.xservices.types.FileSetResource; |
import net.brutex.xservices.types.HostConnection; |
import net.brutex.xservices.types.HostinfoType; |
import net.brutex.xservices.types.MailMimeType; |
import net.brutex.xservices.types.ReturnCode; |
import net.brutex.xservices.util.BrutexNamespaces; |
import net.brutex.xservices.util.RunTask; |
import net.brutex.xservices.ws.MiscService; |
|
import org.apache.cxf.annotations.WSDLDocumentation; |
import org.apache.cxf.annotations.WSDLDocumentationCollection; |
import org.apache.tools.ant.taskdefs.HostInfo; |
import org.apache.tools.ant.taskdefs.Sleep; |
import org.apache.tools.ant.taskdefs.email.EmailTask; |
|
/** |
* |
* @author Brian Rosenberger, bru@brutex.de |
*/ |
@WebService(targetNamespace = BrutexNamespaces.WS_XSERVICES, endpointInterface = "net.brutex.xservices.ws.MiscService", serviceName = "MiscService") |
public class MiscServiceImpl implements MiscService { |
|
public HostinfoType getHostinfo(String hostname) { |
HostInfo info = new HostInfo(); |
info.setTaskName("HostInfo"); |
RunTask runner = new RunTask(info); |
info.setHost(hostname); |
// info.setPrefix(prefix); |
ReturnCode ret = runner.postTask(); |
HostinfoType infotype = new HostinfoType( |
ret.getProperty("NAME"), |
ret.getProperty("DOMAIN"), |
ret.getProperty("ADDR4"), |
ret.getProperty("ADDR6")); |
return infotype; |
} |
|
public ReturnCode getInfo() { |
ReturnCode r = new ReturnCode(); |
r.returnCode = 0; |
// Get all system properties |
Properties props = System.getProperties(); |
|
// Enumerate all system properties |
@SuppressWarnings("unchecked") |
Enumeration<String> e = (Enumeration<String>) props.propertyNames(); |
for (; e.hasMoreElements();) { |
// Get property name |
String propName = (String) e.nextElement(); |
|
// Get property value |
String propValue = (String) props.get(propName); |
r.stdOut = r.stdOut + propName + ": " + propValue + "\n"; |
} |
|
return r; |
} |
|
public ReturnCode sendMailSimple(HostConnection mailhost, String from, |
String tolist, String subject, String message) { |
return sendMail(from, from, tolist, "", "", subject, message, |
"text/plain", null, mailhost.hostname, mailhost.port, |
mailhost.user, mailhost.password, "utf-8", false, false); |
} |
|
public ReturnCode sendMailSimpleWithAttachment(HostConnection mailhost, |
String from, String tolist, String subject, String message, |
FileSetResource res) { |
return sendMail(from, from, tolist, "", "", subject, message, |
"text/plain", res, mailhost.hostname, mailhost.port, |
mailhost.user, mailhost.password, "utf-8", false, false); |
} |
|
public ReturnCode sendMail(HostConnection mailhost, String from, |
String tolist, String cclist, String bcclist, String subject, |
MailMimeType mimetype, String charset, String message, |
FileSetResource res, boolean ssl, boolean tls) { |
return sendMail(from, from, tolist, cclist, bcclist, subject, message, |
mimetype.value(), res, mailhost.hostname, mailhost.port, |
mailhost.user, mailhost.password, charset, tls, ssl); |
} |
|
public ReturnCode sleep(int minutes, int seconds) { |
return sleep(0, minutes, seconds, 0); |
} |
|
public String generateUUID() { |
return UUID.randomUUID().toString(); |
} |
|
private ReturnCode sendMail(String from, String replyto, String tolist, |
String cclist, String bcclist, String subject, String message, |
String messagemimetype, FileSetResource attachments, |
String mailhost, int mailport, String user, String password, |
String charset, boolean tls, boolean ssl) { |
EmailTask mail = new EmailTask(); |
mail.setTaskName("Mail"); |
RunTask runner = new RunTask(mail); |
mail.setFrom(from); |
mail.setReplyTo(replyto); |
mail.setToList(tolist); |
mail.setCcList(cclist); |
mail.setBccList(bcclist); |
mail.setSubject(subject); |
mail.setMessage(message); |
mail.setMessageMimeType(messagemimetype); |
if (attachments != null) { |
mail.addFileset(attachments.getAntResource(mail.getProject())); |
} |
mail.setMailhost(mailhost); |
mail.setMailport(mailport); |
mail.setUser(user); |
mail.setPassword(password); |
mail.setCharset(charset); |
mail.setSSL(ssl); |
mail.setEnableStartTLS(tls); |
return runner.postTask(); |
} |
|
private ReturnCode sleep(int hours, int minutes, int seconds, |
int milliseconds) { |
Sleep sleep = new Sleep(); |
sleep.setTaskName("Sleep"); |
RunTask runner = new RunTask(sleep); |
sleep.setHours(hours); |
sleep.setMinutes(minutes); |
sleep.setSeconds(seconds); |
sleep.setMilliseconds(milliseconds); |
return runner.postTask(); |
} |
} |