|
@@ -37,25 +37,27 @@ |
37 |
37 |
|
mParent = new ObjectProxy( this, "Parent" ); |
38 |
38 |
|
} |
39 |
39 |
|
|
|
40 |
+ |
@Override |
40 |
41 |
|
public MetaDataOwnerManager<ObjectMetaData, AttributeMetaData> getOwnerManager() |
41 |
42 |
|
{ |
42 |
43 |
|
return mOwnerManager; |
43 |
44 |
|
} |
44 |
45 |
|
|
45 |
|
- |
@SuppressWarnings({"UnusedDeclaration"}) |
46 |
|
- |
public String[] getPotentialRelateToObjectNamesFor( AttributeSet pAttributeSet ) |
|
46 |
+ |
public String[] getPotentialRelateToObjectNamesFor( AttributeSet pAttributeSet, boolean pVirtual ) |
47 |
47 |
|
{ |
48 |
|
- |
// todo: ... |
49 |
48 |
|
ObjectMetaData[] zSortedObjectMetaDatas = getSystemMetaData().getSortedObjectMetaDatas(); |
50 |
49 |
|
List<String> rv = new ArrayList<String>( zSortedObjectMetaDatas.length ); |
51 |
50 |
|
for ( ObjectMetaData zMD : zSortedObjectMetaDatas ) |
52 |
51 |
|
{ |
53 |
|
- |
// if ( zMD.isEditable() ) |
54 |
|
- |
rv.add( zMD.getName() ); |
|
52 |
+ |
if ( pAttributeSet.isAcceptableAsRelatedTo( zMD, pVirtual ) ) |
|
53 |
+ |
{ |
|
54 |
+ |
rv.add( zMD.getName() ); |
|
55 |
+ |
} |
55 |
56 |
|
} |
56 |
57 |
|
return rv.toArray( new String[rv.size()] ); |
57 |
58 |
|
} |
58 |
59 |
|
|
|
60 |
+ |
@Override |
59 |
61 |
|
public int compareTo( ObjectMetaData them ) |
60 |
62 |
|
{ |
61 |
63 |
|
int zDiff = this.getObjectSet().getSortIndex() - them.getObjectSet().getSortIndex(); |
|
@@ -138,7 +140,7 @@ |
138 |
140 |
|
{ |
139 |
141 |
|
verifyEditability(); |
140 |
142 |
|
|
141 |
|
- |
add( mAttributeFactory.createAttributeMetaDataSimple( getObjectSet(), Mode.New, isEditable(), A_CommonPairedToOne.TYPE, false, "Varies" ) ); |
|
143 |
+ |
add( mAttributeFactory.createAttributeMetaDataRelatedPersisted( getObjectSet(), Mode.New, isEditable(), A_CommonPairedToOne.TYPE, "Varies" ) ); |
142 |
144 |
|
} |
143 |
145 |
|
|
144 |
146 |
|
public void createAttributeMetaDataPairedToOne() |
|
@@ -175,11 +177,7 @@ |
175 |
177 |
|
|
176 |
178 |
|
if ( pType.getFAT().isRelated() ) |
177 |
179 |
|
{ |
178 |
|
- |
if ( pVirtual ) |
179 |
|
- |
{ |
180 |
|
- |
return add( mAttributeFactory.createAttributeMetaDataRelatedVirtual( getObjectSet(), Mode.New, isEditable(), pType, null ) ); |
181 |
|
- |
} |
182 |
|
- |
return add( mAttributeFactory.createAttributeMetaDataRelatedPersisted( getObjectSet(), Mode.New, isEditable(), pType, null ) ); |
|
180 |
+ |
return add( createRelatedAttributeMetaData( pType, pVirtual ) ); |
183 |
181 |
|
} |
184 |
182 |
|
if ( pType instanceof AbstractValidOptionsAttributeTypeSimple ) |
185 |
183 |
|
{ |
|
@@ -189,6 +187,15 @@ |
189 |
187 |
|
return add( mAttributeFactory.createAttributeMetaDataSimple( getObjectSet(), Mode.New, isEditable(), pType, pVirtual, null ) ); |
190 |
188 |
|
} |
191 |
189 |
|
|
|
190 |
+ |
private AttributeMetaData createRelatedAttributeMetaData( AttributeType pType, boolean pVirtual ) |
|
191 |
+ |
{ |
|
192 |
+ |
if ( pVirtual ) |
|
193 |
+ |
{ |
|
194 |
+ |
return mAttributeFactory.createAttributeMetaDataRelatedVirtual( getObjectSet(), Mode.New, isEditable(), pType, null ); |
|
195 |
+ |
} |
|
196 |
+ |
return mAttributeFactory.createAttributeMetaDataRelatedPersisted( getObjectSet(), Mode.New, isEditable(), pType, null ); |
|
197 |
+ |
} |
|
198 |
+ |
|
192 |
199 |
|
public void remove( AttributeMetaData pAMD ) |
193 |
200 |
|
{ |
194 |
201 |
|
getOwnerManager().remove( pAMD ); |
|
@@ -307,6 +314,7 @@ |
307 |
314 |
|
return mPropertyManager.updatePropertyValue( pName, pValue ); |
308 |
315 |
|
} |
309 |
316 |
|
|
|
317 |
+ |
@Override |
310 |
318 |
|
public void setRehydrated() |
311 |
319 |
|
{ |
312 |
320 |
|
if ( getOwnerManager().available( AttributeMetaData.ID_NAME ) && mObjectSet.requireID() ) |
|
@@ -319,6 +327,7 @@ |
319 |
327 |
|
super.setRehydrated(); |
320 |
328 |
|
} |
321 |
329 |
|
|
|
330 |
+ |
@Override |
322 |
331 |
|
public String validatePersistable() |
323 |
332 |
|
{ |
324 |
333 |
|
String error = super.validatePersistable(); |
|
@@ -442,6 +451,7 @@ |
442 |
451 |
|
return shrunk; |
443 |
452 |
|
} |
444 |
453 |
|
|
|
454 |
+ |
@Override |
445 |
455 |
|
public void addLines( List<String> pCollector, int pIndent ) |
446 |
456 |
|
{ |
447 |
457 |
|
pCollector.add( "" ); |
|
@@ -546,6 +556,7 @@ |
546 |
556 |
|
return getOwner(); |
547 |
557 |
|
} |
548 |
558 |
|
|
|
559 |
+ |
@Override |
549 |
560 |
|
public void setUpView( NameValuesComponent pNameValuesComponent ) |
550 |
561 |
|
{ |
551 |
562 |
|
pNameValuesComponent.setValue( ObjectNames.NAME, getName() ); |
|
@@ -571,6 +582,7 @@ |
571 |
582 |
|
/** |
572 |
583 |
|
* @return null or Error |
573 |
584 |
|
*/ |
|
585 |
+ |
@Override |
574 |
586 |
|
public String saveFromView( NameValuesComponent pNameValuesComponent ) |
575 |
587 |
|
{ |
576 |
588 |
|
ChangeHandler zChanges = new ChangeHandler(); |
|
@@ -670,6 +682,7 @@ |
670 |
682 |
|
mNewName = pNewName; |
671 |
683 |
|
} |
672 |
684 |
|
|
|
685 |
+ |
@Override |
673 |
686 |
|
public void commitChange() |
674 |
687 |
|
{ |
675 |
688 |
|
mCaller.setName( mNewName ); |
|
@@ -697,6 +710,7 @@ |
697 |
710 |
|
mNewNotes = pNewNotes; |
698 |
711 |
|
} |
699 |
712 |
|
|
|
713 |
+ |
@Override |
700 |
714 |
|
public void commitChange() |
701 |
715 |
|
{ |
702 |
716 |
|
mCaller.setNotes( mNewNotes ); |
|
@@ -717,6 +731,7 @@ |
717 |
731 |
|
mNewParent = pNewParent; |
718 |
732 |
|
} |
719 |
733 |
|
|
|
734 |
+ |
@Override |
720 |
735 |
|
public void commitChange() |
721 |
736 |
|
{ |
722 |
737 |
|
setParentName( mNewParent ); |