private static void addAdvancedExternalizer(Map<Integer, AdvancedExternalizer<?>> map, AdvancedExternalizer<?> ext) { map.put(ext.getId(), ext); }
private static void addExternalizerToMap(Map<Integer, AdvancedExternalizer<?>> m, AdvancedExternalizer<?> instance) { Integer id = instance.getId(); assert id != null; //The range of ids assigned to Hibernate OGM by the Infinispan team needs to be strictly verified; //see http://infinispan.org/docs/9.0.x/user_guide/user_guide.html#preassigned_externalizer_id_ranges //and please use org.hibernate.ogm.datastore.infinispan.persistencestrategy.common.externalizer.impl.ExternalizerIds assert id.intValue() >= 1400 && id.intValue() < 1500 : "Externalizer out of the assigned range for Hibernate OGM"; AdvancedExternalizer<?> previous = m.put( instance.getId(), instance ); assert previous == null : "Clash in Externalizer Id! They need to be strictly unique."; }
private static void addExternalizerToMap(Map<Integer, AdvancedExternalizer<?>> m, AdvancedExternalizer<?> instance) { Integer id = instance.getId(); assert id != null; //The range of ids assigned to Hibernate OGM by the Infinispan team needs to be strictly verified; //see http://infinispan.org/docs/9.0.x/user_guide/user_guide.html#preassigned_externalizer_id_ranges //and please use org.hibernate.ogm.datastore.infinispan.persistencestrategy.common.externalizer.impl.ExternalizerIds assert id.intValue() >= 1400 && id.intValue() < 1500 : "Externalizer out of the assigned range for Hibernate OGM"; AdvancedExternalizer<?> previous = m.put( instance.getId(), instance ); assert previous == null : "Clash in Externalizer Id! They need to be strictly unique."; }
@Override public void cacheManagerStarting(GlobalComponentRegistry gcr, GlobalConfiguration globalConfiguration) { final Map<Integer, AdvancedExternalizer<?>> externalizerMap = globalConfiguration.serialization() .advancedExternalizers(); externalizerMap.put(ClusteredLockKey.EXTERNALIZER.getId(), ClusteredLockKey.EXTERNALIZER); externalizerMap.put(ClusteredLockValue.EXTERNALIZER.getId(), ClusteredLockValue.EXTERNALIZER); externalizerMap.put(LockFunction.EXTERNALIZER.getId(), LockFunction.EXTERNALIZER); externalizerMap.put(UnlockFunction.EXTERNALIZER.getId(), UnlockFunction.EXTERNALIZER); externalizerMap.put(IsLocked.EXTERNALIZER.getId(), IsLocked.EXTERNALIZER); externalizerMap.put(ClusteredLockFilter.EXTERNALIZER.getId(), ClusteredLockFilter.EXTERNALIZER); }
private static Map<Integer, AdvancedExternalizer<?>> getExternalizersFromProps(StoreProperties props) { Map<Integer, AdvancedExternalizer<?>> map = new HashMap<>(); String externalizers = props.get(MARSHALLER, EXTERNALIZERS); if (externalizers != null) { for (String ext : externalizers.split(",")) { String[] extArray = ext.split(":"); String className = extArray.length > 1 ? extArray[1] : extArray[0]; AdvancedExternalizer<?> instance = Util.getInstance(className, SerializationConfigUtil.class.getClassLoader()); int id = extArray.length > 1 ? new Integer(extArray[0]) : instance.getId(); map.put(id, instance); } } return map; } }
private void initForeignMarshallables(Map<Integer, ? extends AdvancedExternalizer<?>> externalizerMap) { for (Map.Entry<Integer, ? extends AdvancedExternalizer<?>> entry : externalizerMap.entrySet()) { AdvancedExternalizer<?> ext = entry.getValue(); Integer id = ext.getId(); if (entry.getKey() == null && id == null) throw new CacheConfigurationException(String.format( "No advanced externalizer identifier set for externalizer %s", ext.getClass().getName())); else if (entry.getKey() != null) id = entry.getKey(); id = checkForeignIdLimit(id, ext); updateExtReadersWithTypes(new ExternalizerAdapter(id, ext), generateForeignReaderIndex(id)); } }
.advancedExternalizers(); for ( AdvancedExternalizer<?> ogmExternalizer : ogmExternalizers.values() ) { final Integer externalizerId = ogmExternalizer.getId(); AdvancedExternalizer<?> registeredExternalizer = externalizerMap.get( externalizerId ); if ( registeredExternalizer == null ) {
private void addInternalExternalizer(AdvancedExternalizer<?> ext) { int id = checkInternalIdLimit(ext.getId(), ext); updateExtReadersWithTypes(new ExternalizerAdapter(id, ext)); }
.advancedExternalizers(); for ( AdvancedExternalizer<?> ogmExternalizer : ogmExternalizers.values() ) { final Integer externalizerId = ogmExternalizer.getId(); AdvancedExternalizer<?> registeredExternalizer = externalizerMap.get( externalizerId ); if ( registeredExternalizer == null ) {
public void testExternalizerConfigInfo() { Map<Integer, AdvancedExternalizer<?>> advExts = manager(0).getCacheManagerConfiguration().serialization().advancedExternalizers(); assert advExts.size() == 3; AdvancedExternalizer<?> ext = advExts.get(1234); assert ext != null; assert ext.getClass() == IdViaConfigObj.Externalizer.class; ext = advExts.get(5678); assert ext != null; assert ext.getClass() == IdViaAnnotationObj.Externalizer.class; assert ext.getId() == 5678; ext = advExts.get(3456); assert ext != null; assert ext.getClass() == IdViaBothObj.Externalizer.class; }
private int findExternalizerId(Object obj, EmbeddedCacheManager cm) { GlobalMarshaller marshaller = TestingUtil.extractGlobalMarshaller(cm); return ((AdvancedExternalizer<?>) marshaller.findExternalizerFor(obj)).getId(); }