List of usage examples for org.apache.commons.lang SerializationUtils clone
public static Object clone(Serializable object)
Deep clone an Object
using serialization.
This is many times slower than writing clone methods by hand on all objects in your object graph.
From source file:org.openlegacy.rpc.mock.MockRpcConnectionFactory.java
@Override public RpcConnection getConnection() { List<RpcSnapshot> clonedSnapshots = new ArrayList<RpcSnapshot>(); for (RpcSnapshot rpcSnapshot : fetchRpcSnapshots()) { clonedSnapshots.add((RpcSnapshot) SerializationUtils.clone(rpcSnapshot)); }/*from www.j a va2s . c o m*/ MockRpcConnection result = new MockRpcConnection(clonedSnapshots); result.setVerifySend(verifySend); return result; }
From source file:org.openlegacy.rpc.support.DefaultRpcSession.java
final protected RpcResult invoke(SimpleRpcInvokeAction rpcAction, String entityName) { // clone to avoid modifications by connection of fields collection SimpleRpcInvokeAction clonedRpcAction = (SimpleRpcInvokeAction) SerializationUtils.clone(rpcAction); // Determine if any fields need to be removed. // Some calculated fields do not have a corresponding field on the actual RPC Call final List<RpcField> fieldsToRemove = new ArrayList<RpcField>(); for (RpcField rpcField : rpcAction.getFields()) { if (rpcField.getDirection() == Direction.NONE) { fieldsToRemove.add(rpcField); }//from w w w. j av a 2 s . com } rpcAction.getFields().removeAll(fieldsToRemove); RpcResult rpcResult = rpcConnection.invoke(rpcAction); notifyModulesAfterSend(clonedRpcAction, rpcResult, entityName); return rpcResult; }
From source file:org.openlegacy.terminal.mock.MockStateMachineTerminalConnection.java
@Override public TerminalSnapshot getSnapshot() { TerminalSnapshot clonedSnapshot = (TerminalSnapshot) SerializationUtils.clone(currentSnapshot); return clonedSnapshot; }
From source file:org.openlegacy.terminal.mock.MockTerminalConnection.java
public MockTerminalConnection(List<TerminalSnapshot> snapshots) { for (TerminalSnapshot terminalSnapshot : snapshots) { this.snapshots.add((TerminalSnapshot) SerializationUtils.clone(terminalSnapshot)); }/* w w w .j a v a 2s. c om*/ }
From source file:org.openlegacy.terminal.support.binders.ScreenBinderLogic.java
public void populatedFields(ScreenPojoFieldAccessor fieldAccessor, TerminalSnapshot terminalSnapshot, Collection<ScreenFieldDefinition> fieldMappingDefinitions) { for (ScreenFieldDefinition fieldMappingDefinition : fieldMappingDefinitions) { TerminalPosition position = retrievePosition(fieldMappingDefinition, terminalSnapshot); if (position == null) { logger.warn("A field was not found for field:" + fieldMappingDefinition.getName()); continue; }//ww w .j a va2 s.c o m TerminalField terminalField = terminalSnapshot.getField(position); if (terminalField == null) { logger.debug("A field mapping was not found " + fieldMappingDefinition.getName()); continue; } if (terminalField.isHidden() && !terminalField.isEditable()) { logger.debug("A hidden field was not bound " + fieldMappingDefinition.getName()); continue; } if (fieldMappingDefinition.getDynamicFieldDefinition() != null) { fieldMappingDefinition = (SimpleScreenFieldDefinition) SerializationUtils .clone((Serializable) fieldMappingDefinition); ((SimpleScreenFieldDefinition) fieldMappingDefinition).setPosition(position); ((SimpleScreenFieldDefinition) fieldMappingDefinition) .setEndPosition(terminalField.getEndPosition()); ((SimpleScreenFieldDefinition) fieldMappingDefinition).setLength(terminalField.getLength()); } String text = getText(fieldMappingDefinition, terminalSnapshot); String fieldName = fieldMappingDefinition.getName(); boolean bind = isBindText(fieldMappingDefinition, text); if (bind && fieldAccessor.isWritable(fieldName)) { Class<?> javaType = fieldMappingDefinition.getJavaType(); if (TypesUtil.isNumberOrString(javaType)) { String content = fieldFormatter.format(text); if (!content.equals(fieldMappingDefinition.getNullValue())) { fieldAccessor.setFieldValue(fieldName, content); } } fieldAccessor.setTerminalField(fieldName, terminalField); handleDescriptionField(fieldAccessor, terminalSnapshot, fieldMappingDefinition, fieldName); } TerminalPosition cursorPosition = terminalSnapshot.getCursorPosition(); if (cursorPosition != null && cursorPosition.equals(position)) { fieldAccessor.setFocusField(fieldMappingDefinition.getName()); } } }
From source file:org.opennaas.extensions.genericnetwork.actionsets.internal.circuitaggregation.actions.CalculateAggregatedCircuitsAction.java
private Circuit computeAggregatedByIp24(Circuit candidate) { Circuit aggregated;// w w w . j a v a 2 s. c o m try { aggregated = (Circuit) SerializationUtils.clone(candidate); aggregated.setCircuitId("TO_BE_DEFINED"); aggregated.getTrafficFilter().setSrcIp(getIP24WithShortMask(candidate.getTrafficFilter().getSrcIp())); aggregated.getTrafficFilter().setDstIp(getIP24WithShortMask(candidate.getTrafficFilter().getDstIp())); } catch (Exception e) { aggregated = candidate; } return aggregated; }
From source file:org.opennaas.extensions.genericnetwork.test.actionsets.internal.cicruitaggregation.actions.CalculateAggregatedCircuitsActionTest.java
private Set<Circuit> generateSampleCircuits() throws Exception { Set<Circuit> circuits = new HashSet<Circuit>(); Circuit circuit = GenericNetworkModelUtils.generateSampleCircuit(); circuit.setCircuitId("ORIGINAL"); circuit.getTrafficFilter().setSrcIp(SRC_BASE_IP24_1 + String.valueOf(255)); circuit.getTrafficFilter().setDstIp(DST_BASE_IP24_1 + String.valueOf(255)); circuit.getTrafficFilter().setTosBits(TOS_1); Circuit circuit1;/*from ww w .j av a2 s . c om*/ // aggregation group for (int i = 0; i < 10; i++) { circuit1 = (Circuit) SerializationUtils.clone(circuit); circuit1.setCircuitId(String.valueOf(i)); circuit1.getTrafficFilter().setSrcIp(SRC_BASE_IP24_1 + String.valueOf(i)); circuit1.getTrafficFilter().setDstIp(DST_BASE_IP24_1 + String.valueOf(i + 100)); circuits.add(circuit1); } // aggregation group using different ip/24 for (int i = 10; i < 20; i++) { circuit1 = (Circuit) SerializationUtils.clone(circuit); circuit1.setCircuitId(String.valueOf(i)); circuit1.getTrafficFilter().setSrcIp(SRC_BASE_IP24_2 + String.valueOf(i)); circuit1.getTrafficFilter().setDstIp(DST_BASE_IP24_2 + String.valueOf(i + 100)); circuits.add(circuit1); } // aggregation group using different ToS for (int i = 10; i < 20; i++) { circuit1 = (Circuit) SerializationUtils.clone(circuit); circuit1.setCircuitId(String.valueOf(i + 1000)); circuit.getTrafficFilter().setTosBits(TOS_2); circuit1.getTrafficFilter().setSrcIp(SRC_BASE_IP24_2 + String.valueOf(i)); circuit1.getTrafficFilter().setDstIp(DST_BASE_IP24_2 + String.valueOf(i + 100)); circuits.add(circuit1); } return circuits; }
From source file:org.openspotlight.persist.support.SimplePersistImpl.java
private Serializable beforeSerializeSerializable(final Serializable value) { if (value instanceof StreamPropertyWithParent) { final StreamPropertyWithParent typedValue = (StreamPropertyWithParent) value; final SimpleNodeType oldParent = typedValue.getParent(); typedValue.setParent(null);/*from w ww. j av a 2 s.c o m*/ final StreamPropertyWithParent newValue = (StreamPropertyWithParent) SerializationUtils.clone(value); typedValue.setParent(oldParent); return newValue; } return value; }
From source file:org.ow2.choreos.services.datamodel.DeployableServiceSpec.java
public DeployableServiceSpec clone() { return (DeployableServiceSpec) SerializationUtils.clone(this); }
From source file:org.pentaho.js.require.RequireJsGenerator.java
private Map<String, Object> modifyConfigPaths(HashMap<String, String> artifactModules) throws ParseException { Map<String, Object> requirejs = new HashMap<>(); HashMap<String, String> keyMap = new HashMap<>(); HashMap<String, Object> moduleDetails = new HashMap<>(); if (dependencies != null && !dependencies.isEmpty()) { moduleDetails.put("dependencies", dependencies); }/*from w ww. j av a 2s . com*/ final boolean isAmdPackage = moduleInfo.isAmdPackage(); moduleDetails.put("isAmdPackage", isAmdPackage); if (!isAmdPackage && moduleInfo.getExports() != null) { moduleDetails.put("exports", moduleInfo.getExports()); } final HashMap<String, String> paths = (HashMap<String, String>) requireConfig.get("paths"); if (paths != null) { HashMap<String, String> convertedPaths = new HashMap<>(); for (String key : paths.keySet()) { String versionedKey; if (key.startsWith("./")) { versionedKey = moduleInfo.getVersionedName() + key.substring(1); } else { versionedKey = key + "_" + moduleInfo.getVersion(); Map<String, Object> module = new HashMap<>(); module.put(moduleInfo.getVersion(), moduleDetails); moduleInfo.addModuleId(key, module); artifactModules.put(key, moduleInfo.getVersion()); } keyMap.put(key, versionedKey); String path = paths.get(key); if (path.length() > 0) { if (path.startsWith("/")) { convertedPaths.put(versionedKey, path); } else { convertedPaths.put(versionedKey, moduleInfo.getVersionedPath() + "/" + path); } } else { convertedPaths.put(versionedKey, moduleInfo.getVersionedPath()); } } requirejs.put("paths", convertedPaths); } final List packages = (List) requireConfig.get("packages"); if (packages != null && !packages.isEmpty()) { moduleDetails.put("packages", SerializationUtils.clone((Serializable) packages)); List<Object> convertedPackages = new ArrayList<>(); for (Object pack : packages) { if (pack instanceof String) { String packageName = (String) pack; String convertedName; if (!packageName.isEmpty()) { convertedName = moduleInfo.getVersionedName() + "/" + packageName; } else { packageName = moduleInfo.getName(); convertedName = moduleInfo.getVersionedName(); } keyMap.put(packageName, convertedName); keyMap.put(packageName + "/main", convertedName + "/main"); convertedPackages.add(convertedName); } else if (pack instanceof HashMap) { final HashMap<String, String> packageObj = (HashMap<String, String>) pack; if (((HashMap) pack).containsKey("name")) { String packageName = packageObj.get("name"); final String mainScript = ((HashMap) pack).containsKey("main") ? packageObj.get("main") : "main"; String convertedName; if (!packageName.isEmpty()) { convertedName = moduleInfo.getVersionedName() + "/" + packageName; } else { packageName = moduleInfo.getName(); convertedName = moduleInfo.getVersionedName(); } keyMap.put(packageName, convertedName); keyMap.put(packageName + "/" + mainScript, convertedName + "/" + mainScript); packageObj.put("name", convertedName); } convertedPackages.add(pack); } } requirejs.put("packages", convertedPackages); } final HashMap<String, ?> shim = (HashMap<String, ?>) requireConfig.get("shim"); if (shim != null) { requirejs.put("shim", convertSubConfig(keyMap, shim)); } final HashMap<String, ?> map = (HashMap<String, ?>) requireConfig.get("map"); if (map != null) { requirejs.put("map", convertSubConfig(keyMap, map)); } if (requireConfig.containsKey("config")) { requirejs.put("config", requireConfig.get("config")); } return requirejs; }