public TableAxis(final NakedObjectAssociation[] columns) { this.columns = columns; widths = new int[columns.length]; columnName = new String[columns.length]; for (int i = 0; i < widths.length; i++) { columnName[i] = columns[i].getName(); } }
public final String getName() { return field.getName(); }
public String invalidReason(final ObjectValidityContext context) { final StringBuilder buf = new StringBuilder(); final NakedObject nakedObject = context.getTarget(); for (final NakedObjectAssociation property : nakedObject.getSpecification().getAssociations( NakedObjectAssociationFilters.PROPERTIES)) { // ignore hidden properties if (property.isVisible(context.getSession(), nakedObject).isVetoed()) { continue; } // ignore disabled properties if (property.isUsable(context.getSession(), nakedObject).isVetoed()) { continue; } final OneToOneAssociation otoa = (OneToOneAssociation) property; final NakedObject value = otoa.get(nakedObject); if (otoa.isAssociationValid(nakedObject, value).isVetoed()) { if (buf.length() > 0) { buf.append(", "); } buf.append(property.getName()); } } if (buf.length() > 0) { return "Invalid properties: " + buf.toString(); } return null; }
public String invalidReason(final ObjectValidityContext context) { final StringBuilder buf = new StringBuilder(); final NakedObject nakedObject = context.getTarget(); for (final NakedObjectAssociation property : nakedObject.getSpecification().getAssociations( NakedObjectAssociationFilters.PROPERTIES)) { // ignore hidden properties if (property.isVisible(context.getSession(), nakedObject).isVetoed()) { continue; } // ignore disabled properties if (property.isUsable(context.getSession(), nakedObject).isVetoed()) { continue; } final OneToOneAssociation otoa = (OneToOneAssociation) property; final NakedObject value = otoa.get(nakedObject); if (otoa.isAssociationValid(nakedObject, value).isVetoed()) { if (buf.length() > 0) { buf.append(", "); } buf.append(property.getName()); } } if (buf.length() > 0) { return "Invalid properties: " + buf.toString(); } return null; }
LOG.warn("No data found for " + referenceOid + " so field '" + field.getName() + "' not set in object '" + object.titleString() + "'"); } else {
final NakedObject collection = field.get(object); if (collection == null) { throw new ObjectPersistenceException("Collection " + field.getName() + " does not exist in " + object.getSpecification().getFullName());
final NakedObject collection = field.get(object); if (collection == null) { throw new ObjectPersistenceException("Collection " + field.getName() + " does not exist in " + object.getSpecification().getFullName());
private Consent setFieldOfMatchingType(final NakedObject targetAdapter, final NakedObject sourceAdapter) { if (targetAdapter.isTransient() && sourceAdapter.isPersistent()) { // TODO: use Facet for this test instead. return new Veto("Can't set field in persistent object with reference to non-persistent object"); } final NakedObjectAssociation[] fields = targetAdapter.getSpecification().getAssociations( NakedObjectAssociationFilters.dynamicallyVisible(NakedObjectsContext.getAuthenticationSession(), targetAdapter)); for (final NakedObjectAssociation fld : fields) { if (!fld.isOneToOneAssociation()) { continue; } if (!sourceAdapter.getSpecification().isOfType(fld.getSpecification())) { continue; } if (fld.get(targetAdapter) != null) { continue; } final Consent associationValid = ((OneToOneAssociation) fld).isAssociationValid(targetAdapter, sourceAdapter); if (associationValid.isAllowed()) { return associationValid.setDescription("Set field " + fld.getName()); } } // TODO: use Facet for this test instead return new Veto(String.format("No empty field accepting object of type %s in %s", sourceAdapter.getSpecification() .getSingularName(), title())); }
if (collection == null) { throw new ObjectPersistenceException( "Collection " + field.getName() + " does not exist in " + object.getSpecification().getFullName());
debug.appendln("Name", field.getName()); final String type = field.isOneToManyAssociation() ? "Collection" : field.isOneToOneAssociation() ? "Object" : "Unknown"; debug.appendln("Type", type);
final NakedObjectAssociation field = fields[i]; sortOptions.add(new AbstractUserAction("Sort by " + field.getName()) { @Override public void execute(final Workspace workspace, final View view, final Location at) {
table.addColumnHeader(fields[i].getName());
fieldBlock.add(factory.createInlineBlock("label", field.getName(), null)); fieldBlock.add(factory.createInlineBlock("separator", ": ", null));
fieldBlock.add(factory.createInlineBlock("label", field.getName(), null)); fieldBlock.add(factory.createInlineBlock("separator", ": ", null));
final NakedObjectAssociation fld = allFields[j]; fields[i] = fld; names[i] = fld.getName(); descriptions[i] = fld.getDescription();
final NakedObjectAssociation fld = allFields[j]; fields[i] = fld; names[i] = fld.getName(); descriptions[i] = fld.getDescription();
throw new UnknownTypeException(field.getName());
table.addColumnHeader(columnAssociation.getName());