Example usage for org.apache.commons.lang SerializationUtils clone

List of usage examples for org.apache.commons.lang SerializationUtils clone

Introduction

In this page you can find the example usage for org.apache.commons.lang SerializationUtils clone.

Prototype

public static Object clone(Serializable object) 

Source Link

Document

Deep clone an Object using serialization.

This is many times slower than writing clone methods by hand on all objects in your object graph.

Usage

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;
}