use of com.exalttech.trex.remote.models.profiles.Stream in project trex-stateless-gui by cisco-system-traffic-generator.
the class PacketBuilderHomeController method initEditStream.
private void initEditStream(String pcapFileBinary) {
streamTabPane.setDisable(false);
saveButton.setDisable(false);
streamEditorModeBtn.setDisable(false);
Stream currentStream = selectedProfile.getStream();
streamEditorModeBtn.setText(currentStream.getAdvancedMode() ? "Simple mode" : "Advanced mode");
if (!Util.isNullOrEmpty(currentStream.getPacket().getMeta())) {
BuilderDataBinding dataBinding = getDataBinding();
if (dataBinding != null) {
initStreamBuilder(dataBinding);
return;
} else {
streamTabPane.setDisable(true);
saveButton.setDisable(true);
streamEditorModeBtn.setDisable(true);
}
} else {
isImportedStreamProperty.set(true);
}
if (isImportedStreamProperty.get()) {
streamTabPane.getTabs().remove(protocolDataTab);
streamTabPane.getTabs().remove(protocolSelectionTab);
streamTabPane.getTabs().remove(advanceSettingsTab);
streamTabPane.getTabs().remove(packetViewerWithTreeTab);
streamTabPane.getTabs().remove(packetEditorTab);
streamTabPane.getTabs().remove(fieldEngineTab);
}
if (pcapFileBinary != null) {
try {
isBuildPacket = false;
File pcapFile = trafficProfile.decodePcapBinary(pcapFileBinary);
parser.parseFile(pcapFile.getAbsolutePath(), packetInfo);
packetHex.setData(packetInfo);
} catch (IOException ex) {
LOG.error("Failed to load PCAP value", ex);
}
}
String base64UserModel = currentStream.getPacket().getModel();
if (!Strings.isNullOrEmpty(base64UserModel)) {
packetBuilderController.loadUserModel(base64UserModel);
}
}
use of com.exalttech.trex.remote.models.profiles.Stream in project trex-stateless-gui by cisco-system-traffic-generator.
the class PacketBuilderHomeController method switchEditorMode.
@FXML
public void switchEditorMode(ActionEvent event) throws Exception {
Stream currentStream = streamPropertiesController.getUpdatedSelectedProfile().getStream();
boolean advancedMode = currentStream.getAdvancedMode();
try {
if (!ConnectionManager.getInstance().isScapyConnected()) {
eventBus.post(new ScapyClientNeedConnectEvent());
}
if (advancedMode) {
streamEditorModeBtn.setText("Advanced mode");
currentStream.setAdvancedMode(false);
showSimpleModeTabs();
} else {
if (ConnectionManager.getInstance().isScapyConnected()) {
if (isImportedStreamProperty.getValue()) {
byte[] base64Packet = currentStream.getPacket().getBinary().getBytes();
byte[] packet = Base64.getDecoder().decode(base64Packet);
packetBuilderController.loadPcapBinary(packet);
} else {
packetBuilderController.loadSimpleUserModel(builderDataBinder.serializeAsPacketModel());
}
streamEditorModeBtn.setText("Simple mode");
currentStream.setAdvancedMode(true);
showAdvancedModeTabs();
} else {
alertWarning("Can't open Advanced mode", "There is no connection to Scapy server." + "\nPlease refer to documentation about" + "\nScapy server and advanced configuration mode.");
}
}
} catch (Exception e) {
LOG.error("Unable to open advanced mode due to: " + e.getMessage());
alertWarning("Can't open Advanced mode", "Some errors occurred. See logs for more details.");
}
}
use of com.exalttech.trex.remote.models.profiles.Stream in project trex-stateless-gui by cisco-system-traffic-generator.
the class PacketBuilderHomeController method loadStream.
private void loadStream() {
resetTabs();
streamTabPane.getSelectionModel().select(streamPropertiesTab);
selectedProfile = profileList.get(currentSelectedProfileIndex);
Stream currentStream = selectedProfile.getStream();
String windowTitle = "Edit Stream (" + selectedProfile.getName() + ")";
// update window title
Stage stage = (Stage) streamTabPane.getScene().getWindow();
stage.setTitle(windowTitle);
streamPropertiesController.init(profileList, currentSelectedProfileIndex);
initEditStream(currentStream.getPacket().getBinary());
if (currentStream.getAdvancedMode()) {
showAdvancedModeTabs();
} else {
showSimpleModeTabs();
}
}
Aggregations