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.apache.torque.criteria.CriteriaTest.java
/** * Test that {@link Criteria#equals(Object)} works correctly for a simple * Criteria object./*from ww w .j a v a 2 s . c o m*/ * @throws TorqueException */ public void testEquals() throws TorqueException { c.addSelectColumn(new ColumnImpl("Author", "NAME")); c.addSelectColumn(new ColumnImpl("Author", "AUTHOR_ID")); c.where(new ColumnImpl("Author", "NAME"), "foobar"); Criteria cClone = (Criteria) SerializationUtils.clone(c); assertTrue(c.equals(cClone)); }
From source file:org.apache.torque.util.CriteriaTest.java
/** * Test that serialization works./* w w w. java 2s .c om*/ */ public void testSerialization() { c.setOffset(10); c.setLimit(11); c.setIgnoreCase(true); c.setSingleRecord(true); c.setDbName("myDB"); c.setAll(); c.setDistinct(); c.addSelectColumn(new ColumnImpl("Author", "NAME")); c.addSelectColumn(new ColumnImpl("Author", "AUTHOR_ID")); c.addDescendingOrderByColumn(new ColumnImpl("Author", "NAME")); c.addAscendingOrderByColumn(new ColumnImpl("Author", "AUTHOR_ID")); c.addAlias("Writer", "Author"); c.addAsColumn("AUTHOR_NAME", new ColumnImpl("Author", "NAME")); c.addJoin(new ColumnImpl("Author", "AUTHOR_ID"), new ColumnImpl("Book", "AUTHOR_ID"), Criteria.INNER_JOIN); c.add(new ColumnImpl("Author", "NAME"), "author%", Criteria.LIKE); // Some direct Criterion checks Criterion cn = c.getCriterion(new ColumnImpl("Author", "NAME")); cn.setIgnoreCase(true); assertEquals("author%", cn.getValue()); assertEquals(Criteria.LIKE, cn.getComparison()); Criterion cnDirectClone = (Criterion) SerializationUtils.clone(cn); assertEquals(cn, cnDirectClone); // Clone the object Criteria cClone = (Criteria) SerializationUtils.clone(c); // Check the clone assertEquals(c.size(), cClone.size()); assertEquals(10, cClone.getOffset()); assertEquals(c.getOffset(), cClone.getOffset()); assertEquals(11, cClone.getLimit()); assertEquals(c.getLimit(), cClone.getLimit()); assertEquals(true, cClone.isIgnoreCase()); assertEquals(c.isIgnoreCase(), cClone.isIgnoreCase()); assertEquals(true, cClone.isSingleRecord()); assertEquals(c.isSingleRecord(), cClone.isSingleRecord()); assertEquals("myDB", cClone.getDbName()); assertEquals(c.getDbName(), cClone.getDbName()); List selectModifiersClone = cClone.getSelectModifiers(); assertTrue(selectModifiersClone.contains(Criteria.ALL.toString())); assertTrue(selectModifiersClone.contains(Criteria.DISTINCT.toString())); assertEquals(c.getSelectModifiers(), cClone.getSelectModifiers()); List selectColumnsClone = cClone.getSelectColumns(); assertTrue(selectColumnsClone.contains(new ColumnImpl("Author", "NAME"))); assertTrue(selectColumnsClone.contains(new ColumnImpl("Author", "AUTHOR_ID"))); assertEquals(c.getSelectColumns(), cClone.getSelectColumns()); List orderByColumnsClone = cClone.getOrderByColumns(); assertTrue(orderByColumnsClone.contains(new OrderBy(new ColumnImpl("Author.NAME"), SqlEnum.DESC, false))); assertTrue( orderByColumnsClone.contains(new OrderBy(new ColumnImpl("Author.AUTHOR_ID"), SqlEnum.ASC, false))); assertEquals(c.getOrderByColumns(), cClone.getOrderByColumns()); Map aliasesClone = cClone.getAliases(); assertTrue(aliasesClone.containsKey("Writer")); assertEquals("Author", aliasesClone.get("Writer")); assertEquals(c.getAliases(), cClone.getAliases()); Map asColumnsClone = cClone.getAsColumns(); assertTrue(asColumnsClone.containsKey("AUTHOR_NAME")); assertEquals(new ColumnImpl("Author", "NAME"), asColumnsClone.get("AUTHOR_NAME")); assertEquals(c.getAsColumns(), cClone.getAsColumns()); // Check Joins List joinsClone = cClone.getJoins(); Join joinClone = (Join) joinsClone.get(0); assertEquals(new ColumnImpl("Author", "AUTHOR_ID"), joinClone.getJoinCondition().getLValue()); assertEquals(new ColumnImpl("Book", "AUTHOR_ID"), joinClone.getJoinCondition().getRValue()); assertEquals(Criteria.INNER_JOIN, joinClone.getJoinType()); assertEquals(c.getJoins(), cClone.getJoins()); // Some Criterion checks Criterion cnClone = cClone.getCriterion(new ColumnImpl("Author", "NAME")); assertEquals("author%", cnClone.getValue()); assertEquals(Criteria.LIKE, cnClone.getComparison()); assertEquals(cn.isIgnoreCase(), cnClone.isIgnoreCase()); // Confirm that equals() checks all of the above. assertEquals(c, cClone); // Check hashCode() too. assertEquals(c.hashCode(), cClone.hashCode()); }
From source file:org.apache.torque.util.CriteriaTest.java
/** * Test that {@link Criteria#equals(Object)} works correctly for a simple * Criteria object./*from w w w . j av a 2 s .c o m*/ * @throws TorqueException */ public void testEquals() throws TorqueException { c.addSelectColumn(new ColumnImpl("Author", "NAME")); c.addSelectColumn(new ColumnImpl("Author", "AUTHOR_ID")); c.add(new ColumnImpl("Author", "NAME"), "foobar"); Criteria cClone = (Criteria) SerializationUtils.clone(c); assertTrue(c.equals(cClone)); }
From source file:org.artifactory.build.DetailedBuildRunImpl.java
@Override @Nonnull/*from w w w . ja v a 2 s. co m*/ public DetailedBuildRun copy(String buildNumber) { Build copy = (Build) SerializationUtils.clone(build); copy.setStartedDate(new Date()); if (StringUtils.isNotBlank(buildNumber)) { copy.setNumber(buildNumber); } return new DetailedBuildRunImpl(copy); }
From source file:org.artifactory.common.wicket.component.table.groupable.GroupedItemsStrategy.java
@Override public <T> Iterator<Item<T>> getItems(final IItemFactory<T> factory, final Iterator<IModel<T>> newModels, Iterator<Item<T>> existingItems) { return new Iterator<Item<T>>() { private int index = 0; private Object lastGroupValue; private Item<T> lastGroupItem; private IModel<T> lastGroupModel; @Override// w ww . j ava2s . com public void remove() { throw new UnsupportedOperationException(); } @Override public boolean hasNext() { return lastGroupModel != null || newModels.hasNext(); } @Override @SuppressWarnings({ "unchecked" }) public Item<T> next() { // returned group item in last iteration, return saved model item if (lastGroupModel != null) { Item<T> item = newRowItem(lastGroupModel); lastGroupModel = null; return item; } IModel<T> model = newModels.next(); GroupableDataProvider provider = table.getGroupableDataProvider(); SortParam groupParam = provider.getGroupParam(); if (groupParam != null && model != null) { String property = groupParam.getProperty(); IChoiceRenderer renderer = provider.getGroupRenderer(property); T modelObject = model.getObject(); Object value = renderer.getIdValue(modelObject, index); if (!value.equals(lastGroupValue)) { lastGroupValue = value; lastGroupModel = model; GroupableTable modificationTable = (GroupableTable) SerializationUtils.clone(table); lastGroupItem = modificationTable.newGroupRowItem("group" + index, index, model); Item cellItem = modificationTable.newGroupCellItem("cells", 0, model); lastGroupItem.add(cellItem); modificationTable.populateGroupItem(cellItem, "cell", property, model); return lastGroupItem; } } return newRowItem(model); } @SuppressWarnings({ "unchecked" }) private Item<T> newRowItem(IModel<T> model) { Item<T> item = factory.newItem(index, model); if (lastGroupItem != null && !table.isGroupExpanded(lastGroupItem) && table.getGroupableDataProvider().getGroupParam() != null) { item.add(new CssClass("row-collapsed")); } index++; return item; } }; }
From source file:org.artifactory.config.CentralConfigServiceImpl.java
@Override public MutableCentralConfigDescriptor getMutableDescriptor() { return (MutableCentralConfigDescriptor) SerializationUtils.clone(descriptor); }
From source file:org.cbioportal.weblegacy.ApiControllerTest.java
private List<Mutation> getGeneticprofiledataQuery1ServiceMock() { if (geneticprofiledataQuery1ServiceMock != null) { return geneticprofiledataQuery1ServiceMock; }/*w ww .ja v a 2s . c o m*/ List<Mutation> fullMock = this.getGeneticprofiledataQuery1PersistenceFullMock(); geneticprofiledataQuery1ServiceMock = new ArrayList<Mutation>(fullMock.size()); for (Mutation fullMutation : fullMock) { Mutation clone = (Mutation) SerializationUtils.clone(fullMutation); this.applyNullMaskToMutationModel(clone); geneticprofiledataQuery1ServiceMock.add(clone); } return geneticprofiledataQuery1ServiceMock; }
From source file:org.cesecore.util.ui.DynamicUiProperty.java
/** * Copy constructor for DynamicUiProperty objects * @param original the original property *//*from ww w. ja v a2 s . c om*/ @SuppressWarnings("unchecked") public DynamicUiProperty(final DynamicUiProperty<T> original) { this.name = original.getName(); this.defaultValue = original.getDefaultValue(); this.setHasMultipleValues(original.getHasMultipleValues()); if (!original.hasMultipleValues) { setValue((T) SerializationUtils.clone(original.getValue())); } else { List<T> clonedValues = new ArrayList<>(); for (T value : original.getValues()) { clonedValues.add((T) SerializationUtils.clone(value)); } setValues(clonedValues); } this.possibleValues = original.getPossibleValues(); this.propertyCallback = original.getPropertyCallback(); this.type = original.getType(); }
From source file:org.datacleaner.connection.JdbcDatastoreTest.java
public void testSerializationAndDeserialization() throws Exception { JdbcDatastore ds = new JdbcDatastore("name", "url", "driver", "username", "pw", true); Object clone = SerializationUtils.clone(ds); assertEquals(ds, clone);//w w w . jav a 2 s. c o m }
From source file:org.datacleaner.connection.UsageAwareDatastoreTest.java
public void testSerializationAndDeserializationOfAllDatastoreTypes() throws Exception { List<UsageAwareDatastore<?>> datastores = new ArrayList<UsageAwareDatastore<?>>(); datastores.add(new AccessDatastore("access", "bar.mdb")); datastores.add(new CsvDatastore("csv", "bar.csv")); datastores.add(new DbaseDatastore("dbase", "bar.dbf")); datastores.add(new ExcelDatastore("excel", null, "bar.xls")); datastores.add(new JdbcDatastore("jdbc", "url")); datastores.add(new FixedWidthDatastore("fixedwidth", "foo.dat", "UTF8", new int[] { 1, 2, 3 })); datastores.add(new CompositeDatastore("foo", Arrays.<Datastore>asList(datastores.get(0), datastores.get(1), datastores.get(3)))); for (UsageAwareDatastore<?> ds : datastores) { System.out.println("Cloning datastore: " + ds); Object clone = SerializationUtils.clone(ds); assertEquals(ds, clone);/*from w ww . java 2 s . co m*/ } }