/*
* The contents of this file are subject to the terms of the Common Development
* and Distribution License (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at http://www.netbeans.org/cddl.html
* or http://www.netbeans.org/cddl.txt.
*
* When distributing Covered Code, include this CDDL Header Notice in each file
* and include the License file at http://www.netbeans.org/cddl.txt.
* If applicable, add the following below the CDDL Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* The Original Software is NetBeans. The Initial Developer of the Original
* Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.gwt4nb;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.HashMap;
import java.util.LinkedHashSet;
import javax.swing.event.ChangeListener;
import org.openide.WizardDescriptor;
import org.openide.WizardDescriptor.Panel;
import org.netbeans.spi.project.ui.templates.support.Templates;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.loaders.DataFolder;
import org.openide.loaders.DataObject;
/**
* New com.google.gwt.i18n.client.Constants.
*
* @author Tomasz.Slota@Sun.COM
* @author lemnik@dev.java.net
* @author see https://github.com/gwt4nb/gwt4nb/
*/
public class NewConstantsWizardIterator implements
WizardDescriptor.InstantiatingIterator<WizardDescriptor> {
private NewConstantsPanel panel;
private WizardDescriptor wizard;
static final String INTERFACE_NAME_PROPERTY = "interfaceName"; // NOI18N
public Set<FileObject> instantiate() throws IOException {
FileObject targetFolder = Templates.getTargetFolder(wizard);
final Map<String, Object> templateParameters = new HashMap<String, Object>(3);
final DataFolder dir = DataFolder.findFolder(targetFolder);
final Set<FileObject> toOpen = new LinkedHashSet<FileObject>(2);
String intf = (String)wizard.getProperty(INTERFACE_NAME_PROPERTY);
DataObject template = DataObject.find(
FileUtil.getConfigFile(
"Templates/GWT/Constants.java")); // NOI18N
toOpen.add(template.createFromTemplate(
dir,
intf,
templateParameters).getPrimaryFile());
template = DataObject.find(
FileUtil.getConfigFile(
"Templates/GWT/Constants.properties")); // NOI18N
toOpen.add(template.createFromTemplate(
dir,
intf,
templateParameters).getPrimaryFile());
return toOpen;
}
public void initialize(WizardDescriptor wizard) {
this.wizard = wizard;
panel = new NewConstantsPanel(Templates.getProject(wizard),
Templates.getTargetFolder(wizard));
}
public void uninitialize(WizardDescriptor wizard) {
panel = null;
}
public Panel<WizardDescriptor> current() {
return panel;
}
public String name() {
return "1"; // NOI18N
}
public boolean hasNext() {
return false;
}
public boolean hasPrevious() {
return false;
}
public void nextPanel() {
// should never be called
}
public void previousPanel() {
// should never be called
}
public void addChangeListener(ChangeListener l) {
}
public void removeChangeListener(ChangeListener l) {
}
public static NewConstantsWizardIterator createIterator(){
return new NewConstantsWizardIterator();
}
}