1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 package org.openoffice.comp.test;
25 
26 
27 /*
28  * ImageShrink.java
29  *
30  * Created on 4. Mai 2002, 20:25
31  */
32 
33 
34 /**
35  *
36  * @author  dschulten
37  */
38 
39 import com.sun.star.lang.XSingleServiceFactory;
40 import com.sun.star.lang.XMultiServiceFactory;
41 import com.sun.star.registry.XRegistryKey;
42 import com.sun.star.comp.loader.FactoryHelper;
43 import com.sun.star.lib.uno.helper.WeakBase;
44 
45 public class ImageShrink extends WeakBase
46         implements com.sun.star.lang.XServiceInfo,
47                    org.openoffice.test.XImageShrinkFilter {
48 
49     com.sun.star.uno.XComponentContext xComponentContext = null;
50 
51 
52     // maintain a static implementation id for all instances of ImageShrink
53     // initialized by the first call to getImplementationId()
54     static byte[] _implementationId;
55 
56 
57     // hold the service name in a private static member variable of the class
58     protected static final String __serviceName = "org.openoffice.test.ImageShrink";
59 
60 
61     String destDir = "";
62     String sourceDir = "";
63     boolean cancel = false;
64     com.sun.star.awt.Size dimension = new com.sun.star.awt.Size();
65 
66     /** Creates a new instance of ImageShrink */
ImageShrink()67     public ImageShrink() {
68     }
69 
70 
71         // static __getServiceFactory() Implementation
__getServiceFactory(String implName, XMultiServiceFactory multiFactory, com.sun.star.registry.XRegistryKey regKey)72     public static XSingleServiceFactory __getServiceFactory(String implName,
73             XMultiServiceFactory multiFactory,
74             com.sun.star.registry.XRegistryKey regKey)    {
75 
76         com.sun.star.lang.XSingleServiceFactory xSingleServiceFactory = null;
77         if (implName.equals( ImageShrink.class.getName()) )
78             xSingleServiceFactory = FactoryHelper.getServiceFactory( ImageShrink.class,
79                   ImageShrink.__serviceName,
80                   multiFactory,
81                   regKey);
82 
83         return xSingleServiceFactory;
84     }
85 
86     // This method not longer necessary since OOo 3.4 where the component registration
87     // was changed to passive component registration. For more details see
88     // http://wiki.services.openoffice.org/wiki/Passive_Component_Registration
89 
90 //     public static boolean __writeRegistryServiceInfo(XRegistryKey regKey)          {
91 //         //System.out.println(ImageShrink.class.getName());
92 //         return FactoryHelper.writeRegistryServiceInfo( ImageShrink.class.getName(),
93 //                                                     __serviceName,
94 //                                                     regKey);
95 //     }
96 
97     // XFilter implementation  (a sub-interface of XImageShrinkFilter)
cancel()98     public void cancel() {
99         cancel = true;
100     }
101 
filter(com.sun.star.beans.PropertyValue[] propertyValue)102     public boolean filter(com.sun.star.beans.PropertyValue[] propertyValue) {
103         // while cancel = false,
104         // scale images found in sourceDir according to dimension and
105         // write them to destDir, using the image file format given in
106 
107 
108         // []propertyValue
109         return true;
110     }
111 
112     // XImageShrink implementation (a sub-interface of XImageShrinkFilter)
getDestinationDirectory()113     public String getDestinationDirectory() {
114         return destDir;
115     }
116 
getDimension()117     public com.sun.star.awt.Size getDimension() {
118         return dimension;
119     }
120 
getSourceDirectory()121     public String getSourceDirectory() {
122         return sourceDir;
123     }
124 
setDestinationDirectory(String str)125     public void setDestinationDirectory(String str) {
126         destDir = str;
127     }
128 
setDimension(com.sun.star.awt.Size size)129     public void setDimension(com.sun.star.awt.Size size) {
130         dimension = size;
131     }
132 
setSourceDirectory(String str)133     public void setSourceDirectory(String str) {
134         sourceDir = str;
135     }
136 
137     //XServiceInfo implementation
getImplementationName( )138     public String getImplementationName(  ) {
139         return getClass().getName();
140     }
141 
supportsService(String serviceName)142     public boolean supportsService(String serviceName) {
143         if ( serviceName.equals( __serviceName))
144             return true;
145         return false;
146     }
147 
getSupportedServiceNames( )148     public String[] getSupportedServiceNames(  ) {
149         return new String[] { __serviceName };
150     }
151 
152 }
153