1*cd519653SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*cd519653SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*cd519653SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*cd519653SAndrew Rist  * distributed with this work for additional information
6*cd519653SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*cd519653SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*cd519653SAndrew Rist  * "License"); you may not use this file except in compliance
9*cd519653SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*cd519653SAndrew Rist  *
11*cd519653SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*cd519653SAndrew Rist  *
13*cd519653SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*cd519653SAndrew Rist  * software distributed under the License is distributed on an
15*cd519653SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*cd519653SAndrew Rist  * KIND, either express or implied.  See the License for the
17*cd519653SAndrew Rist  * specific language governing permissions and limitations
18*cd519653SAndrew Rist  * under the License.
19*cd519653SAndrew Rist  *
20*cd519653SAndrew Rist  *************************************************************/
21*cd519653SAndrew Rist 
22*cd519653SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package org.openoffice.netbeans.modules.office.loader;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import org.openide.loaders.*;
27cdf0e10cSrcweir import org.openide.filesystems.FileObject;
28cdf0e10cSrcweir import org.openide.actions.*;
29cdf0e10cSrcweir import org.openide.util.NbBundle;
30cdf0e10cSrcweir import org.openide.util.actions.SystemAction;
31cdf0e10cSrcweir 
32cdf0e10cSrcweir import org.openoffice.idesupport.zip.ParcelZipper;
33cdf0e10cSrcweir 
34cdf0e10cSrcweir public class ParcelContentsFolderDataLoader extends UniFileLoader {
35cdf0e10cSrcweir 
ParcelContentsFolderDataLoader()36cdf0e10cSrcweir     public ParcelContentsFolderDataLoader() {
37cdf0e10cSrcweir         this("org.openide.loaders.DataFolder");
38cdf0e10cSrcweir     }
39cdf0e10cSrcweir 
ParcelContentsFolderDataLoader(String recognizedObjectClass)40cdf0e10cSrcweir     protected ParcelContentsFolderDataLoader(String recognizedObjectClass) {
41cdf0e10cSrcweir         super(recognizedObjectClass);
42cdf0e10cSrcweir     }
43cdf0e10cSrcweir 
defaultDisplayName()44cdf0e10cSrcweir     protected String defaultDisplayName() {
45cdf0e10cSrcweir         return "Office Script Parcel Contents";
46cdf0e10cSrcweir     }
47cdf0e10cSrcweir 
initialize()48cdf0e10cSrcweir     protected void initialize() {
49cdf0e10cSrcweir         super.initialize();
50cdf0e10cSrcweir     }
51cdf0e10cSrcweir 
findPrimaryFile(FileObject fo)52cdf0e10cSrcweir     protected FileObject findPrimaryFile(FileObject fo) {
53cdf0e10cSrcweir         if (fo.isFolder() == false ||
54cdf0e10cSrcweir             fo.getName().equals(ParcelZipper.CONTENTS_DIRNAME) == false ||
55cdf0e10cSrcweir             fo.getFileObject(ParcelZipper.PARCEL_DESCRIPTOR_XML) == null)
56cdf0e10cSrcweir             return null;
57cdf0e10cSrcweir 
58cdf0e10cSrcweir         return fo;
59cdf0e10cSrcweir     }
60cdf0e10cSrcweir 
defaultActions()61cdf0e10cSrcweir     protected SystemAction[] defaultActions() {
62cdf0e10cSrcweir         return new SystemAction[] {
63cdf0e10cSrcweir             SystemAction.get(PasteAction.class),
64cdf0e10cSrcweir             SystemAction.get(NewAction.class),
65cdf0e10cSrcweir             // null,
66cdf0e10cSrcweir             // SystemAction.get(PropertiesAction.class),
67cdf0e10cSrcweir         };
68cdf0e10cSrcweir     }
69cdf0e10cSrcweir 
createMultiObject(FileObject primaryFile)70cdf0e10cSrcweir     protected MultiDataObject createMultiObject(FileObject primaryFile)
71cdf0e10cSrcweir         throws DataObjectExistsException {
72cdf0e10cSrcweir         return new ParcelContentsFolder(primaryFile, this);
73cdf0e10cSrcweir     }
74cdf0e10cSrcweir 
createPrimaryEntry(MultiDataObject obj, FileObject primaryFile)75cdf0e10cSrcweir     protected MultiDataObject.Entry createPrimaryEntry(MultiDataObject obj, FileObject primaryFile) {
76cdf0e10cSrcweir         return new FileEntry.Folder(obj, primaryFile);
77cdf0e10cSrcweir     }
78cdf0e10cSrcweir }
79