Skip to content

Commit 45a3987

Browse files
committed
package refactor and configurations
1 parent 03265e2 commit 45a3987

28 files changed

+334
-110
lines changed

src-impl/br/com/facilit/eclipse/ext/rclass/Activator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.jface.resource.ImageDescriptor;
44
import org.eclipse.ui.plugin.AbstractUIPlugin;

src-impl/br/com/facilit/eclipse/ext/rclass/Application.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.core.resources.ICommand;
44
import org.eclipse.core.resources.IProject;
@@ -13,7 +13,7 @@
1313
import org.eclipse.ui.IWorkbench;
1414
import org.eclipse.ui.PlatformUI;
1515

16-
import rclass.util.ResourceScannerImpl;
16+
import br.com.facilit.eclipse.ext.rclass.util.ResourceScannerImpl;
1717

1818
/**
1919
* This class controls all aspects of the application's execution

src-impl/br/com/facilit/eclipse/ext/rclass/ApplicationActionBarAdvisor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.jface.action.IMenuManager;
44
import org.eclipse.ui.IWorkbenchWindow;

src-impl/br/com/facilit/eclipse/ext/rclass/ApplicationWorkbenchAdvisor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
44
import org.eclipse.ui.application.WorkbenchAdvisor;

src-impl/br/com/facilit/eclipse/ext/rclass/ApplicationWorkbenchWindowAdvisor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.swt.graphics.Point;
44
import org.eclipse.ui.application.ActionBarAdvisor;

src-impl/br/com/facilit/eclipse/ext/rclass/Perspective.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass;
1+
package br.com.facilit.eclipse.ext.rclass;
22

33
import org.eclipse.ui.IPageLayout;
44
import org.eclipse.ui.IPerspectiveFactory;

src-impl/br/com/facilit/eclipse/ext/rclass/actions/GenerateRClassProjectAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass.actions;
1+
package br.com.facilit.eclipse.ext.rclass.actions;
22

33
import org.eclipse.core.commands.AbstractHandler;
44
import org.eclipse.core.commands.ExecutionEvent;
@@ -9,7 +9,7 @@
99
import org.eclipse.jface.viewers.IStructuredSelection;
1010
import org.eclipse.ui.handlers.HandlerUtil;
1111

12-
import rclass.util.ResourceScannerImpl;
12+
import br.com.facilit.eclipse.ext.rclass.util.ResourceScannerImpl;
1313

1414
public class GenerateRClassProjectAction extends AbstractHandler {
1515

src-impl/br/com/facilit/eclipse/ext/rclass/actions/GenerateRClassWorkspaceAction.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass.actions;
1+
package br.com.facilit.eclipse.ext.rclass.actions;
22

33
import org.eclipse.core.resources.IProject;
44
import org.eclipse.core.resources.ResourcesPlugin;
@@ -9,7 +9,7 @@
99
import org.eclipse.ui.IWorkbenchWindow;
1010
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
1111

12-
import rclass.util.ResourceScannerImpl;
12+
import br.com.facilit.eclipse.ext.rclass.util.ResourceScannerImpl;
1313

1414
/**
1515
* Our sample action implements workbench action delegate. The action proxy will
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,39 @@
1-
package rclass.actions;
1+
package br.com.facilit.eclipse.ext.rclass.actions;
22

33
import java.util.Map;
44

55
import org.eclipse.core.resources.IProject;
6-
import org.eclipse.core.resources.IResourceDelta;
76
import org.eclipse.core.runtime.CoreException;
87
import org.eclipse.core.runtime.IProgressMonitor;
98
import org.eclipse.core.runtime.jobs.Job;
109
import org.eclipse.jdt.core.JavaCore;
10+
import org.eclipse.jface.preference.IPreferenceStore;
1111
import org.eclipse.wst.jsdt.web.core.internal.IncrementalBuilder;
1212

13-
import rclass.util.ResourceScannerImpl;
13+
import br.com.facilit.eclipse.ext.rclass.Activator;
14+
import br.com.facilit.eclipse.ext.rclass.service.util.StringPool;
15+
import br.com.facilit.eclipse.ext.rclass.util.ResourceScannerImpl;
1416

1517
public class GenerateRClassWorkspaceBuilder extends IncrementalBuilder {
1618

1719
public GenerateRClassWorkspaceBuilder() {
1820
super();
1921
}
22+
2023
@Override
2124
public IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
2225

23-
IProject iProject = getProject();
24-
25-
Job resourceScanner = new ResourceScannerImpl(JavaCore.create(iProject),
26-
"Workspace Language Resource Scanner - " + iProject.getName());
26+
IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
27+
28+
if (preferenceStore.getBoolean(StringPool.PREF_AUTO_BUILD_KEY)) {
29+
30+
IProject iProject = getProject();
2731

28-
resourceScanner.schedule();
32+
Job resourceScanner = new ResourceScannerImpl(JavaCore.create(iProject),
33+
"Workspace Language Resource Scanner - " + iProject.getName());
34+
35+
resourceScanner.schedule();
36+
}
2937

3038
return null;
3139
}
@@ -40,11 +48,16 @@ protected void clean(IProgressMonitor monitor) {
4048

4149
protected void fullBuild(final IProgressMonitor monitor) throws CoreException {
4250

43-
IProject iProject = getProject();
51+
IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
52+
53+
if (preferenceStore.getBoolean(StringPool.PREF_AUTO_BUILD_KEY)) {
54+
55+
IProject iProject = getProject();
4456

45-
Job resourceScanner = new ResourceScannerImpl(JavaCore.create(iProject),
46-
"Workspace Language Resource Scanner - " + iProject.getName());
57+
Job resourceScanner = new ResourceScannerImpl(JavaCore.create(iProject),
58+
"Workspace Language Resource Scanner - " + iProject.getName());
4759

48-
resourceScanner.schedule();
60+
resourceScanner.schedule();
61+
}
4962
}
5063
}
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,13 @@
1-
package rclass.actions;
1+
package br.com.facilit.eclipse.ext.rclass.actions;
22

3-
import org.eclipse.core.resources.ICommand;
4-
import org.eclipse.core.resources.IProject;
5-
import org.eclipse.core.resources.IProjectDescription;
6-
import org.eclipse.core.resources.ResourcesPlugin;
7-
import org.eclipse.core.runtime.CoreException;
3+
import br.com.facilit.eclipse.ext.rclass.util.GenerateRClassBuilderUtil;
84

95
public class StartupAction implements org.eclipse.ui.IStartup {
106

11-
final String BUILDER_ID = "RClass.rclassBuilder";
12-
137
@Override
148
public void earlyStartup() {
15-
addIncrementalProjectBuilder();
9+
10+
GenerateRClassBuilderUtil.updateAllProjectBuilder();
1611
}
1712

18-
private void addIncrementalProjectBuilder() {
19-
20-
for (IProject iProject : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
21-
22-
try {
23-
24-
addIncrementalProjectBuilder(iProject);
25-
26-
} catch (Exception e) {
27-
28-
e.printStackTrace();
29-
}
30-
}
31-
}
32-
33-
private void addIncrementalProjectBuilder(IProject project) throws CoreException {
34-
35-
IProjectDescription desc = project.getDescription();
36-
ICommand[] commands = desc.getBuildSpec();
37-
boolean found = false;
38-
39-
for (int i = 0; i < commands.length; ++i) {
40-
if (commands[i].getBuilderName().equals(BUILDER_ID)) {
41-
found = true;
42-
break;
43-
}
44-
}
45-
if (!found) {
46-
ICommand command = desc.newCommand();
47-
command.setBuilderName(BUILDER_ID);
48-
ICommand[] newCommands = new ICommand[commands.length + 1];
49-
50-
System.arraycopy(commands, 0, newCommands, 1, commands.length);
51-
newCommands[0] = command;
52-
desc.setBuildSpec(newCommands);
53-
project.setDescription(desc, null);
54-
}
55-
}
5613
}

src-impl/br/com/facilit/eclipse/ext/rclass/extensions/FileModificationValidator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass.extensions;
1+
package br.com.facilit.eclipse.ext.rclass.extensions;
22

33
import org.eclipse.core.resources.IFile;
44
import org.eclipse.core.resources.team.FileModificationValidationContext;

src-impl/br/com/facilit/eclipse/ext/rclass/extensions/SaveActionCleanUp.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass.extensions;
1+
package br.com.facilit.eclipse.ext.rclass.extensions;
22

33
import org.eclipse.core.runtime.CoreException;
44
import org.eclipse.core.runtime.IProgressMonitor;

src-impl/br/com/facilit/eclipse/ext/rclass/models/LanguageEntryImpl.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package rclass.models;
1+
package br.com.facilit.eclipse.ext.rclass.models;
22

3-
import rclass.models.impl.LanguageEntryModelImpl;
3+
import br.com.facilit.eclipse.ext.rclass.models.impl.LanguageEntryModelImpl;
4+
import br.com.facilit.eclipse.ext.rclass.service.models.LanguageEntry;
45

56
public class LanguageEntryImpl extends LanguageEntryModelImpl implements LanguageEntry {
67

src-impl/br/com/facilit/eclipse/ext/rclass/models/impl/LanguageEntryModelImpl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package rclass.models.impl;
1+
package br.com.facilit.eclipse.ext.rclass.models.impl;
22

33
import java.util.HashMap;
44
import java.util.Map;
55

6-
import rclass.models.LanguageEntryModel;
6+
import br.com.facilit.eclipse.ext.rclass.service.models.LanguageEntryModel;
77

88
public abstract class LanguageEntryModelImpl implements LanguageEntryModel {
99

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
package br.com.facilit.eclipse.ext.rclass.ui;
2+
3+
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
4+
import org.eclipse.core.runtime.preferences.InstanceScope;
5+
import org.eclipse.jface.preference.BooleanFieldEditor;
6+
import org.eclipse.jface.preference.FieldEditorPreferencePage;
7+
import org.eclipse.jface.preference.StringFieldEditor;
8+
import org.eclipse.ui.IWorkbench;
9+
import org.eclipse.ui.IWorkbenchPreferencePage;
10+
11+
import br.com.facilit.eclipse.ext.rclass.Activator;
12+
import br.com.facilit.eclipse.ext.rclass.service.util.StringPool;
13+
import br.com.facilit.eclipse.ext.rclass.util.GenerateRClassBuilderUtil;
14+
15+
public class RClassPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
16+
17+
private BooleanFieldEditor autoBuildFieldEditor;
18+
private StringFieldEditor languagePatternFieldEditor;
19+
private StringFieldEditor skipDirectoryFieldEditor;
20+
21+
public RClassPreferencePage() {
22+
23+
super(GRID);
24+
}
25+
26+
@Override
27+
public void init(IWorkbench arg0) {
28+
29+
setPreferenceStore(Activator.getDefault().getPreferenceStore());
30+
31+
}
32+
33+
private void initAutoBuildField(IEclipsePreferences prefs) {
34+
35+
autoBuildFieldEditor = new BooleanFieldEditor(StringPool.PREF_AUTO_BUILD_KEY,
36+
"&Auto generate R Class on build", getFieldEditorParent());
37+
38+
addField(autoBuildFieldEditor);
39+
}
40+
41+
private void initLanguagePatternField(IEclipsePreferences prefs) {
42+
43+
languagePatternFieldEditor = new StringFieldEditor(StringPool.PREF_LANGUAGE_PATTERN_KEY,
44+
"&Language pattern file name:", getFieldEditorParent());
45+
46+
languagePatternFieldEditor.setStringValue(prefs.get(StringPool.PREF_LANGUAGE_PATTERN_KEY,
47+
StringPool.PREF_LANGUAGE_PATTERN_VALUE));
48+
49+
addField(languagePatternFieldEditor);
50+
}
51+
52+
private void initSkipDirectoryPatternField(IEclipsePreferences prefs) {
53+
54+
skipDirectoryFieldEditor = new StringFieldEditor(StringPool.PREF_SKIP_DIRECTORY_KEY, "Skip directory pattern:",
55+
getFieldEditorParent());
56+
57+
skipDirectoryFieldEditor.setStringValue(prefs.get(StringPool.PREF_SKIP_DIRECTORY_KEY,
58+
StringPool.PREF_SKIP_DIRECTORY_VALUE));
59+
60+
addField(skipDirectoryFieldEditor);
61+
}
62+
63+
@Override
64+
protected void createFieldEditors() {
65+
66+
IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(Activator.PLUGIN_ID);
67+
68+
initAutoBuildField(prefs);
69+
70+
initLanguagePatternField(prefs);
71+
72+
initSkipDirectoryPatternField(prefs);
73+
}
74+
75+
@Override
76+
public void performApply() {
77+
save();
78+
}
79+
80+
@Override
81+
public boolean performOk() {
82+
83+
return save();
84+
85+
}
86+
87+
private boolean save() {
88+
89+
try {
90+
91+
autoBuildFieldEditor.store();
92+
languagePatternFieldEditor.store();
93+
skipDirectoryFieldEditor.store();
94+
95+
GenerateRClassBuilderUtil.updateAllProjectBuilder();
96+
97+
return true;
98+
99+
} catch (Exception e) {
100+
101+
e.printStackTrace();
102+
103+
return false;
104+
}
105+
}
106+
}

src-impl/br/com/facilit/eclipse/ext/rclass/util/ClassWriterUtil.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package rclass.util;
1+
package br.com.facilit.eclipse.ext.rclass.util;
22

33
import java.io.File;
44
import java.io.FileOutputStream;
@@ -11,7 +11,7 @@
1111

1212
import org.eclipse.jdt.core.IPackageFragment;
1313

14-
import rclass.models.LanguageEntry;
14+
import br.com.facilit.eclipse.ext.rclass.service.models.LanguageEntry;
1515
import freemarker.cache.ClassTemplateLoader;
1616
import freemarker.template.Configuration;
1717
import freemarker.template.Template;
@@ -20,7 +20,7 @@
2020

2121
public class ClassWriterUtil {
2222

23-
private static final String TEMPLATE_FOLDER = "/rclass/content/";
23+
private static final String TEMPLATE_FOLDER = "/br/com/facilit/eclipse/ext/rclass/content";
2424
private static final String R_CLASS_TEMPLATE_FILE = "rclass.tpl";
2525
private static final String OUTPUT_LANG_TEMPLATE_FILE = "outputlclass.tpl";
2626

0 commit comments

Comments
 (0)