if (ammd.getOrderMetaData() != null && ammd.getOrderMetaData().getOrdering() != null && !ammd.getOrderMetaData().getOrdering().equals("#PK")) { JPQLPartialCompiler partialCompiler = new JPQLPartialCompiler(ec, helper.compilation, null, parameters); helper.getBuilder().append(" order by "); String orderBy = ammd.getOrderMetaData().getOrdering(); if (orderBy == null || orderBy.length() == 0) { orderBy = "id";
if (ordermd.getColumnName() != null) str.append(" column=\"" + ordermd.getColumnName() + "\""); if (ordermd.getIndexed() != null) str.append(" indexed=\"" + ordermd.getIndexed() + "\""); if (ordermd.getMappedBy() != null) str.append(" mapped-by=\"" + ordermd.getMappedBy() + "\""); ColumnMetaData[] columns = ordermd.getColumnMetaData(); if (columns != null) if (ordermd.getIndexMetaData() != null) str.append(getXMLForMetaData(ordermd.getIndexMetaData(), prefix + indent,indent)); processExtensions(ordermd.getExtensions(), str, prefix, indent);
private void verifyOneToManyOrderBy(AbstractMemberMetaData ammd, AbstractClassMetaData childAcmd) { OrderMetaData omd = ammd.getOrderMetaData(); OrderMetaData.FieldOrder[] fieldOrders = omd.getFieldOrders(); if (fieldOrders == null) { return; } for (OrderMetaData.FieldOrder fieldOrder : omd.getFieldOrders()) { String propertyName = fieldOrder.getFieldName(); AbstractMemberMetaData orderField = childAcmd.getMetaDataForMember(propertyName); if (orderField.hasExtension(DatastoreManager.PK_ID) || orderField.hasExtension(DatastoreManager.PK_NAME)) { throw new InvalidMetaDataException(GAE_LOCALISER, "AppEngine.MetaData.OrderPartOfPK", ammd.getFullFieldName(), propertyName); } } }
private JavaTypeMapping addOrderMapping(AbstractMemberMetaData fmd, JavaTypeMapping orderMapping) { boolean needsOrderMapping = false; OrderMetaData omd = fmd.getOrderMetaData(); if (fmd.hasArray()) { // Array field always has the index mapping needsOrderMapping = true; } else if (List.class.isAssignableFrom(fmd.getType())) { // List field needsOrderMapping = !(omd != null && !omd.isIndexedList()); } else if (java.util.Collection.class.isAssignableFrom(fmd.getType()) && omd != null && omd.isIndexedList() && omd.getMappedBy() == null) { // Collection field with <order> and is indexed list so needs order mapping needsOrderMapping = true; } if (needsOrderMapping) { // if the field is list or array type, add index column if (orderMapping == null) { // Create new order mapping since we need one and we aren't using a shared FK orderMapping = addOrderColumn(fmd); } if (!MetaDataUtils.readRelatedKeysFromParent(storeMgr, fmd)) { getExternalOrderMappings().put(fmd, orderMapping); } } return orderMapping; }
if (omd != null) colmd = (omd.getColumnMetaData() != null && omd.getColumnMetaData().length > 0 ? omd.getColumnMetaData()[0] : null); if (omd.getMappedBy() != null) JavaTypeMapping orderMapping = getMemberMapping(omd.getMappedBy()); if (!(orderMapping instanceof IntegerMapping) && !(orderMapping instanceof LongMapping)) throw new NucleusUserException(Localiser.msg("057022", mmd.getFullFieldName(), omd.getMappedBy())); if (omd.getColumnMetaData() != null && omd.getColumnMetaData().length > 0 && omd.getColumnMetaData()[0].getName() != null) colName = omd.getColumnMetaData()[0].getName(); indexColumnName = idFactory.newColumnIdentifier(colName);
ordermd = new OrderMetaData(); ordermd.setColumnName((String) annotationValues.get("column")); ordermd.setMappedBy((String) annotationValues.get("mappedBy")); ordermd.addColumn(JDOAnnotationUtils.getColumnMetaDataForColumnAnnotation(orderCol)); ordermd.setParent(mmd); mmd.setOrderMetaData(ordermd);
ormd.addColumn(colmd); omd.setIndexMetaData(idxmd); OrderMetaData ordmd = new OrderMetaData(); ordmd.setIndexed(IndexedValue.getIndexedValue(getAttr(attrs, "indexed"))); ordmd.setColumnName(getAttr(attrs, "column")); ordmd.setMappedBy(getAttr(attrs, "mapped-by")); AbstractMemberMetaData fmd = (AbstractMemberMetaData) getStack(); fmd.setOrderMetaData(ordmd);
OrderMetaData ordmd = new OrderMetaData(); ordmd.setOrdering(orderBy); mmd.setOrderMetaData(ordmd); OrderMetaData ordermd = new OrderMetaData(); ordermd.setColumnName(columnName); ordermd.addColumn(colmd); mmd.setOrderMetaData(ordermd); OrderMetaData ordmd = new OrderMetaData(); ordmd.setOrdering("#PK"); // Special value recognised by OrderMetaData mmd.setOrderMetaData(ordmd);
String orderMappedBy = (String)annotationValues.get("mappedBy"); Column[] orderColumns = (Column[])annotationValues.get("columns"); ordermd = new OrderMetaData(orderColumn, null, orderMappedBy); if (orderColumns != null && orderColumns.length > 0) ordermd.addColumn(JDOAnnotationUtils.getColumnMetaDataForColumn(ordermd, orderColumns[j])); ordermd.setParent(mmd); mmd.setOrderMetaData(ordermd);
OrderMetaData ordermd = new OrderMetaData(); ordermd.setColumnName(columnName); ordermd.addColumn(colmd); fmd.setOrderMetaData(ordermd);
if (mmd.getOrderMetaData() != null && !mmd.getOrderMetaData().isIndexedList()) { indexedList = false; if (ordmd != null) { String colName; if (ordmd.getColumnMetaData() != null && ordmd.getColumnMetaData().length > 0 && ordmd.getColumnMetaData()[0].getName() != null) { colName = ordmd.getColumnMetaData()[0].getName(); indexPropName = storeMgr.getIdentifierFactory().newDatastoreFieldIdentifier(colName).getIdentifierName(); sortPredicates.add(sortPredicate); } else { for (OrderMetaData.FieldOrder fieldOrder : mmd.getOrderMetaData().getFieldOrders()) { String orderMemberName = fieldOrder.getFieldName(); AbstractMemberMetaData orderMemberMmd = childCmd.getMetaDataForMember(orderMemberName);
public String getColumn() { return getInternal().getColumnName(); }
public int getNumberOfColumns() { ColumnMetaData[] colmds = getInternal().getColumnMetaData(); return (colmds != null ? colmds.length : 0); }
if (mmd.getOrderMetaData() != null) if (mmd.getOrderMetaData().isIndexedList()) mmd.getOrderMetaData().getColumnMetaData() != null && mmd.getOrderMetaData().getColumnMetaData().length > 0) orderColmd = mmd.getOrderMetaData().getColumnMetaData()[0]; if (orderColmd.getName() == null)
OrderMetaData ordmd = new OrderMetaData(); ordmd.setOrdering(currentString); fmd.setOrderMetaData(ordmd);
public String getMappedBy() { return getInternal().getMappedBy(); }
fmd.setOrderMetaData(new OrderMetaData(currentString));
if (omd != null) { colmd = (omd.getColumnMetaData() != null && omd.getColumnMetaData().length > 0 ? omd.getColumnMetaData()[0] : null); if (omd.getMappedBy() != null) { JavaTypeMapping orderMapping = getMemberMapping(omd.getMappedBy()); if (orderMapping == null) { throw new NucleusUserException(String.format( "Field \"{0}\" has an <order> defined to be persisted into the columns in the element table for element field \"{1}\". This field is not found in the element class.", fmd.getFullFieldName(), omd.getMappedBy())); String.format( "Field \"{0}\" has an <order> defined to be persisted into the column of field \"{1}\". This field is of an invalid type. Must be an int/Integer.", fmd.getFullFieldName(), omd.getMappedBy())); if (omd.getColumnMetaData() != null && omd.getColumnMetaData().length > 0 && omd.getColumnMetaData()[0].getName() != null) { colName = omd.getColumnMetaData()[0].getName(); indexColumnName = idFactory.newDatastoreFieldIdentifier(colName);
if (omd != null && !omd.isIndexedList()) else if (java.util.Collection.class.isAssignableFrom(fmd.getType()) && omd != null && omd.isIndexedList()) if (omd.getMappedBy() != null) orderMapping = getMemberMapping(omd.getMappedBy());
String columnName = metaData.getOrderMetaData().getColumnName(); if (columnName != null) { keyMapping = Collections.singletonMap(columnName, columnName);