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.datacleaner.connection.XmlDatastoreTest.java
public void testCloneAndEquals() throws Exception { Object clone = SerializationUtils.clone(ds); assertEquals(ds, clone); }
From source file:org.datacleaner.reference.AbstractReferenceDataTest.java
public void testSerializationAndDeserializationOfDictionaries() throws Exception { String[] dictionaryNames = referenceDataCatalog.getDictionaryNames(); for (String name : dictionaryNames) { Dictionary dict = referenceDataCatalog.getDictionary(name); if (dict instanceof AbstractReferenceData) { System.out.println("Cloning dictionary: " + dict); Object clone = SerializationUtils.clone(dict); if (!dict.equals(clone)) { dict.equals(clone);/*from w ww. j ava 2s . co m*/ } assertEquals(dict, clone); } } }
From source file:org.datacleaner.reference.AbstractReferenceDataTest.java
public void testSerializationAndDeserializationOfSynonymCatalogs() throws Exception { String[] synonymCatalogNames = referenceDataCatalog.getSynonymCatalogNames(); for (String name : synonymCatalogNames) { SynonymCatalog sc = referenceDataCatalog.getSynonymCatalog(name); if (sc instanceof AbstractReferenceData) { System.out.println("Cloning synonym catalog: " + sc); Object clone = SerializationUtils.clone(sc); assertEquals(sc, clone);//from www. ja v a 2 s. c o m } } }
From source file:org.datacleaner.reference.AbstractReferenceDataTest.java
public void testSerializationAndDeserializationOfStringPatterns() throws Exception { String[] patternNames = referenceDataCatalog.getStringPatternNames(); for (String name : patternNames) { StringPattern pattern = referenceDataCatalog.getStringPattern(name); if (pattern instanceof AbstractReferenceData) { System.out.println("Cloning string pattern: " + pattern); Object clone = SerializationUtils.clone(pattern); if (!pattern.equals(clone)) { System.out.println(); }/* w w w. j ava 2 s .co m*/ assertEquals(pattern, clone); } } }
From source file:org.digidoc4j.impl.bdoc.tsl.ClonedTslCertificateSource.java
private void initializeClonedTsl() { if (certificateSource instanceof LazyTslCertificateSource) { ((LazyTslCertificateSource) certificateSource).refreshIfCacheExpired(); }//from ww w .j a va 2 s . c o m logger.debug("Cloning TSL"); clonedCertificateSource = (CertificateSource) SerializationUtils.clone(certificateSource); logger.debug("Finished cloning TSL"); }
From source file:org.geomajas.command.configuration.GetMapConfigurationCommand.java
/** * Clone layer information considering what may be copied to the client. * * @param original layer info//from w w w .ja v a 2 s . c o m * @return cloned copy including only allowed information */ public ClientLayerInfo securityClone(ClientLayerInfo original) { // the data is explicitly copied as this assures the security is considered when copying. if (null == original) { return null; } ClientLayerInfo client = null; String layerId = original.getServerLayerId(); if (securityContext.isLayerVisible(layerId)) { client = (ClientLayerInfo) SerializationUtils.clone(original); client.setWidgetInfo(securityClone(original.getWidgetInfo())); client.getLayerInfo().setExtraInfo(securityCloneLayerExtraInfo(original.getLayerInfo().getExtraInfo())); if (client instanceof ClientVectorLayerInfo) { ClientVectorLayerInfo vectorLayer = (ClientVectorLayerInfo) client; // set statuses vectorLayer.setCreatable(securityContext.isLayerCreateAuthorized(layerId)); vectorLayer.setUpdatable(securityContext.isLayerUpdateAuthorized(layerId)); vectorLayer.setDeletable(securityContext.isLayerDeleteAuthorized(layerId)); // filter feature info FeatureInfo featureInfo = vectorLayer.getFeatureInfo(); List<AttributeInfo> originalAttr = featureInfo.getAttributes(); List<AttributeInfo> filteredAttr = new ArrayList<AttributeInfo>(); featureInfo.setAttributes(filteredAttr); for (AttributeInfo ai : originalAttr) { if (securityContext.isAttributeReadable(layerId, null, ai.getName())) { filteredAttr.add(ai); } } } } return client; }
From source file:org.geomajas.plugin.caching.service.CacheCategoryTest.java
@Test public void testCacheCategorySerializable() { CacheCategory cacheCategory = new CacheCategory("nieuw"); CacheCategory clone = (CacheCategory) SerializationUtils.clone(cacheCategory); SerializationUtils.serialize(cacheCategory); }
From source file:org.geomajas.plugin.deskmanager.domain.types.XmlSerialisationType.java
public Object deepCopy(Object value) { if (value == null) { return value; } else if (value instanceof Serializable) { return SerializationUtils.clone((Serializable) value); } else {/*ww w . ja v a 2 s . c o m*/ LOG.warn("Could not deepCopy object, not serializable. " + value); return null; } }
From source file:org.geomajas.plugin.deskmanager.service.common.DynamicLayerLoadServiceImpl.java
public void loadDynamicLayers() { log.info("Loading dynamic layers"); try {/*from ww w . ja v a 2 s .c o m*/ // -- clientside / namedstyleinfo -- List<BeanDefinitionHolder> holders = new ArrayList<BeanDefinitionHolder>(); List<NamedObject> objects = new ArrayList<NamedObject>(); List<String> clientLayerIds = new ArrayList<String>(); for (LayerModel lm : layerModelService.getDynamicLayerModelsInternal()) { log.info(" - creating a dynamic layer for: " + lm.getName()); try { clientLayerIds.add(lm.getClientLayerId()); //Clone layer configuration so that it doesn't get overwritten in the database. DynamicLayerConfiguration clonedLayerConfiguration = (DynamicLayerConfiguration) SerializationUtils .clone(lm.getDynamicLayerConfiguration()); updateLayerProperties(clonedLayerConfiguration); objects.addAll(getClientLayerInfoObject(clonedLayerConfiguration)); // -- serverside layer bean has to be processed separately -- Map<String, Object> params = discoService .createBeanLayerDefinitionParameters(clonedLayerConfiguration); holders.addAll(beanFactoryService.createBeans(params)); // Add layer to the dynamicLayersApplication for dto postprocessing applicationInfo.getMaps().get(0).getLayers().add(clonedLayerConfiguration.getClientLayerInfo()); } catch (Exception e) { log.warn("Error loading dynamic layers: " + e.getMessage()); } } NamedObjectImpl applicationInfoNamedObject = new NamedObjectImpl(applicationInfo, "dynamicLayersApplication"); objects.add(applicationInfoNamedObject); holders.addAll(converterService.createBeanDefinitionsByIntrospection(objects)); activateBeans(holders, clientLayerIds); log.info(" - finished loading dynamic layers into context."); } catch (Exception e) { log.warn("Error activating dynamic layers: " + e.getMessage()); } }
From source file:org.geomajas.plugin.deskmanager.service.common.GeodeskConfigurationServiceImpl.java
public ClientApplicationInfo createGeodeskConfiguration(Geodesk geodesk, boolean includeMaps) { try {//from w w w. j a va2 s. co m geodesk = (Geodesk) session.getCurrentSession().merge(geodesk); UserApplicationInfo userApplicationInfo = getUserApplicationInfo( geodesk.getBlueprint().getUserApplicationKey()); ClientApplicationInfo appInfo = (ClientApplicationInfo) SerializationUtils .clone(userApplicationInfo.getApplicationInfo()); BaseGeodesk blueprint = blueprintService.getBlueprintByIdInternal(geodesk.getBlueprint().getId()); if (includeMaps) { ClientMapInfo mainMap = null; ClientMapInfo overviewMap = null; for (ClientMapInfo map : appInfo.getMaps()) { if (GdmLayout.MAPMAIN_ID.equals(map.getId())) { mainMap = map; } if (GdmLayout.MAPOVERVIEW_ID.equals(map.getId())) { overviewMap = map; } } if (!geodesk.getMainMapLayers().isEmpty()) { mainMap.getLayers().clear(); mainMap.getLayers().addAll(addLayers(geodesk.getMainMapLayers(), blueprint.getMainMapLayers())); } else if (!blueprint.getMainMapLayers().isEmpty()) { mainMap.getLayers().clear(); mainMap.getLayers().addAll(addLayers(blueprint.getMainMapLayers(), null)); } if (!geodesk.getOverviewMapLayers().isEmpty()) { overviewMap.getLayers().clear(); overviewMap.getLayers() .addAll(addLayers(geodesk.getOverviewMapLayers(), blueprint.getOverviewMapLayers())); } else if (!blueprint.getOverviewMapLayers().isEmpty()) { overviewMap.getLayers().clear(); overviewMap.getLayers().addAll(addLayers(blueprint.getOverviewMapLayers(), null)); } // Set bounds if (geodesk.mustFilterByCreatorTerritory()) { try { Bbox bounds = GeometryService .getBounds(convertorService.toDto(geodesk.getOwner().getGeometry())); mainMap.setMaxBounds(bounds); mainMap.setInitialBounds(bounds); overviewMap.setMaxBounds(bounds); overviewMap.setInitialBounds(bounds); } catch (GeomajasException e) { log.warn("Unable to apply loket territory bounds, falling back to default. {}", e.getLocalizedMessage()); } } else if (geodesk.mustFilterByUserTerritory()) { try { Bbox bounds = GeometryService.getBounds(convertorService.toDto( ((DeskmanagerSecurityContext) securityContext).getTerritory().getGeometry())); mainMap.setMaxBounds(bounds); mainMap.setInitialBounds(bounds); overviewMap.setMaxBounds(bounds); overviewMap.setInitialBounds(bounds); } catch (GeomajasException e) { log.warn("Unable to apply loket territory bounds, falling back to default. {}", e.getLocalizedMessage()); } } // Custom configurations for main map (order matters, overrides) mainMap.getWidgetInfo().putAll(userApplicationInfo.getMainMapWidgetInfos()); mainMap.getWidgetInfo().putAll(blueprint.getMainMapClientWidgetInfos()); mainMap.getWidgetInfo().putAll(geodesk.getMainMapClientWidgetInfos()); overviewMap.getWidgetInfo().putAll(userApplicationInfo.getOverviewMapWidgetInfos()); overviewMap.getWidgetInfo().putAll(blueprint.getOverviewMapClientWidgetInfos()); overviewMap.getWidgetInfo().putAll(geodesk.getOverviewMapClientWidgetInfos()); } else { appInfo.getMaps().clear(); // no maps here } // -- custom widget configurations appInfo.getWidgetInfo().putAll(userApplicationInfo.getApplicationWidgetInfos()); appInfo.getWidgetInfo().putAll(blueprint.getApplicationClientWidgetInfos()); appInfo.getWidgetInfo().putAll(geodesk.getApplicationClientWidgetInfos()); return appInfo; } catch (Exception e) { e.printStackTrace(); log.warn("Error creating configuration: " + e.getMessage()); return null; } }