private IgnorableMetaDataBehavior getIgnorableMetaDataBehavior() { return IgnorableMetaDataBehavior.valueOf( metaDataManager.getNucleusContext().getStoreManager() .getStringProperty(IGNORABLE_META_DATA_BEHAVIOR_PROPERTY), IgnorableMetaDataBehavior.WARN); }
private boolean getBooleanConfigProperty(String configProperty) { return metaDataManager.getNucleusContext().getPersistenceConfiguration().getBooleanProperty(configProperty); }
@Override public MemberMetadata setConverter(AttributeConverter<?, ?> conv) { Class attrType = JDOTypeConverterUtils.getAttributeTypeForAttributeConverter(conv.getClass(), getInternal().getType()); Class dbType = JDOTypeConverterUtils.getDatastoreTypeForAttributeConverter(conv.getClass(), attrType, null); // Register the TypeConverter under the name of the AttributeConverter class JDOTypeConverter typeConv = new JDOTypeConverter(conv); TypeManager typeMgr = getInternal().getMetaDataManager().getNucleusContext().getTypeManager(); typeMgr.registerConverter(conv.getClass().getName(), typeConv, attrType, dbType, false, null); getInternal().setTypeConverterName(conv.getClass().getName()); return this; }
@Override public ElementMetadata setConverter(AttributeConverter<?, ?> conv) { String elemType = ((AbstractMemberMetaData)getInternal().getParent()).getCollection().getElementType(); Class elemCls = getInternal().getMetaDataManager().getNucleusContext().getClassLoaderResolver(null).classForName(elemType); Class attrType = JDOTypeConverterUtils.getAttributeTypeForAttributeConverter(conv.getClass(), elemCls); Class dbType = JDOTypeConverterUtils.getDatastoreTypeForAttributeConverter(conv.getClass(), attrType, null); // Register the TypeConverter under the name of the AttributeConverter class JDOTypeConverter typeConv = new JDOTypeConverter(conv); TypeManager typeMgr = getInternal().getMetaDataManager().getNucleusContext().getTypeManager(); typeMgr.registerConverter(conv.getClass().getName(), typeConv, attrType, dbType, false, null); getInternal().addExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME, conv.getClass().getName()); return this; }
@Override public ValueMetadata setConverter(AttributeConverter<?, ?> conv) { String valType = ((AbstractMemberMetaData)getInternal().getParent()).getMap().getKeyType(); Class valCls = getInternal().getMetaDataManager().getNucleusContext().getClassLoaderResolver(null).classForName(valType); Class attrType = JDOTypeConverterUtils.getAttributeTypeForAttributeConverter(conv.getClass(), valCls); Class dbType = JDOTypeConverterUtils.getDatastoreTypeForAttributeConverter(conv.getClass(), attrType, null); // Register the TypeConverter under the name of the AttributeConverter class JDOTypeConverter typeConv = new JDOTypeConverter(conv); TypeManager typeMgr = getInternal().getMetaDataManager().getNucleusContext().getTypeManager(); typeMgr.registerConverter(conv.getClass().getName(), typeConv, attrType, dbType, false, null); getInternal().addExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME, conv.getClass().getName()); return this; }
@Override public KeyMetadata setConverter(AttributeConverter<?, ?> conv) { String keyType = ((AbstractMemberMetaData)getInternal().getParent()).getMap().getKeyType(); Class keyCls = getInternal().getMetaDataManager().getNucleusContext().getClassLoaderResolver(null).classForName(keyType); Class attrType = JDOTypeConverterUtils.getAttributeTypeForAttributeConverter(conv.getClass(), keyCls); Class dbType = JDOTypeConverterUtils.getDatastoreTypeForAttributeConverter(conv.getClass(), attrType, null); // Register the TypeConverter under the name of the AttributeConverter class JDOTypeConverter typeConv = new JDOTypeConverter(conv); TypeManager typeMgr = getInternal().getMetaDataManager().getNucleusContext().getTypeManager(); typeMgr.registerConverter(conv.getClass().getName(), typeConv, attrType, dbType, false, null); getInternal().addExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME, conv.getClass().getName()); return this; }
URL convertedPath = metaDataMgr.getNucleusContext().getPluginManager().resolveURLAsFileURL(classURL); String classFilename = convertedPath.getFile(); classFile = StringUtils.getFileForFilename(classFilename);
@Override public AttributeConverter<?, ?> getConverter() { String typeConverterName = getInternal().getTypeConverterName(); if (typeConverterName != null) { JDOTypeConverter typeConv = (JDOTypeConverter)getInternal().getMetaDataManager().getNucleusContext().getTypeManager().getTypeConverterForName(typeConverterName); return typeConv.getAttributeConverter(); } return null; }
if (mmgr.getNucleusContext().getConfiguration().getBooleanProperty(PropertyNames.PROPERTY_METADATA_ALWAYS_DETACHABLE))
/** * Check if the class is PersistenceCapable or is going to be enhanced based on the metadata * @param className the class name * @return true if PersistenceCapable */ public boolean isPersistenceCapable(String className) { if (className.equals(this.className) && (cmd.getPersistenceModifier() != ClassPersistenceModifier.PERSISTENCE_AWARE)) { // This is our class so yes it will be PersistenceCapable return true; } NucleusContext nucleusCtx = metaDataMgr.getNucleusContext(); Class cls = clr.classForName(className, new EnhancerClassLoader(clr)); // Allow for Enhancer classLoader if (nucleusCtx.getApiAdapter().isPersistable(cls)) { // The specified class is already PersistenceCapable return true; } AbstractClassMetaData cmd = metaDataMgr.getMetaDataForClass(cls, clr); if (cmd != null && cmd.getPersistenceModifier() == ClassPersistenceModifier.PERSISTENCE_CAPABLE) { // The specified class has MetaData and will be enhanced shortly return true; } return false; }
@Override public AttributeConverter<?, ?> getConverter() { ElementMetaData elemmd = getInternal(); if (elemmd.hasExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME)) { String typeConverterName = elemmd.getValueForExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME); if (typeConverterName != null) { JDOTypeConverter typeConv = (JDOTypeConverter)getInternal().getMetaDataManager().getNucleusContext().getTypeManager().getTypeConverterForName(typeConverterName); return typeConv.getAttributeConverter(); } } return null; }
@Override public AttributeConverter<?, ?> getConverter() { ValueMetaData valmd = getInternal(); if (valmd.hasExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME)) { String typeConverterName = valmd.getValueForExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME); if (typeConverterName != null) { JDOTypeConverter typeConv = (JDOTypeConverter)getInternal().getMetaDataManager().getNucleusContext().getTypeManager().getTypeConverterForName(typeConverterName); return typeConv.getAttributeConverter(); } } return null; }
@Override public AttributeConverter<?, ?> getConverter() { KeyMetaData keymd = getInternal(); if (keymd.hasExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME)) { String typeConverterName = keymd.getValueForExtension(MetaData.EXTENSION_MEMBER_TYPE_CONVERTER_NAME); if (typeConverterName != null) { JDOTypeConverter typeConv = (JDOTypeConverter)getInternal().getMetaDataManager().getNucleusContext().getTypeManager().getTypeConverterForName(typeConverterName); return typeConv.getAttributeConverter(); } } return null; }
ClassLoaderResolver clr = mmgr.getNucleusContext().getClassLoaderResolver(null);
public static LdapName getSearchBase(AbstractClassMetaData cmd, MetaDataManager mmgr) { LdapName dn; try { LocationInfo locationInfo = getLocationInfo(cmd); if (locationInfo.parentFieldName != null && locationInfo.dn == null) { AbstractMemberMetaData parentMmd = cmd.getMetaDataForMember(locationInfo.parentFieldName); ClassLoaderResolver clr = mmgr.getNucleusContext().getClassLoaderResolver(null); AbstractClassMetaData parentFieldCmd = mmgr.getMetaDataForClass(parentMmd.getType(), clr); LdapName parentDn = getSearchBase(parentFieldCmd, mmgr); dn = composeDistinguishedName(parentDn, null, locationInfo.suffix); } else { dn = locationInfo.dn; } } catch (InvalidNameException e) { throw new NucleusDataStoreException(e.getMessage(), e); } return dn; }
TypeManager typeMgr = mmgr.getNucleusContext().getTypeManager(); if (typeMgr.getTypeConverterForName(converterCls.getName()) == null)
TypeManager typeMgr = mmgr.getNucleusContext().getTypeManager(); ClassLoaderResolver clr = mmgr.getNucleusContext().getClassLoaderResolver(null); Class converterCls = clr.classForName(converterAttr); if (typeMgr.getTypeConverterForName(converterCls.getName()) == null) AttributeConverter conv = JDOTypeConverterUtils.createAttributeConverter(mmgr.getNucleusContext(), converterCls);
TypeManager typeMgr = mmgr.getNucleusContext().getTypeManager(); ClassLoaderResolver clr = mmgr.getNucleusContext().getClassLoaderResolver(null); Class converterCls = clr.classForName(converterAttr); if (typeMgr.getTypeConverterForName(converterCls.getName()) == null) AttributeConverter conv = JDOTypeConverterUtils.createAttributeConverter(mmgr.getNucleusContext(), converterCls);
cmd.setRequiresExtent(getAttr(attrs, "requires-extent")); String detachableStr = getAttr(attrs, "detachable"); if (mmgr.getNucleusContext().getConfiguration().getBooleanProperty(PropertyNames.PROPERTY_METADATA_ALWAYS_DETACHABLE))
imd.setSchema(getAttr(attrs, "schema")); String detachableStr = getAttr(attrs, "detachable"); if (mmgr.getNucleusContext().getConfiguration().getBooleanProperty(PropertyNames.PROPERTY_METADATA_ALWAYS_DETACHABLE))