// PageDirective Adapter");
Logger.log(Logger.ERROR, "model should never be null in PageDirective Adapter");
return;
}
EmbeddedTypeHandler potentialNewandler = null;
IContentDescription contentDescription = getContentDescription(model.getStructuredDocument());
Object prop = contentDescription.getProperty(IContentDescriptionForJSP.CONTENT_FAMILY_ATTRIBUTE);
if (prop != null) {
if (ContentTypeFamilyForHTML.HTML_FAMILY.equals(prop)) {
potentialNewandler = EmbeddedTypeRegistryImpl.getInstance().getTypeFor("text/html");
}
}
if (potentialNewandler == null) {
/*
* getHandler should always return something (never null), based
* on the rules in the factory.
*/
potentialNewandler = getHandlerFor(this.cachedContentType);
}
/*
* we do this check for re-init here, instead of in setEmbeddedType,
* since setEmbeddedType is called during the normal initializtion
* process, when re-init is not needed (since there is no content)
*/
if (embeddedTypeHandler == null) {
setEmbeddedType(potentialNewandler);
}
else if (potentialNewandler != null && embeddedTypeHandler != potentialNewandler) {
/*
* changing this embedded handler here may be in the middle of a
* notify loop. That's why we set that "it's needed". Then the
* model decides when its "safe" to actually do the re-init.
*
* be sure to hold oldHandler in temp var or else setEmbeddedType
* will "reset" it before modelReinitNeeded(oldHandler, handler)
* is called
*
*/
EmbeddedTypeHandler oldHandler = embeddedTypeHandler;
setEmbeddedType(potentialNewandler);
modelReinitNeeded(oldHandler, potentialNewandler);
}
}