mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-09-27 18:19:33 +02:00
72 lines
2.4 KiB
Java
72 lines
2.4 KiB
Java
|
/**
|
||
|
*
|
||
|
* Copyright 2018-2020 Florian Schmaus
|
||
|
*
|
||
|
* 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 org.jivesoftware.smack.full;
|
||
|
|
||
|
import java.io.File;
|
||
|
import java.io.FileNotFoundException;
|
||
|
import java.io.PrintWriter;
|
||
|
import java.nio.file.Path;
|
||
|
import java.nio.file.Paths;
|
||
|
|
||
|
import org.jivesoftware.smack.c2s.ModularXmppClientToServerConnectionConfiguration;
|
||
|
|
||
|
import org.jxmpp.stringprep.XmppStringprepException;
|
||
|
|
||
|
public class ModularXmppClientToServerConnectionTool {
|
||
|
|
||
|
@SuppressWarnings("DefaultCharset")
|
||
|
public static void main(String[] args) throws XmppStringprepException, FileNotFoundException {
|
||
|
|
||
|
final PrintWriter pw;
|
||
|
final boolean breakStateName;
|
||
|
|
||
|
switch (args.length) {
|
||
|
case 0:
|
||
|
pw = new PrintWriter(System.out);
|
||
|
breakStateName = false;
|
||
|
break;
|
||
|
case 1:
|
||
|
Path outputFilePath = Paths.get(args[0]);
|
||
|
File outputFile = outputFilePath.toFile();
|
||
|
if (outputFile.exists()) {
|
||
|
outputFile.delete();
|
||
|
}
|
||
|
pw = new PrintWriter(outputFile);
|
||
|
breakStateName = true;
|
||
|
break;
|
||
|
default:
|
||
|
throw new IllegalArgumentException("At most one argument allowed");
|
||
|
}
|
||
|
|
||
|
printStateGraph(pw, breakStateName);
|
||
|
pw.flush();
|
||
|
}
|
||
|
|
||
|
public static void printStateGraph(PrintWriter pw, boolean breakStateName) throws XmppStringprepException {
|
||
|
ModularXmppClientToServerConnectionConfiguration.Builder configurationBuilder = ModularXmppClientToServerConnectionConfiguration.builder()
|
||
|
.setUsernameAndPassword("user", "password")
|
||
|
.setXmppDomain("example.org");
|
||
|
|
||
|
ModularXmppClientToServerConnectionConfiguration configuration = configurationBuilder.build();
|
||
|
|
||
|
configuration.printStateGraphInDotFormat(pw, breakStateName);
|
||
|
|
||
|
pw.flush();
|
||
|
}
|
||
|
|
||
|
}
|