本文整理了Java中org.datanucleus.ExecutionContext.getNucleusContext()
方法的一些代码示例,展示了ExecutionContext.getNucleusContext()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.getNucleusContext()
方法的具体详情如下:
包路径:org.datanucleus.ExecutionContext
类名称:ExecutionContext
方法名:getNucleusContext
暂无
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
/**
* Get the properties and associated values currently in effect for the
* persistence manager. Changing entries in the map will not have affect
* the configuration of the persistence manager.
* @return map of properties in effect
* @since JDO3.1
*/
public Map<String, Object> getProperties()
{
assertIsOpen();
Map<String, Object> pmProps = new HashMap<String, Object>();
Map<String, Object> ecProps = ec.getProperties();
Iterator<Map.Entry<String, Object>> propertiesIter = ecProps.entrySet().iterator();
Configuration conf = ec.getNucleusContext().getConfiguration();
while (propertiesIter.hasNext())
{
Map.Entry<String, Object> entry = propertiesIter.next();
String ecPropName = entry.getKey();
// Return with javax.jdo name if this is an internal property name
String pmPropName = conf.getPropertyNameWithInternalPropertyName(ecPropName, "javax.jdo");
pmProps.put(pmPropName!=null ? pmPropName : ecPropName, entry.getValue());
}
return pmProps;
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
/**
* Gets the object that is embedded within the current entry.
* @return the object
*/
private Object fetchEmbedded()
{
// use embedded meta data from field
EmbeddedMetaData embeddedMetaData = mmd.getEmbeddedMetaData();
// use field meta data from embedded meta data
List<AbstractMemberMetaData> embeddedMmds = new ArrayList<AbstractMemberMetaData>(Arrays.asList(embeddedMetaData.getMemberMetaData()));
// TODO Provide the owner in this call
ObjectProvider embeddedSM = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, effectiveClassMetaData, null, -1);
// TODO Why get SM just after creating it????
embeddedSM = getEmbeddedObjectProvider(embeddedSM.getObject());
return fetchMerge(embeddedSM, attributes, embeddedMmds, embeddedMetaData);
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Accessor for the result set concurrency for the specified query.
* Uses the persistence property "datanucleus.rdbms.query.resultSetConcurrency" and allows it to be overridden by the query extension of the same name.
* Checks both the NucleusContext and also the query extensions.
* @param query The query
* @return The result set concurrency string
*/
public static String getResultSetConcurrencyForQuery(Query query)
{
String rsConcurrencyString = query.getExecutionContext().getNucleusContext().getConfiguration().getStringProperty(RDBMSPropertyNames.PROPERTY_RDBMS_QUERY_RESULT_SET_CONCURRENCY);
Object rsConcurrencyExt = query.getExtension(RDBMSPropertyNames.PROPERTY_RDBMS_QUERY_RESULT_SET_CONCURRENCY);
if (rsConcurrencyExt != null)
{
rsConcurrencyString = (String)rsConcurrencyExt;
}
return rsConcurrencyString;
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Accessor for the result set type for the specified query.
* Uses the persistence property "datanucleus.rdbms.query.resultSetType" and allows it to be overridden by the query extension of the same name.
* Checks both the NucleusContext and also the query extensions.
* @param query The query
* @return The result set type string
*/
public static String getResultSetTypeForQuery(Query query)
{
String rsTypeString = query.getExecutionContext().getNucleusContext().getConfiguration().getStringProperty(RDBMSPropertyNames.PROPERTY_RDBMS_QUERY_RESULT_SET_TYPE);
Object rsTypeExt = query.getExtension(RDBMSPropertyNames.PROPERTY_RDBMS_QUERY_RESULT_SET_TYPE);
if (rsTypeExt != null)
{
rsTypeString = (String)rsTypeExt;
}
return rsTypeString;
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
public ManagedConnection retrieveConnection()
{
// Obtain a new connection
// Note : it may be worthwhile to use the PM's connection here however where a Sequence doesnt yet
// exist the connection would then be effectively dead until the end of the tx
// The way around this would be to find a way of checking for existence of the sequence
Configuration conf = ec.getNucleusContext().getConfiguration();
int isolationLevel = TransactionUtils.getTransactionIsolationLevelForName(conf.getStringProperty(PropertyNames.PROPERTY_VALUEGEN_TXN_ISOLATION));
this.mconn = ((RDBMSStoreManager)storeManager).getConnectionManager().getConnection(isolationLevel);
return mconn;
}
代码示例来源:origin: org.datanucleus/datanucleus-neodatis
/**
* Convenience method to return the (DataNucleus) identity for an object.
* @param obj The object
* @param acmd MetaData for the object
* @param ec execution context
* @param odb ODB to use
* @return The DataNucleus identity
*/
public static Object getIdentityForObject(Object obj, AbstractClassMetaData acmd, ExecutionContext ec,
ODB odb)
{
if (acmd.getIdentityType() == IdentityType.DATASTORE)
{
long datastoreId = odb.getObjectId(obj).getObjectId();
return ec.getNucleusContext().getIdentityManager().getDatastoreId(datastoreId);
}
else if (acmd.getIdentityType() == IdentityType.APPLICATION)
{
return ec.getNucleusContext().getIdentityManager().getApplicationId(obj, acmd);
}
else
{
// Nondurable identity
return null;
}
}
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
public static Delete getDeleteForObject(ObjectProvider op, Table schemaTable) throws IOException
{
byte[] rowKey = (byte[]) op.getAssociatedValue("HBASE_ROW_KEY");
if (rowKey == null)
{
AbstractClassMetaData cmd = op.getClassMetaData();
final Object[] pkValues = findKeyObjects(op, cmd, schemaTable);
ExecutionContext ec = op.getExecutionContext();
if (ec.getStatistics() != null)
{
// Add to statistics
ec.getStatistics().incrementNumReads();
}
rowKey = getRowKeyForPkValue(pkValues, ec.getNucleusContext());
}
return new Delete(rowKey);
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
public static Put getPutForObject(ObjectProvider op, Table schemaTable) throws IOException
{
byte[] rowKey = (byte[]) op.getAssociatedValue("HBASE_ROW_KEY");
if (rowKey == null)
{
AbstractClassMetaData cmd = op.getClassMetaData();
final Object[] pkValues = findKeyObjects(op, cmd, schemaTable);
ExecutionContext ec = op.getExecutionContext();
if (ec.getStatistics() != null)
{
// Add to statistics
ec.getStatistics().incrementNumReads();
}
rowKey = getRowKeyForPkValue(pkValues, ec.getNucleusContext());
}
return new Put(rowKey);
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
public static Get getGetForObject(ObjectProvider op, Table schemaTable) throws IOException
{
byte[] rowKey = (byte[]) op.getAssociatedValue("HBASE_ROW_KEY");
if (rowKey == null)
{
AbstractClassMetaData cmd = op.getClassMetaData();
final Object[] pkValues = findKeyObjects(op, cmd, schemaTable);
ExecutionContext ec = op.getExecutionContext();
if (ec.getStatistics() != null)
{
// Add to statistics
ec.getStatistics().incrementNumReads();
}
rowKey = getRowKeyForPkValue(pkValues, ec.getNucleusContext());
}
return new Get(rowKey);
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to return the ObjectProvider for an embedded PC object (element, key, value).
* It creates one if the element is not currently managed.
* @param op ObjectProvider of the owner
* @param obj The embedded PC object
* @param ownerMmd The meta data for the owner field
* @param pcType Object type for the embedded object (see ObjectProvider EMBEDDED_PC etc)
* @return The ObjectProvider
*/
public ObjectProvider getObjectProviderForEmbeddedPCObject(ObjectProvider op, Object obj, AbstractMemberMetaData ownerMmd, short pcType)
{
ExecutionContext ec = op.getExecutionContext();
ObjectProvider objOP = ec.findObjectProvider(obj);
if (objOP == null)
{
objOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, op, ownerMmd.getAbsoluteFieldNumber());
}
objOP.setPcObjectType(pcType);
return objOP;
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
private void updateEmbedded(Object value)
{
if (value == null)
{
// create an instance with empty fields, this will null-out all embedded fields
// TODO Populate the owner object in this call
ObjectProvider embeddedSM = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, effectiveClassMetaData, null, -1);
int[] allMemberPositions = embeddedSM.getClassMetaData().getAllMemberPositions();
for (int i : allMemberPositions)
{
embeddedSM.makeDirty(i);
}
//get the dummy value
value = embeddedSM.getObject();
}
ObjectProvider embeddedSM = ec.findObjectProvider(value);
boolean insert = false;
if (embeddedSM == null)
{
embeddedSM = getEmbeddedObjectProvider(value);
insert = true;
}
EmbeddedMetaData embeddedMetaData = mmd.getEmbeddedMetaData();
List<AbstractMemberMetaData> embeddedMmds = new ArrayList<AbstractMemberMetaData>(Arrays.asList(embeddedMetaData.getMemberMetaData()));
updateMerge(embeddedSM, attributes, embeddedMmds, embeddedMetaData, insert);
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to extract the value of the persistable from a ResultSet.
* @param ec The ExecutionContext
* @param resultSet The ResultSet
* @param exprIndex The parameter positions in the result set to use.
* @param ownerOP ObjectProvider for the owning object
* @param fieldNumber Absolute number of field in owner object
* @return The (deserialised) persistable object
*/
public Object getObject(ExecutionContext ec, ResultSet resultSet, int[] exprIndex, ObjectProvider ownerOP, int fieldNumber)
{
Object obj = getDatastoreMapping(0).getObject(resultSet, exprIndex[0]);
if (obj != null)
{
// Assign a StateManager to the serialised object if none present
ObjectProvider embSM = ec.findObjectProvider(obj);
if (embSM == null || ec.getApiAdapter().getExecutionContext(obj) == null)
{
ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, ownerOP, fieldNumber);
}
}
return obj;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-neodatis
/**
* Utility method to process the passed persistable object.
* We know that this object has no ObjectProvider when it comes in here.
* @param fieldNumber Absolute field number
* @param pc The persistable object
*/
protected void processPersistable(int fieldNumber, Object pc)
{
ExecutionContext ec = op.getExecutionContext();
ObjectProvider theSM = null;
// No ObjectProvider but object returned to us by NeoDatis so we know it is persistent
// Connect a ObjectProvider in P_CLEAN state with all fields loaded
AbstractClassMetaData acmd = ec.getMetaDataManager().getMetaDataForClass(pc.getClass(),
ec.getClassLoaderResolver());
Object id = NeoDatisUtils.getIdentityForObject(pc, acmd, ec, odb);
theSM = ec.getNucleusContext().getObjectProviderFactory().newForPersistentClean(ec, id, pc);
// Recurse to all fields of this object since just assigned its ObjectProvider
theSM.provideFields(theSM.getClassMetaData().getAllMemberPositions(),
new AssignObjectProviderFieldManager(theSM, odb));
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager ffm = new FetchEmbeddedFieldManager(embOP, result, embMmds, table);
embOP.replaceFields(embCmd.getAllMemberPositions(), ffm);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to extract the value of the persistable from a ResultSet.
* @param ec execution context
* @param resultSet The ResultSet
* @param exprIndex The parameter positions in the result set to use.
* @param ownerOP ObjectProvider for the owning object
* @param fieldNumber Absolute number of field in owner object
* @return The (deserialised) persistable object
*/
public Object getObject(ExecutionContext ec, ResultSet resultSet, int[] exprIndex, ObjectProvider ownerOP, int fieldNumber)
{
Object obj = getDatastoreMapping(0).getObject(resultSet, exprIndex[0]);
ApiAdapter api = ec.getApiAdapter();
if (api.isPersistable(obj))
{
// Assign a StateManager to the serialised object if none present
ObjectProvider embSM = ec.findObjectProvider(obj);
if (embSM == null || api.getExecutionContext(obj) == null)
{
ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, ownerOP, fieldNumber);
}
}
return obj;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Accessor for the ObjectProvider of the embedded PC object when provided with the owner object.
* @param ownerOP ObjectProvider of the owner
* @return ObjectProvider of the embedded object
*/
private ObjectProvider getObjectProviderForEmbeddedObject(ObjectProvider ownerOP)
{
AbstractMemberMetaData theMmd = getRealMemberMetaData();
Object value = ownerOP.provideField(theMmd.getAbsoluteFieldNumber()); // Owner (non-embedded) PC
TypeManager typeManager = ownerOP.getExecutionContext().getTypeManager();
value = mmd.isSingleCollection() ? typeManager.getContainerAdapter(value).iterator().next() : value;
if (value == null)
{
return null;
}
ExecutionContext ec = ownerOP.getExecutionContext();
ObjectProvider thisOP = ec.findObjectProvider(value);
if (thisOP == null)
{
// Assign a ObjectProvider to manage our embedded object
thisOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, value, false, ownerOP, theMmd.getAbsoluteFieldNumber());
thisOP.setPcObjectType(objectType);
}
return thisOP;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-excel
public Object fetchObjectField(int fieldNumber)
{
ClassLoaderResolver clr = ec.getClassLoaderResolver();
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber);
RelationType relationType = mmd.getRelationType(clr);
// Special cases
if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null))
{
// Embedded field
if (RelationType.isRelationSingleValued(relationType))
{
// TODO Null detection
List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>();
embMmds.add(mmd);
AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr);
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, sheet, rowNumber, embMmds, table);
embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM);
return embOP.getObject();
}
else if (RelationType.isRelationMultiValued(relationType))
{
throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with Excel");
}
}
return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType);
}
代码示例来源:origin: org.datanucleus/datanucleus-odf
@Override
public Object fetchObjectField(int fieldNumber)
{
ClassLoaderResolver clr = ec.getClassLoaderResolver();
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber);
RelationType relationType = mmd.getRelationType(clr);
// Special cases
if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null))
{
// Embedded field
if (RelationType.isRelationSingleValued(relationType))
{
// TODO Null detection
List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>();
embMmds.add(mmd);
AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr);
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, row, embMmds, table);
embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM);
return embOP.getObject();
}
else if (RelationType.isRelationMultiValued(relationType))
{
throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with ODF");
}
}
return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType);
}
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.getNucleusContext().getObjectProviderFactory().newForDetached(ec, pc, getObjectId(pc), null);
pc.dnReplaceStateManager(op);
op.retrieveDetachState(op);
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.getNucleusContext().getObjectProviderFactory().newForDetached(ec, pc, getObjectId(pc), null);
pc.dnReplaceStateManager(op);
op.retrieveDetachState(op);
内容来源于网络,如有侵权,请联系作者删除!