protected static void provisionPermissiveAccessControlEntry(String domain, String interfaceName) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); List<MasterAccessControlEntry> provisionedAccessControlEntries = new ArrayList<MasterAccessControlEntry>(); String existingAccessControlEntriesJson = System.getProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES); if (existingAccessControlEntriesJson != null) { provisionedAccessControlEntries.addAll(Arrays.asList(objectMapper.readValue(existingAccessControlEntriesJson, MasterAccessControlEntry[].class))); } MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, interfaceName, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); provisionedAccessControlEntries.add(newMasterAccessControlEntry); String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries.toArray()); System.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); }
private ObjectMapper getObjectMapper() { objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); // objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, // true); objectMapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, true); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); TypeResolverBuilder<?> joynrTypeResolverBuilder = objectMapper.getSerializationConfig() .getDefaultTyper(SimpleType.construct(Object.class)); SimpleModule module = new SimpleModule("NonTypedModule", new Version(1, 0, 0, "", "", "")); module.addSerializer(new JoynrEnumSerializer()); module.addSerializer(new JoynrListSerializer()); TypeDeserializer typeDeserializer = joynrTypeResolverBuilder.buildTypeDeserializer(objectMapper.getDeserializationConfig(), SimpleType.construct(Object.class), null); module.addDeserializer(Object.class, new JoynrUntypedObjectDeserializer(typeDeserializer)); objectMapper.registerModule(module); return objectMapper; }
private ObjectMapper getObjectMapper() { objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); // objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, // true); objectMapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, true); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); TypeResolverBuilder<?> joynrTypeResolverBuilder = objectMapper.getSerializationConfig() .getDefaultTyper(SimpleType.construct(Object.class)); return objectMapper; }
private static void provisionAccessControl(Properties properties, String domain) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, ProviderAnnotations.getInterfaceName(MyGpsProvider.class), TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); MasterAccessControlEntry[] provisionedAccessControlEntries = { newMasterAccessControlEntry }; String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); properties.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); }
private static void provisionAccessControl(Properties properties, String domain) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, ProviderAnnotations.getInterfaceName(MyRadioProvider.class), TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); MasterAccessControlEntry[] provisionedAccessControlEntries = { newMasterAccessControlEntry }; String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); properties.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); }
private static void provisionAccessControl(Properties properties, String domain) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, ProviderAnnotations.getInterfaceName(IltProvider.class), TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); MasterAccessControlEntry[] provisionedAccessControlEntries = { newMasterAccessControlEntry }; String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); properties.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); }
private static Properties createAppConfig() throws Exception { Properties appConfig = new Properties(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", invocationParams.getDomain(), ProviderAnnotations.getInterfaceName(EchoProviderImpl.class), TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); MasterAccessControlEntry[] provisionedAccessControlEntries = { newMasterAccessControlEntry }; String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); appConfig.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); return appConfig; }
private static void provisionAccessControl(Properties properties, String domain) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, ProviderAnnotations.getInterfaceName(Provider.class), TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ Permission.YES }); MasterAccessControlEntry[] provisionedAccessControlEntries = { newMasterAccessControlEntry }; String provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); properties.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); }
private Jackson2JsonRedisSerializer jsonRedisSerializer(JavaType javaType) { Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(javaType); ObjectMapper mapper = new ObjectMapper(); mapper.enableDefaultTyping(); mapper.enableDefaultTyping(DefaultTyping.NON_FINAL, As.PROPERTY); mapper.findAndRegisterModules(); mapper.registerModule(new Jackson2HalModule()); mapper.setHandlerInstantiator(new Jackson2HalModule.HalHandlerInstantiator(new DefaultRelProvider(), null, null)); jackson2JsonRedisSerializer.setObjectMapper(mapper); return jackson2JsonRedisSerializer; }
public JsonJacksonCodec() { init(mapObjectMapper); // type info inclusion TypeResolverBuilder<?> mapTyper = new DefaultTypeResolverBuilder(DefaultTyping.NON_FINAL) { public boolean useForType(JavaType t) { switch (_appliesFor) { case NON_CONCRETE_AND_ARRAYS: while (t.isArrayType()) { t = t.getContentType(); } // fall through case OBJECT_AND_NON_CONCRETE: return (t.getRawClass() == Object.class) || !t.isConcrete(); case NON_FINAL: while (t.isArrayType()) { t = t.getContentType(); } // to fix problem with wrong long to int conversion if (t.getRawClass() == Long.class) { return true; } return !t.isFinal(); // includes Object.class default: //case JAVA_LANG_OBJECT: return (t.getRawClass() == Object.class); } } }; mapTyper.init(JsonTypeInfo.Id.CLASS, null); mapTyper.inclusion(JsonTypeInfo.As.PROPERTY); mapObjectMapper.setDefaultTyping(mapTyper); }
@Test public void shouldDeserializeWithTypeInformation() throws IOException { final ObjectMapper unit = unit(module()) .enableDefaultTypingAsProperty(DefaultTyping.OBJECT_AND_NON_CONCRETE, "type") .disable(FAIL_ON_UNKNOWN_PROPERTIES); final String content = "{\"type\":\"org.javamoney.moneta.Money\",\"amount\":29.95,\"currency\":\"EUR\"}"; final M amount = unit.readValue(content, type); // type information is ignored?! assertThat(amount, is(instanceOf(type))); }
private static String createJsonFor(String directoriesUrl) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); setObjectMapperOnCapabilitiesUtils(objectMapper); String channelId = "discoverydirectory_channelid"; String participantId = "capabilitiesdirectory_participantid"; GlobalDiscoveryEntry discoveryEntry = CapabilityUtils.newGlobalDiscoveryEntry(new Version(0, 1), "io.joynr", GlobalCapabilitiesDirectory.INTERFACE_NAME, participantId, new ProviderQos(), System.currentTimeMillis(), Long.MAX_VALUE, "", new ChannelAddress(directoriesUrl, channelId)); String accessParticipantId = "domainaccesscontroller_participantid"; GlobalDiscoveryEntry accessControlEntry = CapabilityUtils.newGlobalDiscoveryEntry(new Version(0, 1), "io.joynr", GlobalDomainAccessController.INTERFACE_NAME, accessParticipantId, new ProviderQos(), System.currentTimeMillis(), Long.MAX_VALUE, "", new InProcessAddress()); List<DiscoveryEntry> entries = new ArrayList<>(); entries.add(discoveryEntry); entries.add(accessControlEntry); return objectMapper.writeValueAsString(entries); }
private void provisionAccessControl(Properties properties, String domain, String[] interfaceNames) { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); List<MasterAccessControlEntry> allEntries = new ArrayList<>(); for (String interfaceName : interfaceNames) { MasterAccessControlEntry newMasterAccessControlEntry = new MasterAccessControlEntry("*", domain, interfaceName, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, TrustLevel.LOW, new TrustLevel[]{ TrustLevel.LOW }, "*", Permission.YES, new Permission[]{ joynr.infrastructure.DacTypes.Permission.YES }); allEntries.add(newMasterAccessControlEntry); } MasterAccessControlEntry[] provisionedAccessControlEntries = allEntries.toArray(new MasterAccessControlEntry[allEntries.size()]); String provisionedAccessControlEntriesAsJson; try { provisionedAccessControlEntriesAsJson = objectMapper.writeValueAsString(provisionedAccessControlEntries); properties.setProperty(StaticDomainAccessControlProvisioning.PROPERTY_PROVISIONED_MASTER_ACCESSCONTROLENTRIES, provisionedAccessControlEntriesAsJson); } catch (JsonProcessingException e) { LOG.error("Error parsing JSON.", e); } }
@Before public void setUp() throws Exception { objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); Field objectMapperField = CapabilityUtils.class.getDeclaredField("objectMapper"); objectMapperField.setAccessible(true); objectMapperField.set(CapabilityUtils.class, objectMapper); }
@Before public void setUp() throws Exception { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); Field objectMapperField = CapabilityUtils.class.getDeclaredField("objectMapper"); objectMapperField.setAccessible(true); objectMapperField.set(CapabilityUtils.class, objectMapper); }
public JsonMessageSerializerModule() { objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); objectMapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true); // objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true); objectMapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, true); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); objectMapper.enableDefaultTypingAsProperty(DefaultTyping.JAVA_LANG_OBJECT, "_typeName"); TypeResolverBuilder<?> joynrTypeResolverBuilder = objectMapper.getSerializationConfig() .getDefaultTyper(SimpleType.construct(Object.class)); SimpleModule module = new SimpleModule("NonTypedModule", new Version(1, 0, 0, "", "", "")); module.addSerializer(new JoynrEnumSerializer()); module.addSerializer(new JoynrListSerializer()); module.addSerializer(new JoynrArraySerializer()); TypeDeserializer typeDeserializer = joynrTypeResolverBuilder.buildTypeDeserializer(objectMapper.getDeserializationConfig(), SimpleType.construct(Object.class), null); module.addDeserializer(Request.class, new RequestDeserializer(objectMapper)); module.addDeserializer(OneWayRequest.class, new OneWayRequestDeserializer(objectMapper)); module.addDeserializer(Object.class, new JoynrUntypedObjectDeserializer(typeDeserializer)); module.setMixInAnnotation(Throwable.class, ThrowableMixIn.class); objectMapper.registerModule(module); }
protected void initTypeInclusion(ObjectMapper mapObjectMapper) { TypeResolverBuilder<?> mapTyper = new DefaultTypeResolverBuilder(DefaultTyping.NON_FINAL) { public boolean useForType(JavaType t) { switch (_appliesFor) { case NON_CONCRETE_AND_ARRAYS: while (t.isArrayType()) { t = t.getContentType(); } // fall through case OBJECT_AND_NON_CONCRETE: return (t.getRawClass() == Object.class) || !t.isConcrete(); case NON_FINAL: while (t.isArrayType()) { t = t.getContentType(); } // to fix problem with wrong long to int conversion if (t.getRawClass() == Long.class) { return true; } if (t.getRawClass() == XMLGregorianCalendar.class) { return false; } return !t.isFinal(); // includes Object.class default: // case JAVA_LANG_OBJECT: return (t.getRawClass() == Object.class); } } }; mapTyper.init(JsonTypeInfo.Id.CLASS, null); mapTyper.inclusion(JsonTypeInfo.As.PROPERTY); mapObjectMapper.setDefaultTyping(mapTyper); // warm up codec try { byte[] s = mapObjectMapper.writeValueAsBytes(1); mapObjectMapper.readValue(s, Object.class); } catch (IOException e) { throw new IllegalStateException(e); } }
@Bean(name = OBJECT_MAPPER_BEAN_NAME) public ObjectMapper queuedTaskHolderObjectMapper() { return new ObjectMapper().enableDefaultTyping(DefaultTyping.NON_FINAL); }
public JsonDataConverter() { this(new ObjectMapper()); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); objectMapper.enableDefaultTyping(DefaultTyping.NON_FINAL); }
public ClassAliasTypeResolverBuilder(final DefaultTyping typing) { super(typing); }
@Before public void setUp() { builder = new ClassAliasTypeResolverBuilder(DefaultTyping.NON_FINAL); }
public RegisteredTypeResolverBuilder(DefaultTyping typing, MarshallerServiceClassRegistry registry) { super(typing); this.registry = registry; }