Changeset 30386

Show
Ignore:
Timestamp:
02/21/08 01:08:43 (9 months ago)
Author:
tdelprat
Message:

NXP-2104

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-transform-core/src/main/java/org/nuxeo/ecm/platform/transform/ejb/NXTransformBean.java

    r28924 r30386  
    7878    } 
    7979 
     80    public Plugin getPluginByMimeTypes(String sourceMT, String destinationMT) 
     81    { 
     82        if (getService() != null) { 
     83            return getService().getPluginByMimeTypes(sourceMT, destinationMT); 
     84        } 
     85        return null; 
     86    } 
     87 
    8088    public Transformer getTransformerByName(String name) { 
    8189        if (getService() != null) { 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-transform-core/src/main/java/org/nuxeo/ecm/platform/transform/service/TransformService.java

    r28924 r30386  
    3838import org.nuxeo.ecm.platform.transform.service.extensions.PluginExtensionPointHandler; 
    3939import org.nuxeo.ecm.platform.transform.service.extensions.TransformerExtensionPointHandler; 
     40import org.nuxeo.ecm.platform.transform.transformer.TransformerImpl; 
    4041import org.nuxeo.runtime.model.ComponentContext; 
    4142import org.nuxeo.runtime.model.ComponentName; 
     
    122123    } 
    123124 
     125    public Plugin getPluginByMimeTypes(String sourceMT, String destinationMT) 
     126    { 
     127        for (String pluginName : pluginsRegistry.getKeys()) 
     128        { 
     129            Plugin plugin = pluginsRegistry.getObjectByName(pluginName); 
     130 
     131            if (plugin.getSourceMimeTypes().contains(sourceMT)) 
     132            { 
     133                if (plugin.getDestinationMimeType().contains(destinationMT)) 
     134                    return plugin; 
     135            } 
     136        } 
     137        log.debug("Can not find registred plugin for transforming " + sourceMT + " to " + destinationMT); 
     138        return null; 
     139    } 
     140 
    124141    public Transformer getTransformerByName(String name) { 
    125         return transformersRegistry.getObjectByName(name); 
     142        Transformer transformer= transformersRegistry.getObjectByName(name); 
     143        if (transformer==null) 
     144        { 
     145            // try a create a dummy transformer that simply wraps a single Plugin 
     146            Plugin plugin = getPluginByName(name); 
     147            if (plugin!=null) 
     148            { 
     149                transformer = new TransformerImpl(); 
     150                transformer.setName(name); 
     151                List<String> chain = new ArrayList<String>(); 
     152                chain.add(name); 
     153                transformer.setPluginChains(chain); 
     154                transformersRegistry.register(name, transformer); 
     155            } 
     156        } 
     157        return transformer; 
    126158    } 
    127159